高中數(shù)學(xué) 2.3.2循環(huán)語(yǔ)句課件 北師大版必修3.ppt
成才之路 · 數(shù)學(xué),路漫漫其修遠(yuǎn)兮 吾將上下而求索,北師大版 · 必修3,算法初步,第二章,§3 幾種基本語(yǔ)句,第二章,32 循環(huán)語(yǔ)句,1For語(yǔ)句 循環(huán)結(jié)構(gòu)是算法中的基本結(jié)構(gòu),F(xiàn)or語(yǔ)句是表達(dá)循環(huán)結(jié)構(gòu)最常見的語(yǔ)句之一,它適用于預(yù)先知道_的循環(huán)結(jié)構(gòu)For語(yǔ)句的一般形式是: For 循環(huán)變量初始值 To終值 循環(huán)體 Next,循環(huán)次數(shù),2Do Loop語(yǔ)句 在循環(huán)結(jié)構(gòu)中,若預(yù)先不知道循環(huán)次數(shù),一般用_來(lái)描述,Do Loop語(yǔ)句的一般形式為: Do 循環(huán)體 Loop While 條件為真,Do Loop語(yǔ)句,特別提示 For循環(huán)語(yǔ)句和Do Loop循環(huán)語(yǔ)句的異同: For循環(huán)語(yǔ)句和Do Loop循環(huán)語(yǔ)句都能表達(dá)循環(huán)結(jié)構(gòu)的算法,但是它們?cè)诒磉_(dá)方式和功能上又有一定的區(qū)別,它們的區(qū)別主要表現(xiàn)為以下幾點(diǎn): 1書寫格式不同 2作用不同:For循環(huán)語(yǔ)句主要適用于預(yù)先知道循環(huán)次數(shù)的循環(huán)結(jié)構(gòu);如果預(yù)先不知道循環(huán)次數(shù),則使用Do Loop循環(huán)語(yǔ)句,3For循環(huán)語(yǔ)句循環(huán)條件在前,首先判斷循環(huán)條件再執(zhí)行,如果條件不滿足,一次也不執(zhí)行;而Do Loop循環(huán)語(yǔ)句循環(huán)條件在后 4用For循環(huán)語(yǔ)句編寫時(shí)要注意設(shè)定好循環(huán)變量的初始值、終值、循環(huán)變量的改變量,應(yīng)避免出現(xiàn)多一次循環(huán)或少一次循環(huán)的情況;用Do Loop循環(huán)語(yǔ)句編寫程序時(shí),一定要注意表達(dá)式的寫法,當(dāng)表達(dá)式為真時(shí),繼續(xù)執(zhí)行循環(huán)體,當(dāng)表達(dá)式為假時(shí),結(jié)束循環(huán),防止出現(xiàn)表達(dá)式正好相反的錯(cuò)誤,1下列問(wèn)題可以設(shè)計(jì)成循環(huán)語(yǔ)句的有( ) 求133239的和; 比較a,b兩個(gè)數(shù)的大??; 對(duì)于分段函數(shù),要求輸入自變量,輸出函數(shù)值; 求平方值小于100的最大整數(shù) A0個(gè) B1個(gè) C2個(gè) D3個(gè) 答案 C 解析 是由條件語(yǔ)句來(lái)實(shí)現(xiàn)的;都可由循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn),2對(duì)于下面的語(yǔ)句: x1 Do xx*x Loop While x10 輸出x.,下列說(shuō)法正確的是( ) A輸出結(jié)果是1 B能執(zhí)行一次 C能執(zhí)行10次 D是“死循環(huán)”,有語(yǔ)法錯(cuò)誤 答案 D,解析 從循環(huán)語(yǔ)句的格式看,這個(gè)循環(huán)語(yǔ)句是Do Loop語(yǔ)句,那么當(dāng)滿足條件x10時(shí),終止循環(huán)體,但是第一次執(zhí)行循環(huán)體后x1,由于x110成立,則再次執(zhí)行循環(huán)體,執(zhí)行完成后x1,則這樣無(wú)限循環(huán)下去,是一個(gè)“死循環(huán)”,有語(yǔ)法錯(cuò)誤,循環(huán)終止的條件永遠(yuǎn)不能滿足故選D.,3算法語(yǔ)句如下: S0 For i1 To 1000 SSi Next,其中,語(yǔ)句“For i1 To 1000”的作用是( ) A表示一個(gè)數(shù)字從1到1000 B表示從1一直加到1000 C表示從1開始循環(huán)到1000 D表示i從1開始以1為增量累加到1000 答案 D 解析 由For語(yǔ)句知選D.,4下面算法中,最后輸出的結(jié)果是_ S0 i1 Do ii2 S3*i+2 Loop While i9 輸出S.,答案 29 解析 可列表解答:,5.(1)有下列算法語(yǔ)句: For x1 To 5 Next 輸出x 該程序的輸出結(jié)果是_ (2)有下列算法語(yǔ)句: For x1 To 5 輸出x Next 該程序的輸出結(jié)果是_,答案 (1)5 (2)1 2 3 4 5 解析 (1)中循環(huán)體為空,最后輸出的值為循環(huán)變量x的終值;(2)中循環(huán)體為“輸出x”,故輸出循環(huán)變量x的每一個(gè)值,循環(huán)語(yǔ)句的理解,思路分析 (1)這個(gè)算法語(yǔ)句中a是循環(huán)變量,循環(huán)體為aa2,實(shí)際上這個(gè)算法處理的是求a2222的問(wèn)題,循環(huán)終止條件為a10. (2)由For語(yǔ)句的形式,本題中i是循環(huán)變量,初始值為1,終值為3,循環(huán)體為MMi. 規(guī)范解答 (1)運(yùn)行結(jié)果為22222212. (2)運(yùn)行過(guò)程是:M0;i1時(shí),MMi011;i2時(shí),MMi123;i3時(shí),MMi336.跳出循環(huán),輸出6.,規(guī)律總結(jié) 判斷含有循環(huán)語(yǔ)句的算法的執(zhí)行結(jié)果關(guān)鍵是明確循環(huán)終止條件在Do Loop語(yǔ)句中,當(dāng)條件不滿足時(shí)終止循環(huán);而在For語(yǔ)句中,當(dāng)循環(huán)變量取終值時(shí),再執(zhí)行一次循環(huán)體才終止循環(huán),解析 (1)該程序的運(yùn)行過(guò)程是:s=1;i=9時(shí),s=s*i=1*9=9;i=10時(shí),s=s*i=9*10=90;i=11時(shí),s=s*i=90*11 =990.跳出循環(huán),輸出990. (2)這個(gè)算法語(yǔ)句中x是循環(huán)變量,循環(huán)體為x=x-20,實(shí)際上這個(gè)算法處理的是求x=100-20-20-20-20的問(wèn)題,循環(huán)終止條件為x0,最后輸出的結(jié)果為20(100-20-20-20-20-20-20-20).,思路分析 用i表示循環(huán)次數(shù),用S表示總和,步驟如下: 第一步:輸入i、S,i的初始值為1,S的初始值為0; 第二步:i從1開始循環(huán)到1000,ii1,SS1/i; 第三步:循環(huán)結(jié)束后,輸出S.,For語(yǔ)句的應(yīng)用,規(guī)范解答 用i表示循環(huán)次數(shù),用S表示總和,算法步驟如下: 1令S的初始值為0,i的初始值為1; 2SS1/i,ii1; 3如果i1 000,返回執(zhí)行第2步,否則輸出S. 算法流程圖如右圖所示:,用For語(yǔ)句表示如下: S0 i1 For i1 To 1 000 SS1/i Next 輸出S.,規(guī)律總結(jié) (1)For語(yǔ)句是從循環(huán)變量的初始值開始執(zhí)行一次循環(huán)后,直到循環(huán)變量取到其終值結(jié)束循環(huán),適用于預(yù)先知道循環(huán)次數(shù)的循環(huán)結(jié)構(gòu) (2)在For循環(huán)語(yǔ)句中,我們默認(rèn)循環(huán)變量每次的增量為1.如果需要考慮增加量不為1的情況,需使用參數(shù)step. 例如:“輸出1到100內(nèi)的所有奇數(shù)”的算法語(yǔ)句為: For i1 To 100 Step 2 輸出i Next,用For語(yǔ)句編寫一個(gè)計(jì)算12221002的算法 解析 算法語(yǔ)句為: S0 For i1 To 100 SSi*i Next 輸出S,思路分析 可以用遞推的方法,從1開始,逐次加1,只要該數(shù)的立方小于104就輸出,可以用循環(huán)語(yǔ)句寫出,Do Loop語(yǔ)句的應(yīng)用,規(guī)范解答 依題意,流程圖如圖所示:,程序如下: i1 ni3 Do 輸出n ii1 ni3 Loop While n10000 End 規(guī)律總結(jié) 在Do Loop語(yǔ)句中,每一次重復(fù)后,都要檢驗(yàn)While后的條件是否滿足,一旦不滿足,循環(huán)停止,若135n6000,試設(shè)計(jì)一個(gè)程序,尋找滿足條件的最小n值 解析 S0 i1 Do SSi ii2 Loop Whlie S6000 ni2 輸出n,思路分析 可用一個(gè)循環(huán)依次輸入20個(gè)數(shù),并將它們的和存在一個(gè)變量S中,最后用S除以20即可得到它們的平均數(shù),循環(huán)語(yǔ)句的綜合應(yīng)用,規(guī)范解答 用Do Loop語(yǔ)句程序如下; S0 i1 Do 輸入x SSx ii1 Loop While i20 aS/20 輸出a,用For語(yǔ)句則程序如下: S0 For i1 To 20 輸入 x SSx ii1 Next aS/20 輸出a 規(guī)律總結(jié) 本例即可以用For語(yǔ)句寫出程序也可以使用Do Loop語(yǔ)句寫出程序,要注意這類題目特點(diǎn),選擇恰當(dāng)?shù)姆椒?解析 流程圖如下圖所示,錯(cuò)解1 用For語(yǔ)句描述如下: i1 sum0 For i1 To 100 sumsumi Next 輸出sum,錯(cuò)解2 用Do Loop語(yǔ)句描述如下: i1 sum0 Do sumsumi ii1 Loop While i100 輸出sum,辨析 錯(cuò)誤的原因是對(duì)循環(huán)語(yǔ)句的結(jié)構(gòu)不清,應(yīng)用混亂錯(cuò)解1中“i1”不用寫錯(cuò)解2中“Loop While i100”應(yīng)改成“Loop While i100”,因?yàn)镈o Loop語(yǔ)句的一般格式為: Do 循環(huán)體 Loop While 條件為真,正解1 用For語(yǔ)句描述如下: sum0 For i1 To 100 sumsumi Next 輸出sum,正解2 用Do Loop語(yǔ)句描述如下: i1 sum0 Do sumsumi ii1 Loop While i100 輸出sum,規(guī)律總結(jié) Do Loop語(yǔ)句是先執(zhí)行一次循環(huán)體,再判斷是否滿足條件,若滿足,再執(zhí)行循環(huán)體,然后再檢查是否滿足條件,若滿足,再執(zhí)行循環(huán)體,再判斷是否滿足條件,如此反復(fù),直到不滿足條件為止,