計算機解決問題的基本過程課件說課講解_第1頁
計算機解決問題的基本過程課件說課講解_第2頁
計算機解決問題的基本過程課件說課講解_第3頁
計算機解決問題的基本過程課件說課講解_第4頁
計算機解決問題的基本過程課件說課講解_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、計算機解決問題的基本過程課件聽話聰明的計算機p按照指令做事兒p用計算器計算、用Word處理文字、單擊“確定”按鈕確認你的操作p編寫游戲代碼、編寫網(wǎng)頁代碼運算器 程序 原始數(shù)據(jù)輸入設(shè)備存儲器控制器輸出設(shè)備計算結(jié)果存 取數(shù)程序指令輸入命令輸出命令懂事智慧的我們p發(fā)現(xiàn)、分析問題p設(shè)計解決方案(適合于計算機)p完成方案(計算機能夠執(zhí)行)p解決問題y=x2+3x-1 x0y=0 x= 0 Then y = x 2 + 3 * x - 1 Else y =0End IfPrint y=; y;建立分段函數(shù)的數(shù)學模型,即寫出表達式。輸入X的值。判斷X的取值,根據(jù)X的取值,選擇Y的表達式,計算y值。輸出Y的值

2、。計算機解決問題的過程p分析問題問題非正式描述正式化或嚴格化描述精確到底你要解決什么問題建立數(shù)學模型或構(gòu)造模型p設(shè)計算法 精確解決問題的步驟用適當?shù)姆绞桨阉惴蚀_地描述出來p編寫程序用一種計算機能接受的程序設(shè)計語言來描述問題求解的算法p調(diào)試程序查找和改正程序中存在的錯誤,使程序能順利地執(zhí)行,得出正確結(jié)果。算法p概念 算法是在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則。通俗地說就是用計算機求解某一問題的方法,是能被機械地執(zhí)行的動作或指令的有窮集合。 算法p特征p輸入。一個算法有零個或多個輸入,以刻畫運算對象的初始情況。p確定性。算法的每一個步驟必須要確切地定義,不能有歧義。p有窮性。一個算

3、法在執(zhí)行有窮步之后必須結(jié)束。p輸出。算法有一個或多個與輸入有某個特定關(guān)系的輸出。1.能行性。算法中有待執(zhí)行的運算和操作必須是相當基本的,它們都是能夠精確地進行的,算法執(zhí)行者甚至不需要掌握算法的含義即可根據(jù)該算法的每一步驟要求進行操作,并最終得出正確的結(jié)果。輾轉(zhuǎn)相除法求最大公約數(shù) 古希臘數(shù)學家對公約數(shù)求解問題研究提出的算法稱為“輾轉(zhuǎn)相除法”(歐幾里得算法)。具體方法是用較大的數(shù)除以較小的數(shù),余數(shù)和較小的數(shù)構(gòu)成新的一對數(shù),繼續(xù)上面的除法,直到大數(shù)被小數(shù)除盡,則較小的數(shù)就是最大公約數(shù)。例如:求16和12的最大公約數(shù)(16,12) (12,4) (8, 4) (4,4) 算法的描述p用自然語言描述算法

4、 算法的描述語言是人們?nèi)粘S玫恼Z言。自然語言通俗易懂,但其歧義性會導致算法執(zhí)行的不確定性;表述較長會導致算法太長;循環(huán)和分支較多時,很難清晰地表示出來;描述的算法不便翻譯成計算機程序設(shè)計語言。例如:求兩個正整數(shù)m和n的最大公約數(shù)的步驟:p以m除以n,令所得的余數(shù)為r。p若r=0,則輸出結(jié)果n,算法結(jié)束;否則,繼續(xù)步驟3。p令m=n,n=r,并返回步驟1繼續(xù)進行。 將一個問題分為一系列的邏輯步驟,這樣就易于將其轉(zhuǎn)化為一個計算機程序。算法的描述p用流程圖描述算法圖形名稱功能開始/結(jié)束表示算法的開始或結(jié)束輸入/輸出表示算法中變量的輸入或輸出處理表示算法變量的計算與賦值判斷表示算法條件判斷流程線表示算

5、法中的流向連接點表示算法的轉(zhuǎn)接流程圖的基本圖形及其功能用流程圖描述算法清晰簡潔,容易表達選擇結(jié)構(gòu);利于不同環(huán)境的程序設(shè)計。依次完成順序結(jié)構(gòu)第一步第二步第步開始結(jié)束做判斷選擇結(jié)構(gòu)事件X事件A事件B滿足條件嗎?YN開始結(jié)束選擇是指處理過程可能沿著兩個或更多的計算路線進行。不斷重復循環(huán)結(jié)構(gòu)循環(huán)變量變化區(qū)間設(shè)置循環(huán)體循環(huán)變量改變變量在區(qū)間內(nèi)嗎?YN開始結(jié)束重復執(zhí)行一個或多個步驟。求最大公約數(shù)r =m除以n的余數(shù)r=0是否開始結(jié)束輸入正整數(shù)m和n輸出n的值m=n,n=r流程圖描述:繪制流程圖的技巧p開始時要把注意力集中在問題的邏輯上,畫出流程圖的主要執(zhí)行路徑。p主要部分完成之后,加入選擇和循環(huán)。p一個流

