資源簡(jiǎn)介 (共23張PPT)第三章 算法基礎(chǔ)高中信息技術(shù) 必修1體驗(yàn)計(jì)算機(jī)解決問(wèn)題的過(guò)程02算法及其描述01目錄Contents 01算法及其描述創(chuàng)設(shè)情境 提出問(wèn)題開(kāi)學(xué)時(shí)同學(xué)們紛紛購(gòu)買(mǎi)用于學(xué)習(xí)的各種文具,假如同學(xué)手中有50元現(xiàn)金,分別購(gòu)買(mǎi)單價(jià)為6元的筆記本,單價(jià)為5元的簽字筆,和單價(jià)為4元的橡皮。每種文具至少購(gòu)買(mǎi)一個(gè),請(qǐng)問(wèn)各種文具應(yīng)該購(gòu)買(mǎi)何種數(shù)量,才能讓手中的資金利用最大化(即剛好用完)呢?筆記本單價(jià):6元/本簽字筆單價(jià):5元/支橡皮單價(jià):4元/塊1.分析問(wèn)題需求:①現(xiàn)求三種商品分別的購(gòu)買(mǎi)數(shù)量,可讓資金利用最大化(即剛好用完)②每種文具至少購(gòu)買(mǎi)一個(gè)問(wèn)題描述:①三種商品單價(jià)分別為6元、5元、4元②用于購(gòu)買(mǎi)商品的總資金為50元2.設(shè)計(jì)算法買(mǎi)學(xué)習(xí)文具問(wèn)題轉(zhuǎn)化為求解方程:6x+5y+4z=50的正整數(shù)解若要求方程6x+5y+4z=50的正整數(shù)解的個(gè)數(shù)為t,則解決問(wèn)題的步驟如下:①t=0;②x=1;③y=1;④z=1;⑤如果滿(mǎn)足式子6x+5y+4z=50,則解的個(gè)數(shù)加1(即t=t+1,表示右邊式子的值賦值給左邊式子),并輸出這個(gè)解(即輸出t,x,y,z的值);⑥z=z+1;⑦如果z12,則轉(zhuǎn)步驟⑤,否則繼續(xù)步驟⑧;⑧y=y+1;⑨如果y 轉(zhuǎn)步驟④,否則繼續(xù)步驟⑩;⑩x=x+1; 如果x 則轉(zhuǎn)步驟③,否則繼續(xù)步驟 ; 結(jié)束。2.設(shè)計(jì)算法——算法的定義買(mǎi)學(xué)習(xí)文具問(wèn)題轉(zhuǎn)化為求解方程:6x+5y+4z=50的正整數(shù)解算法是指在有限步驟內(nèi)求解某一問(wèn)題所使用的一組定義明確的規(guī)則。通俗的說(shuō)就是用計(jì)算機(jī)求解某一問(wèn)題的方法,是能被機(jī)械執(zhí)行的動(dòng)作或指令的有窮集合。2.設(shè)計(jì)算法——算法的特征5.可行性。每個(gè)計(jì)算步驟都可以在有限時(shí)間內(nèi)完成。1.有窮性。一個(gè)算法在執(zhí)行完有窮步之后必須結(jié)束,即計(jì)算步驟有限。2.確定性。算法執(zhí)行的每一個(gè)步驟必須有確切的定義,不能出現(xiàn)模棱兩可的情況。3.數(shù)據(jù)輸入。一個(gè)算法必須有零個(gè)或多個(gè)輸入。以刻畫(huà)運(yùn)算對(duì)象的初始情況。即可以沒(méi)有輸入。4.數(shù)據(jù)輸出。一個(gè)算法必須有一個(gè)或多個(gè)數(shù)據(jù)輸出,以反映對(duì)輸入數(shù)據(jù)加工后的結(jié)果,沒(méi)有輸出的算法是毫無(wú)意義的。即必須有輸出。2.設(shè)計(jì)算法——算法的描述方法一、自然語(yǔ)言描述法用人們?nèi)粘K玫恼Z(yǔ)言,如漢語(yǔ)、英語(yǔ)等來(lái)描述算法優(yōu)點(diǎn):比較容易掌握缺點(diǎn):①算法復(fù)雜時(shí),用自然語(yǔ)言難以清晰表示②自然語(yǔ)言的歧義性,容易導(dǎo)致算法的不確定性2.設(shè)計(jì)算法——算法的描述方法二、流程圖描述算法用流程圖描述算法是用程序框圖來(lái)描述算法的一種表示方法。使用流程圖描述算法,可使算法的流程描述得清晰、簡(jiǎn)潔。圖形 名稱(chēng) 功能開(kāi)始/結(jié)束 表示算法的開(kāi)始或結(jié)束輸入/輸出 表示算法中變量的輸入或輸出處理 表示算法中變量的計(jì)算與賦值判斷 表示算法中的條件判斷流程線 表示算法中的流向連接點(diǎn) 表示算法中的轉(zhuǎn)接2.設(shè)計(jì)算法——算法的描述方法三、偽代碼描述算法介于自然語(yǔ)言與計(jì)算機(jī)語(yǔ)言之間的文字與符號(hào)。不使用圖形符號(hào),書(shū)寫(xiě)方便 ,易于理解。t=0for x in range(1,9):for y in range(1,11):for z in range(1,13):if(x*6+y*5+z*4==50){t=t+1;輸出解的個(gè)數(shù)t和三個(gè)整數(shù)x,y,z}3.編寫(xiě)程序4.調(diào)試運(yùn)行程序4.調(diào)試運(yùn)行程序4.調(diào)試運(yùn)行程序02體驗(yàn)計(jì)算機(jī)解決問(wèn)題的過(guò)程編寫(xiě)計(jì)算機(jī)程序解決問(wèn)題的步驟分析問(wèn)題01設(shè)計(jì)算法02編寫(xiě)程序03調(diào)試運(yùn)行程序04真題演練答案:D真題演練答案:C真題演練答案:A真題演練答案:A知識(shí)小結(jié)1.算法的定義2.算法的特征3.描述算法的常用方法4.編寫(xiě)計(jì)算機(jī)程序解決問(wèn)題的步驟謝謝觀看 展開(kāi)更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來(lái)源于二一教育資源庫(kù)