算法描述與設(shè)計(jì)_第1頁(yè)
算法描述與設(shè)計(jì)_第2頁(yè)
算法描述與設(shè)計(jì)_第3頁(yè)
算法描述與設(shè)計(jì)_第4頁(yè)
算法描述與設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章如何用計(jì)算機(jī)解決問(wèn)題1.1計(jì)算機(jī)解決問(wèn)題的過(guò)程1.2算法描述與設(shè)計(jì)1.3初試身手,體驗(yàn)編程游戲規(guī)則:用沒(méi)有刻度的3毫升量杯和5毫升量杯,如何量出一毫升的水?①人是如何解決問(wèn)題的?首先觀察分析問(wèn)題收集必要的信息根據(jù)已有的知識(shí)、經(jīng)驗(yàn)進(jìn)行判斷、推理嘗試按一定的方法和步驟

解決問(wèn)題1.1計(jì)算機(jī)解決問(wèn)題的過(guò)程1.1計(jì)算機(jī)解決問(wèn)題的過(guò)程我國(guó)漢代有位大將軍叫韓信,他在點(diǎn)兵時(shí)讓士兵分別從1~3、1~5、1~7報(bào)數(shù),然后報(bào)告各次報(bào)數(shù)的余數(shù),這樣,他就能推算出總共有多少士兵。

“今有物不知其數(shù),三三數(shù)之余二,五五數(shù)之余三,七七數(shù)之余二,問(wèn)物幾何?”“韓信點(diǎn)兵問(wèn)題”韓信是我國(guó)西漢初著名的軍事家。韓信點(diǎn)兵,多多益善,不僅如此,還能經(jīng)常以少勝多,以弱勝?gòu)?qiáng)。在與楚軍決戰(zhàn)時(shí)韓信指揮諸侯聯(lián)軍,在垓下十面埋伏,擊敗楚軍,楚霸王項(xiàng)羽因此自殺。②計(jì)算機(jī)解決問(wèn)題的過(guò)程算法1:列舉法;算法2:最小公倍數(shù)法;算法3:列方程式法;開(kāi)始N被3、5、7整除余數(shù)為2、3、2N=N+1結(jié)束NYN=1輸出N值②計(jì)算機(jī)解決問(wèn)題的過(guò)程1.1計(jì)算機(jī)解決問(wèn)題的過(guò)程用列舉法,利用存儲(chǔ)量大、運(yùn)算速度快、精確度高,可以按人們?cè)O(shè)定的程序重復(fù)執(zhí)行等特點(diǎn)。②計(jì)算機(jī)解決問(wèn)題的過(guò)程1.1計(jì)算機(jī)解決問(wèn)題的過(guò)程自然語(yǔ)言是不能被計(jì)算機(jī)執(zhí)行的。自然語(yǔ)言計(jì)算機(jī)程序程序設(shè)計(jì)——思想程序設(shè)計(jì)語(yǔ)言——編寫(xiě)工具機(jī)器語(yǔ)言匯編語(yǔ)言高級(jí)語(yǔ)言計(jì)算機(jī)010101110001011100101110……②計(jì)算機(jī)解決問(wèn)題的過(guò)程1.1計(jì)算機(jī)解決問(wèn)題的過(guò)程1.2算法描述與設(shè)計(jì)①什么是算法算法就是解決問(wèn)題的方法和步驟。算法就程序設(shè)計(jì)的“靈魂”。算法+數(shù)據(jù)結(jié)構(gòu)=程序;算法獨(dú)立于任何具體的程序設(shè)計(jì)語(yǔ)言;#include<stdio.h>main(){intn=1;while(n<1100){if(n%3==2&&n%5==3&&n%7==2){printf("%d\n",n);break;}elsen++;}}C語(yǔ)言JAVA語(yǔ)言DimnasintegerN=1Doif(nmod3=2)and(nmod5=3)and(nmod7=2)thenPrintnExitdoEndifN=n+1LoopVB語(yǔ)言1.2算法描述與設(shè)計(jì)②算法的特征有窮性;確定性;輸入;輸出;可行性;

