資源簡介 (共16張PPT)第5課 算法的描述方法8元探究活動班會課舉行班級活動,班長負(fù)責(zé)用20元錢購買二種小零食,價格分別是8元,4元。班長希望二種零食都買一些,且正好把20元錢都花光,那么他有多少種購買方案呢?4元8元4元20元X包8x+4y=20有多少組 解?正整數(shù)設(shè)為tY根既要保證所有組合都試過,又要避免重復(fù)代入某些組合求方程8x+4y=20有多少組正整數(shù)解想一想t=0;x=1;y=1;④如果滿足式子8x+4y=20,則解的個數(shù)加1,即t=t+1(表示把右邊式子的值賦給左邊式子),并輸出這個解(即t,x,y的值);如果不滿足,則繼續(xù)⑤⑤y=y+1;⑥如果y≤3,則跳轉(zhuǎn)到步驟④,否則繼續(xù)步驟⑦⑦x=x+1;⑨結(jié)束求方程8x+4y=20有多少組正整數(shù)解想一想⑧如果x≤2,則跳轉(zhuǎn)到步驟③,否則繼續(xù)步驟⑨8× +4× =20是否成立?xyt(正整數(shù)解的個數(shù))t=t+1110232123什么是算法?算法是解決問題或完成任務(wù)的一系列的方法和步驟,而且步驟是有限的,每一步驟必須有確切的定義。在計(jì)算機(jī)科學(xué)領(lǐng)域,算法指的是用計(jì)算機(jī)解決問題的步驟,是為了解決問題讓計(jì)算機(jī)有序執(zhí)行、無歧義的,有限步驟的集合。生活中的“算法”組裝家具點(diǎn)餐數(shù)據(jù)輸入A確定性B數(shù)據(jù)輸出C有窮性D一個算法所包含的計(jì)算步驟是有限的算法執(zhí)行的每一個步驟必須有確切的定義,不能出現(xiàn)模棱兩可的情況一個算法必須有零個或多個數(shù)據(jù)輸入,以刻畫運(yùn)算對象的初始情況一個算法有一個或多個數(shù)據(jù)輸出,以反映輸入數(shù)據(jù)加工后的結(jié)果,沒有輸出的算法無意義D算法中每個計(jì)算步驟都可以執(zhí)行并在有限時間內(nèi)完成可行性算法的特征t=0;x=1;y=1;數(shù)據(jù)輸入④如果滿足式子8x+4y=20,則解的個數(shù)加1,即t=t+1(表示把右邊式子的值賦給左邊式子),并輸出這個解(即t,x,y的值);確定性數(shù)據(jù)輸出:t,x,y⑤y=y+1;⑥如果y≤3,則跳轉(zhuǎn)到步驟④,否則繼續(xù)步驟⑦⑦x=x+1;⑧如果x≤2,則跳轉(zhuǎn)到步驟③,否則繼續(xù)步驟⑨⑨結(jié)束有窮性可行性:每一步都可以執(zhí)行并在有限時間內(nèi)完成算法的特征:數(shù)據(jù)輸入 確定性 數(shù)據(jù)輸出 有窮性 可行性想一想1、用自然語言描述算法:用自然語言描述算法,就是用人們?nèi)粘K玫恼Z言,如:漢語、英語等來描述算法。優(yōu)點(diǎn)缺點(diǎn)簡單直接,比較容易掌握算法中含有多個分支或循環(huán)時難以清晰表示;自然語言的歧義性描述算法的常用方法求解方程8x+4y=20偽代碼2、用偽代碼描述算法:用偽代碼描述算法就是用介于自然語言和計(jì)算機(jī)語言之間的文字和符號來描述算法。t=0for x in range(1,2):for y in range(1,3):if(x*8+y*4==20)t=t+1;輸出解的個數(shù)t和二個整數(shù)x,y便于向計(jì)算機(jī)程序設(shè)計(jì)語言過渡不適合初學(xué)者不被編程軟件識別3、用流程圖描述算法:用流程圖描述算法是用程序框圖描述算法的一種表示方法,和自然語言描述相比,使用流程圖描述算法可使算法的流程描述更加清晰、簡潔。圖 形 名 稱 功 能開始/結(jié)束 表示算法的開始或結(jié)束輸入/輸出 表示算法中變量的輸入或輸出處理 表示算法中變量的計(jì)算與賦值判斷 表示算法中的條件判斷流程線 表示算法中的流向連接點(diǎn) 表示算法中的轉(zhuǎn)接流程圖的基本圖形及功能2、用流程圖描述算法:用流程圖描述算法是用程序框圖描述算法的一種表示方法,和自然語言描述相比,使用流程圖描述算法可使算法的流程描述更加清晰、簡潔。使算法描述更加清晰、簡潔開始根據(jù)學(xué)號報到是否住宿教務(wù)處繳費(fèi)宿舍報到結(jié)束YN用流程圖描述求解8x+4y=20的算法①t=0;②x=1;③y=1;④如果滿足式子8x+4y=20,則解的個數(shù)加1(即t=t+1,表示右邊式子的值賦值給左邊式子),并輸出這個解(即輸出t,x,y的值);⑤y=y+1;⑥如果y≤3則轉(zhuǎn)步驟④,否則繼續(xù)步驟⑦;⑦x=x+1;⑧如果x≤2則轉(zhuǎn)步驟③,否則繼續(xù)步驟⑩;⑨結(jié)束。開始x=1y=18x+4y=20t=t+1y=y+1y≤3x=x+1x≤2結(jié)束輸出t,x,y的值YNNNYYt=0① 輸入 a、b練習(xí)設(shè)計(jì)一個算法,求二個數(shù)中的最大數(shù),并畫出流程圖② 判斷a>b,如果是,則max=a如果不是,則max=b③ 輸出max開始結(jié)束輸入a,b的值a>bYmax=amax=b輸出maxN總結(jié)算法算法的特征偽代碼自然語言流程圖可行性算法及其描述解決問題或完成任務(wù)的一系列的方法和步驟算法的描述有窮性確定性數(shù)據(jù)輸入數(shù)據(jù)輸出0個或多個1個或多個聽謝聆謝 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