6、程圖只有一個起始點和一個結(jié)束點。p盡可能使流程圖和機器無關(guān),不要使用和計算機相關(guān)的術(shù)語。p沒有必要在流程圖中將每個步驟都畫出來,只要描述出那些有意義的即可。p使用一些明確的描述性的詞恰當?shù)乇硎締栴}不要用一些模棱兩可的詞語。p讓其他編程人員或用戶能夠輕松地看懂你的流程圖。分段函數(shù)流程圖以VB語言為例設(shè)計程序Dim x ,y As Integerx = Val(Text1.Text)If x = 0 Then y = x 2 + 3 * x - 1 Else y =0End IfPrint y=; y;y=0y=x2+3x-1x0YN開始結(jié)束輸入X的值輸出y的值算法的描述p用偽代碼描述算法 偽代碼

7、是用介于自然語言和計算機語言之間的文字和符號來描述算法的工具。用偽代碼描述算法回避了程序設(shè)計語言嚴格、煩瑣的書寫格式,容易轉(zhuǎn)換為程序設(shè)計語言,但偽代碼的語句不容易規(guī)范,有時會產(chǎn)生誤解。求最大公約數(shù)自然語言描述:例如:求兩個正整數(shù)m和n的最大公約數(shù)的步驟:p輸入正整數(shù)m和np以m除以n,令所得的余數(shù)為r。p若r=0,則輸出結(jié)果n,算法結(jié)束;否則,繼續(xù)步驟3。p令m=n,n=r,并返回步驟1繼續(xù)進行。r =m除以n的余數(shù)r=0是否開始結(jié)束輸入正整數(shù)m和n輸出n的值m=n,n=r偽代碼描述:最大公約數(shù)Input m,nr=m mod nDo while r0 m=n n =r r =m mod nL

8、oopPrint n流程圖描述:算法在解決問題中的核心地位和重要作用p尋找解決問題的算法實質(zhì)上是尋找問題的解決方案,是要找到描述特定類型問題是如何被解決的指令的集合。 p只有找到了一種可以指導工作執(zhí)行的算法,通過使用算法來得到并轉(zhuǎn)化智慧,我們才可以構(gòu)建一臺可以表現(xiàn)智能行為的機器來執(zhí)行這個工作。機器表現(xiàn)的智能等級受到通過算法轉(zhuǎn)化的智慧所限制。p算法的好壞直接影響著程序的通用性和有效性,影響著問題解決的效率。算法與程序設(shè)計p計算機或者與計算機通信或者與人交流,我們必須將算法轉(zhuǎn)變?yōu)橐粋€清晰的指令的集合,并且將這些指令用程序設(shè)計語言來表示。一般分為:機器語言、匯編語言、高級語言。p一個與計算機兼容的算

9、法的描述稱為一個程序。p程序設(shè)計是設(shè)計程序的過程,就是把計算機運作指令有計劃地串在一起,使計算機完成我們所期望的工作,讓計算機按照我們的期望來運作。p算法是程序設(shè)計的核心,是程序設(shè)計的靈魂。用輾轉(zhuǎn)相除法和窮舉法求兩個整數(shù)的最大公約數(shù)輾轉(zhuǎn)相除法設(shè)計的程序:Private Sub Command1_Click() m = 9147485 n = 5147480 r = m Mod n Do While r 0 m = n n = r r = m Mod n Loop CurrentY = 100 Print 最大公約數(shù)=; nEnd Sub窮舉法設(shè)計的程序:Private Sub Command2

10、_Click() m = 9147485 n = 5147480 i = m Do While m Mod i 0 Or n Mod i 0 i = i - 1 Loop CurrentY = 100 Print 最大公約數(shù)=; iEnd Sub解決某一問題的算法的思想可以多種多樣。好算法讓我們事半功倍。小結(jié)p理論:p計算機解決問題的基本過程。p建立數(shù)學模型,構(gòu)造非數(shù)值類數(shù)據(jù)的模型。p算法的效率、通用性、多樣性。p在計算機領(lǐng)域中有的問題不可解。p思路: 了解工具的功能掌握工具的使用方法和步驟用我們的認知來改進現(xiàn)有工具,制造新工具,延伸、拓展我們的智能。 人們洞察世界的優(yōu)秀的模型,利用計算機解決

11、現(xiàn)實世界的問題。人們關(guān)心現(xiàn)實社會而不是程序,程序是人們更好地理解世界的機制。輸出簡單的有規(guī)則輸出簡單的有規(guī)則的字符幾何圖形的字符幾何圖形CurrentY = 500 Print Tab(20 i*3); For i = 1 To 3 Next iFor j = 1 To 5 Next jPrint “#”; Print第一行輸出的位置,每一行第一個字符輸出的位置。圖形有3行。每行有5列。每行輸出相同的“#”號。 顯示完一行后,換行顯示下一行。輸出簡單的有規(guī)則的字符幾何圖形輸出簡單的有規(guī)則的字符幾何圖形代碼代碼Private Sub Form_Click() CurrentY = 500 For

12、 i = 1 To 5 Print Tab(20 - i * 3); For j = 1 To 5 Print 人人; Next j Print Next i CurrentY = 500 For i = 1 To 5 Print Tab(20 + i * 3); For j = 1 To 5 Print 人; Next j Print Next iEnd Sub修改項:行參數(shù):由3改為5;字符參數(shù):由“#”改為“人”每行第一個字符的輸出位置參數(shù):由20-i*3改為20+i*3,隨著i的增大而增大,距離屏幕左邊線越來越遠,即圖形向右移動。1. 復制藍色程序塊粘貼,修改每行第一個字符的輸出位置參數(shù),輸出對稱圖形。讓我想一想p抽象在計算機科學中有什么作用?p在程序設(shè)計

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論