算法要有一個(gè)清晰的起始步,表示處理問(wèn)題的起點(diǎn),且每一個(gè)步驟只能有一個(gè)確定的后繼步驟(1算法的確定性),從而組成一個(gè)步驟的有限序列(2算法的有窮性);要有一個(gè)終止步(序列的終止)表示問(wèn)題得到解決或不能得到解決;每條規(guī)則必須是確定的、可行的(3算法的可行性)、不能存在二義性。算法總是對(duì)數(shù)據(jù)進(jìn)行加工處理,因此,算法的執(zhí)行過(guò)程中通常要有數(shù)據(jù)4輸入(0個(gè)或多個(gè))和數(shù)據(jù)5輸出(至少一個(gè))的步驟。如:請(qǐng)輸入您的密碼:判斷:密碼是否為aaa;若是,退出,否則繼續(xù)輸入;練習(xí)①s=1②將s的值增加1③重復(fù)步驟②解答:該算法的步驟②將被重復(fù)執(zhí)行無(wú)窮次,不符合①有窮性第1題① L=10② 輸出L/自然數(shù)解答:自然數(shù)沒(méi)有具體指明是哪個(gè)數(shù),不符合算法的②確定性第2題① R=2② S=3.14*R*R③ 輸出面積S說(shuō)明:該算法中在執(zhí)行時(shí)已包含計(jì)算所需的初始數(shù)據(jù),不必另外提供數(shù)據(jù),因此沒(méi)有輸入,即有0個(gè)輸入。第3題① 輸入圓的半徑R② S=3.14*R*R③ 輸出面積S說(shuō)明:該算法中計(jì)算面積所需的初始數(shù)據(jù)半徑R待定,需要在算法執(zhí)行時(shí)從鍵盤(pán)多個(gè)輸入。第4題① 輸入圓的半徑R② S=3.14*R*R③ C=2*3.14*R④ 輸出面積S,周長(zhǎng)C說(shuō)明:通過(guò)前兩個(gè)例子可以知道,算法可能有1個(gè)或多個(gè)輸出。第5題① x=-2② 計(jì)算x的平方根解答:x是負(fù)數(shù),沒(méi)有平方根,該算法不可行,不符合算法的可行性。第6題1.2算法描述與設(shè)計(jì)②描述算法1、將N的初始值賦為12、如果N<100并且N被3、5、7整除后余數(shù)為2、3、2,則輸出N的值,轉(zhuǎn)入第4步;3、將N的值加1,轉(zhuǎn)到第2步;4、結(jié)束程序自然語(yǔ)言自然語(yǔ)言優(yōu)點(diǎn)通俗易懂缺點(diǎn)缺乏直觀性簡(jiǎn)潔性,容易產(chǎn)生歧義如:“這個(gè)人連老張也不認(rèn)識(shí)”。意思1:這個(gè)人不認(rèn)識(shí)老張;

意思2:老張不認(rèn)識(shí)這個(gè)人;韓信點(diǎn)兵問(wèn)題1.2算法描述與設(shè)計(jì)②描述算法流程圖流程圖是通過(guò)箭頭相互連接的幾何圖形來(lái)表達(dá)的方法。=程序框圖ANSI規(guī)定的一些常用流程圖符號(hào)。起止框輸入輸出框判斷框處理框連接點(diǎn)流程線開(kāi)始N被3、5、7整除余數(shù)為2、3、2N=N+1結(jié)束NYN=1輸出N值1.2算法描述與設(shè)計(jì)②描述算法流程圖韓信點(diǎn)兵問(wèn)題流程圖優(yōu)點(diǎn)形象、直觀、更容易理解缺點(diǎn)1.2算法描述與設(shè)計(jì)②描述算法偽代碼是介于自然語(yǔ)言和計(jì)算機(jī)程序之間的一種算法描述。偽代碼優(yōu)點(diǎn)書(shū)寫(xiě)自由,專業(yè)缺點(diǎn)N=1DOifN除以3余2且N除以5余3且N除以7余2then輸出N退出程序endifN=n+1loop1、將N的初始值賦為12、如果N<100并且N被3、5、7整除后余數(shù)為2、3、2,則輸出N的值,轉(zhuǎn)入第4步;3、將N的值加1,轉(zhuǎn)到第2步;4、結(jié)束程序DimnasintegerN=1Doif(nmod3=2)and(nmod5=3)and(nmod7=2)thenPrintnExitdoEndifN=n+1LoopN=1DOifN除以3余2且N除以5余3且N除以7余2then輸出N退出程序endifN=n+1loop自然語(yǔ)言流程圖偽代碼程序語(yǔ)言1.2算法描述與設(shè)計(jì)②描述算法三種描述算法的比較自然語(yǔ)言優(yōu)點(diǎn)通俗易懂缺點(diǎn)冗長(zhǎng),繁鎖,缺乏直觀性簡(jiǎn)潔性,容易產(chǎn)生歧義流程圖優(yōu)點(diǎn)形象、直觀、更容易理解缺點(diǎn)需要一定數(shù)學(xué)知識(shí)偽代碼優(yōu)點(diǎn)簡(jiǎn)潔、易懂,修改起來(lái)比較容易,易轉(zhuǎn)為程序語(yǔ)言代碼缺點(diǎn)沒(méi)有流程圖直觀,出現(xiàn)錯(cuò)誤不便排查第一章如何用計(jì)算機(jī)解決問(wèn)題1、什么是算法?2、算法的特征:53、算法的描述方法?3小結(jié)練習(xí):說(shuō)出下面流程圖的各框名稱開(kāi)始框輸入框處理框判斷框處理框處理框處理框輸出框結(jié)束框如果兩個(gè)數(shù)有最大公約數(shù)A,那么這兩個(gè)數(shù),以及這兩個(gè)數(shù)的差,還有大數(shù)除以小數(shù)的余數(shù),必然都是A的倍數(shù)。

