5示范教案(123循環(huán)語句)_第1頁
5示范教案(123循環(huán)語句)_第2頁
5示范教案(123循環(huán)語句)_第3頁
5示范教案(123循環(huán)語句)_第4頁
5示范教案(123循環(huán)語句)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

循環(huán)語句整體設(shè)計教學(xué)分析通過前面的學(xué)習(xí),學(xué)生學(xué)會了輸入語句、輸出語句、賦值語句和條件語句的根本用法,本節(jié)將介紹循環(huán)語句的用法.程序中的循環(huán)語句與程序框圖中的循環(huán)結(jié)構(gòu)存在一一對應(yīng)關(guān)系,這種對應(yīng)關(guān)系對于學(xué)生理解循環(huán)語句的結(jié)構(gòu),進(jìn)一步理解算法中的循環(huán)結(jié)構(gòu)都是很有幫助的.我們可以給出循環(huán)語句的一般格式,讓學(xué)生自己畫出相應(yīng)的程序框圖,也可以給出程序框圖,讓學(xué)生寫出算法語句,提高學(xué)生的應(yīng)用能力.三維目標(biāo)1.理解學(xué)習(xí)根本算法語句的意義.2.學(xué)會循環(huán)語句的根本用法.3.理解算法步驟、程序框圖和算法語句的關(guān)系,學(xué)會算法語句的寫法.重點難點教學(xué)重點:循環(huán)語句的根本用法.教學(xué)難點:循環(huán)語句的寫法.課時安排1課時教學(xué)過程導(dǎo)入新課思路1〔情境導(dǎo)入〕一位同學(xué)不小心違反了學(xué)校紀(jì)律,班主任令其寫檢查,他寫完后交給班主任,班主任看后說:“認(rèn)識不深刻,拿回去重寫,直到認(rèn)識深刻為止〞.這位同學(xué)一想,這不是一個循環(huán)結(jié)構(gòu)嗎可惜我還沒學(xué)循環(huán)語句,不然可以寫一個算法語句輸入計算機了.同學(xué)們,今天我們開始學(xué)習(xí)循環(huán)語句.思路2〔直接導(dǎo)入〕前面我們學(xué)習(xí)了程序框圖的畫法,為了讓計算機能夠理解算法步驟、程序框圖,上一節(jié)我們學(xué)習(xí)了輸入語句、輸出語句、賦值語句和條件語句,今天我們開始學(xué)習(xí)循環(huán)語句.推進(jìn)新課新知探究提出問題〔1〕試用程序框圖表示循環(huán)結(jié)構(gòu).〔2〕指出循環(huán)語句的格式及功能.〔3〕指出兩種循環(huán)語句的相同點與不同點.〔4〕揭示程序中的循環(huán)語句與程序框圖中的條件結(jié)構(gòu)存在一一對應(yīng)關(guān)系.討論結(jié)果:〔1〕循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)有兩種形式:當(dāng)型循環(huán)結(jié)構(gòu)和直到型循環(huán)結(jié)構(gòu).1°當(dāng)型循環(huán)結(jié)構(gòu),如圖〔1〕所示2°直到型循環(huán)結(jié)構(gòu),如圖〔2〕所示,〔1〕當(dāng)型循環(huán)結(jié)構(gòu)〔2〕直到型循環(huán)結(jié)構(gòu)〔2〕循環(huán)語句1°當(dāng)型循環(huán)語句當(dāng)型〔WHILE型〕語句的一般格式為:WHILE條件循環(huán)體WEND功能:計算機執(zhí)行此程序時,遇到WHILE語句,先判斷條件是否成立,如果成立,那么執(zhí)行WHILE和WEND之間的循環(huán)體;然后返回到WHILE語句再判斷上述條件是否成立,如果成立,再執(zhí)行循環(huán)體,這個過程反復(fù)執(zhí)行,直到一次返回到WHILE語句判斷上述條件不成立為止,這時不再執(zhí)行循環(huán)體,而是跳到WEND語句后,執(zhí)行WEND后面的語句.因此當(dāng)型循環(huán)又稱“前測試型〞循環(huán),也就是我們經(jīng)常講的“先測試后執(zhí)行〞“先判斷后循環(huán)〞.2°直到型循環(huán)語句直到型〔UNTIL型〕語句的一般格式為:DO循環(huán)體LOOPUNTIL條件功能:計算機執(zhí)行UNTIL語句時,先執(zhí)行DO和LOOPUNTIL之間的循環(huán)體,然后判斷“LOOPUNTIL〞后面的條件是否成立,如果條件不成立,返回DO語句處重新執(zhí)行循環(huán)體.這個過程反復(fù)執(zhí)行,直到一次判斷“LOOPUNTIL〞后面的條件成立為止,這時不再返回執(zhí)行循環(huán)體,而是跳出循環(huán)體執(zhí)行“LOOPUNTIL條件〞下面的語句.因此直到型循環(huán)又稱“后測試型〞循環(huán),也就是我們經(jīng)常講的“先執(zhí)行后測試〞“先循環(huán)后判斷〞.(3)相同點:都是反復(fù)執(zhí)行循環(huán)體語句.不同點:當(dāng)型循環(huán)語句是先判斷后循環(huán),直到型循環(huán)語句是先循環(huán)后判斷.(4)下面為循環(huán)語句與程序框圖中的條件結(jié)構(gòu)的一一對應(yīng)關(guān)系.1°直到型循環(huán)結(jié)構(gòu):2°當(dāng)型循環(huán)結(jié)構(gòu):應(yīng)用例如思路1例1修改前面編寫過的求函數(shù)y=x3+3x2-24x+30的值的程序,連續(xù)輸入11個自變量的取值,輸出相應(yīng)的函數(shù)值.算法分析:與前面不同的是,本例要求連續(xù)輸入11個自變量的取值.并輸出相應(yīng)的函數(shù)值,先寫出解決本例的算法步驟:第一步,輸入自變量x的值.第二步,計算y=x3+3x2-24x+30.第三步,輸出y.第四步,記錄輸入次數(shù).第五步,判斷輸入的次數(shù)是否大于11.假設(shè)是,那么結(jié)束算法;否那么,返回第一步.顯然,可以用計數(shù)變量n〔1≤n≤11〕記錄次數(shù),通過循環(huán)結(jié)構(gòu)來實現(xiàn)算法.程序框圖如以下圖:程序:n=1DOINPUTxy=x^3+3*x^2-24*x+30PRINTyn=n+1LOOPUNTILn>11END例2教材中的用“二分法〞求方程x2-2=0〔x>0〕的近似解的程序框圖〔見教材圖1.120〕包含了順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu).下面,我們把這個程序框圖轉(zhuǎn)化為相應(yīng)的程序.解:程序為:INPUT“a,b,d=〞;a,b,dDOm=(a+b)/2g=a^2-2f=m^2-2IFg*f<0THENb=mELSEa=mENDIFLOOPUNTILABS(a-b)<dORf=0PRINTmEND點評:ABS〔〕是一個函數(shù),用來求某個數(shù)的絕對值,即ABS〔x〕=|x|.例3設(shè)計一個計算1×3×5×7×…×99的算法,編寫算法程序.解:算法如下:第一步,s=1.第二步,i=3.第三步,s=s×i.第四步,i=i+2.第五步,如果i≤99,那么轉(zhuǎn)到第三步.第六步,輸出s.程序如下:〔“WHILE型〞循環(huán)語句〕s=1i=3WHILEi<=99s=s*ii=i+2WENDPRINTsEND例4編寫一個程序,求1!+2!+…+10!的值〔其中n!=1×2×3×…×n〕.分析:這個問題可以用“WHILE+WHILE〞循環(huán)嵌套語句格式來實現(xiàn).程序結(jié)構(gòu)要做到如下步驟:①處理“n!〞的值;〔注:處理n!的值的變量是一個內(nèi)循環(huán)變量〕②累加“n!〞的值.〔注:累加n!的值的變量是一個外循環(huán)變量〕顯然,通過10次循環(huán)可分別求出1!、2!、…、10!的值,并同時累加起來,可求得S的值.而求T=n!,又可以用一個循環(huán)〔內(nèi)循環(huán)〕來實現(xiàn).解:程序為:s=0i=1WHILEi<=10j=1t=1WHILEj<=it=t*jj=j+1WENDs=s+ti=i+1WENDPRINTsEND思考:上面程序中哪個變量是內(nèi)循環(huán)變量,哪個變量是外循環(huán)變量解答:內(nèi)循環(huán)變量:j,t.外循環(huán)變量:s,i.上面的程序是一個的“WHILE+WHILE〞型循環(huán)嵌套語句格式.這是一個比較好想的方法,但實際上對于求n!,我們也可以根據(jù)求出的(n-1)!乘上n即可得到,而無需重新從1再累乘到n.程序可改為:s=0i=1j=1WHILEi<=10j=j*is=s+ji=i+1WENDPRINTsEND顯然第二個程序的效率要比第一個高得多.第一程序要進(jìn)行1+2+…+10=55次循環(huán),而第二程序進(jìn)行10次循環(huán).如題目中求的是1?。?!+…+1000!,那么兩個程序的效率區(qū)別會更明顯.點評:解決具體的構(gòu)造循環(huán)語句的算法問題,要盡可能地少引入循環(huán)變量,否那么較多的變量會使得設(shè)計程序比較麻煩,并且較多的變量會使得計算機占用大量的系統(tǒng)資源,致使系統(tǒng)緩慢.另外,也盡可能使得循環(huán)嵌套的層數(shù)少,否那么也浪費計算機的系統(tǒng)資源.變式訓(xùn)練某種蛋白質(zhì)是由四種氨基酸組合而成.這四種氨基酸的相對分子質(zhì)量分別是57,71,97,101.實驗測定蛋白質(zhì)的相對分子質(zhì)量為800.問這種蛋白質(zhì)的組成有幾種可能分析:該問題即求如下不定方程的整數(shù)解:設(shè)四種氨基酸在蛋白質(zhì)的組成中分別各有x,y,z,w個.那么由題意可得57x+71y+97z+101w=800,〔x,y,z,w是非負(fù)整數(shù)〕這里0≤x≤14,0≤y≤11,0≤z≤8,0≤w≤7,利用窮取法,考慮一切可能出現(xiàn)的情況.運用多層循環(huán)嵌套處理即可.解:編寫程序如下:w=0WHILEw<=7z=0WHILEz<=8y=0WHILEy<=11x=0WHILEx<=14IF57*x+71*y+97*z+101*w=800THENPRINTx,y,z,wENDIFx=x+1WENDy=y+1WENDz=z+1WENDw=w+1WENDEND知能訓(xùn)練設(shè)計算法求的值.要求畫出程序框圖,寫出用根本語句編寫的程序.解:這是一個累加求和問題,共99項相加,可設(shè)計一個計數(shù)變量,一個累加變量,用循環(huán)結(jié)構(gòu)實現(xiàn)這一算法.程序框圖如以下圖所示:程序如下:s=0i=1Dos=s+1/〔i*(i+1)〕i=i+1LOOPUNTILi>99PRINTsEND拓展提升青年歌手電視大賽共有10名選手參加,并請了12名評委,在計算每位選手的平均分?jǐn)?shù)時,為了防止個別評委所給的極端分?jǐn)?shù)的影響,必須去掉一個最高分和一個最低分后再求平均分.試設(shè)計一個算法解決該問題,要求畫出程序框圖,寫出程序〔假定分?jǐn)?shù)采用10分制,即每位選手的分?jǐn)?shù)最高分為10分,最低分為0分〕.解:由于共有12位評委,所以每位選手會有12個分?jǐn)?shù),我們可以用循環(huán)語句來完成這12個分?jǐn)?shù)的輸入,同時設(shè)計累加變量求出這12個分?jǐn)?shù)的和,本問題的關(guān)鍵在于從這12個輸入分?jǐn)?shù)中找出最大數(shù)與最小數(shù),以便從總分中減去這兩個數(shù).由于每位選手的分?jǐn)?shù)都介于0分和10分之間,我們可以先假設(shè)其中的最大數(shù)為0,最小數(shù)為10,然后每次輸入一個評委的分?jǐn)?shù),就進(jìn)行一次比較,假設(shè)輸入的數(shù)大于0,就將之代替最大數(shù),假設(shè)輸入的數(shù)小于10,就用它代替最小數(shù),依次下去,就能找出這12個數(shù)中的最大數(shù)與最小數(shù),循環(huán)結(jié)束后,從總和中減去最大數(shù)與最小數(shù),再除以10,就得到該選手最后的平均分.程序框圖如右圖:程序如下:s=0i=1max=0min=10DOINPUTxs=s+xIFmax<=xTHENmax=xENDIFIFmin>=xTHENmin=xENDIFi=i+1LOOPUNTILi>12s1

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論