所以當(dāng)最后兩個(gè)數(shù)剛好能整除時(shí),較小的數(shù)就是最大公約數(shù)。第一章如何用計(jì)算機(jī)解決問(wèn)題1、

算法是解決問(wèn)題的(

)A.程序代碼

B.方法與步驟

C.計(jì)算公式

D.最終結(jié)果2、利用可視化程序設(shè)計(jì)語(yǔ)言進(jìn)行信息的編程加工的一般順序是(

A、編寫(xiě)代碼、設(shè)計(jì)算法、設(shè)計(jì)界面、調(diào)試運(yùn)行

B、設(shè)計(jì)算法、設(shè)計(jì)界面、編寫(xiě)代碼、調(diào)試運(yùn)行

C、設(shè)計(jì)算法、編寫(xiě)代碼、設(shè)計(jì)界面、調(diào)試運(yùn)行

D、設(shè)計(jì)算法、編寫(xiě)代碼、調(diào)試運(yùn)行、設(shè)計(jì)界面3、下面關(guān)于算法的說(shuō)法錯(cuò)誤的是(

)A.算法必須有輸出

B.算法就是程序

C.算法不一定有輸入

D.算法必須在有限步執(zhí)行后能結(jié)束4、以下不屬于算法基本特征的是(

)A.可執(zhí)行性

B.確定性

C.有窮性

D.無(wú)限性5、流程圖中表示判斷框的是(

)。A.矩形框B.菱形框

C.圓形框D.橢圓形框第一章如何用計(jì)算機(jī)解決問(wèn)題6、下列哪一個(gè)不是用于程序設(shè)計(jì)的()A.BASIC

B.C語(yǔ)言C.WORD

D.Pasical7、程序設(shè)計(jì)語(yǔ)言的發(fā)展階段不包括()A.機(jī)器語(yǔ)言B.自然語(yǔ)言C.匯編語(yǔ)言D.高級(jí)語(yǔ)言8、下面說(shuō)法正確的是()A.算法+數(shù)據(jù)結(jié)構(gòu)=程序B.算法就是程序

C.數(shù)據(jù)結(jié)構(gòu)就是程序

D.算法包括數(shù)據(jù)結(jié)構(gòu)9、下列不屬于描述算法方式的是()A、自然語(yǔ)言

B、偽代碼

C、流程圖

D、機(jī)器語(yǔ)言10、流程圖是描述()的常用方法A、程序B、算法

C、數(shù)據(jù)結(jié)構(gòu)

D、計(jì)算規(guī)則11、下列關(guān)于算法描述語(yǔ)言,錯(cuò)誤的是()A、用流程圖描述算法形象、直觀B、自然語(yǔ)言描述的算法很容易轉(zhuǎn)化為程序設(shè)計(jì)語(yǔ)言C、用偽代碼編寫(xiě)的算法簡(jiǎn)潔易懂、容易修改D、自然語(yǔ)言描述的算法通俗易懂,但缺乏直觀性和簡(jiǎn)潔性填空題1、算法就是解決問(wèn)題的___________和_________。2、算法描述可以有多種表達(dá)方法,一般用_______、_______和______

溫馨提示

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

評(píng)論

0/150

提交評(píng)論