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ù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

循環(huán)語句整體設計教學分析通過前面的學習,學生學會了輸入語句、輸出語句、賦值語句和條件語句的根本用法,本節(jié)將介紹循環(huán)語句的用法.程序中的循環(huán)語句與程序框圖中的循環(huán)結構存在一一對應關系,這種對應關系對于學生理解循環(huán)語句的結構,進一步理解算法中的循環(huán)結構都是很有幫助的.我們可以給出循環(huán)語句的一般格式,讓學生自己畫出相應的程序框圖,也可以給出程序框圖,讓學生寫出算法語句,提高學生的應用能力.三維目標1.理解學習根本算法語句的意義.2.學會循環(huán)語句的根本用法.3.理解算法步驟、程序框圖和算法語句的關系,學會算法語句的寫法.重點難點教學重點:循環(huán)語句的根本用法.教學難點:循環(huán)語句的寫法.課時安排1課時教學過程導入新課思路1〔情境導入〕一位同學不小心違反了學校紀律,班主任令其寫檢查,他寫完后交給班主任,班主任看后說:“認識不深刻,拿回去重寫,直到認識深刻為止〞.這位同學一想,這不是一個循環(huán)結構嗎可惜我還沒學循環(huán)語句,不然可以寫一個算法語句輸入計算機了.同學們,今天我們開始學習循環(huán)語句.思路2〔直接導入〕前面我們學習了程序框圖的畫法,為了讓計算機能夠理解算法步驟、程序框圖,上一節(jié)我們學習了輸入語句、輸出語句、賦值語句和條件語句,今天我們開始學習循環(huán)語句.推進新課新知探究提出問題〔1〕試用程序框圖表示循環(huán)結構.〔2〕指出循環(huán)語句的格式及功能.〔3〕指出兩種循環(huán)語句的相同點與不同點.〔4〕揭示程序中的循環(huán)語句與程序框圖中的條件結構存在一一對應關系.討論結果:〔1〕循環(huán)結構循環(huán)結構有兩種形式:當型循環(huán)結構和直到型循環(huán)結構.1°當型循環(huán)結構,如圖〔1〕所示2°直到型循環(huán)結構,如圖〔2〕所示,〔1〕當型循環(huán)結構〔2〕直到型循環(huán)結構〔2〕循環(huán)語句1°當型循環(huán)語句當型〔WHILE型〕語句的一般格式為:WHILE條件循環(huán)體WEND功能:計算機執(zhí)行此程序時,遇到WHILE語句,先判斷條件是否成立,如果成立,那么執(zhí)行WHILE和WEND之間的循環(huán)體;然后返回到WHILE語句再判斷上述條件是否成立,如果成立,再執(zhí)行循環(huán)體,這個過程反復執(zhí)行,直到一次返回到WHILE語句判斷上述條件不成立為止,這時不再執(zhí)行循環(huán)體,而是跳到WEND語句后,執(zhí)行WEND后面的語句.因此當型循環(huán)又稱“前測試型〞循環(huán),也就是我們經常講的“先測試后執(zhí)行〞“先判斷后循環(huán)〞.2°直到型循環(huán)語句直到型〔UNTIL型〕語句的一般格式為:DO循環(huán)體LOOPUNTIL條件功能:計算機執(zhí)行UNTIL語句時,先執(zhí)行DO和LOOPUNTIL之間的循環(huán)體,然后判斷“LOOPUNTIL〞后面的條件是否成立,如果條件不成立,返回DO語句處重新執(zhí)行循環(huán)體.這個過程反復執(zhí)行,直到一次判斷“LOOPUNTIL〞后面的條件成立為止,這時不再返回執(zhí)行循環(huán)體,而是跳出循環(huán)體執(zhí)行“LOOPUNTIL條件〞下面的語句.因此直到型循環(huán)又稱“后測試型〞循環(huán),也就是我們經常講的“先執(zhí)行后測試〞“先循環(huán)后判斷〞.(3)相同點:都是反復執(zhí)行循環(huán)體語句.不同點:當型循環(huán)語句是先判斷后循環(huán),直到型循環(huán)語句是先循環(huán)后判斷.(4)下面為循環(huán)語句與程序框圖中的條件結構的一一對應關系.1°直到型循環(huán)結構:2°當型循環(huán)結構:應用例如思路1例1修改前面編寫過的求函數y=x3+3x2-24x+30的值的程序,連續(xù)輸入11個自變量的取值,輸出相應的函數值.算法分析:與前面不同的是,本例要求連續(xù)輸入11個自變量的取值.并輸出相應的函數值,先寫出解決本例的算法步驟:第一步,輸入自變量x的值.第二步,計算y=x3+3x2-24x+30.第三步,輸出y.第四步,記錄輸入次數.第五步,判斷輸入的次數是否大于11.假設是,那么結束算法;否那么,返回第一步.顯然,可以用計數變量n〔1≤n≤11〕記錄次數,通過循環(huán)結構來實現算法.程序框圖如以下圖:程序:n=1DOINPUTxy=x^3+3*x^2-24*x+30PRINTyn=n+1LOOPUNTILn>11END例2教材中的用“二分法〞求方程x2-2=0〔x>0〕的近似解的程序框圖〔見教材圖1.120〕包含了順序結構、條件結構和循環(huán)結構.下面,我們把這個程序框圖轉化為相應的程序.解:程序為: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〔〕是一個函數,用來求某個數的絕對值,即ABS〔x〕=|x|.例3設計一個計算1×3×5×7×…×99的算法,編寫算法程序.解:算法如下:第一步,s=1.第二步,i=3.第三步,s=s×i.第四步,i=i+2.第五步,如果i≤99,那么轉到第三步.第六步,輸出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)嵌套語句格式來實現.程序結構要做到如下步驟:①處理“n!〞的值;〔注:處理n!的值的變量是一個內循環(huán)變量〕②累加“n!〞的值.〔注:累加n!的值的變量是一個外循環(huán)變量〕顯然,通過10次循環(huán)可分別求出1!、2!、…、10!的值,并同時累加起來,可求得S的值.而求T=n!,又可以用一個循環(huán)〔內循環(huán)〕來實現.解:程序為:s=0i=1WHILEi<=10j=1t=1WHILEj<=it=t*jj=j+1WENDs=s+ti=i+1WENDPRINTsEND思考:上面程序中哪個變量是內循環(huán)變量,哪個變量是外循環(huán)變量解答:內循環(huán)變量:j,t.外循環(huán)變量:s,i.上面的程序是一個的“WHILE+WHILE〞型循環(huán)嵌套語句格式.這是一個比較好想的方法,但實際上對于求n!,我們也可以根據求出的(n-1)!乘上n即可得到,而無需重新從1再累乘到n.程序可改為:s=0i=1j=1WHILEi<=10j=j*is=s+ji=i+1WENDPRINTsEND顯然第二個程序的效率要比第一個高得多.第一程序要進行1+2+…+10=55次循環(huán),而第二程序進行10次循環(huán).如題目中求的是1?。??。?000!,那么兩個程序的效率區(qū)別會更明顯.點評:解決具體的構造循環(huán)語句的算法問題,要盡可能地少引入循環(huán)變量,否那么較多的變量會使得設計程序比較麻煩,并且較多的變量會使得計算機占用大量的系統(tǒng)資源,致使系統(tǒng)緩慢.另外,也盡可能使得循環(huán)嵌套的層數少,否那么也浪費計算機的系統(tǒng)資源.變式訓練某種蛋白質是由四種氨基酸組合而成.這四種氨基酸的相對分子質量分別是57,71,97,101.實驗測定蛋白質的相對分子質量為800.問這種蛋白質的組成有幾種可能分析:該問題即求如下不定方程的整數解:設四種氨基酸在蛋白質的組成中分別各有x,y,z,w個.那么由題意可得57x+71y+97z+101w=800,〔x,y,z,w是非負整數〕這里0≤x≤14,0≤y≤11,0≤z≤8,0≤w≤7,利用窮取法,考慮一切可能出現的情況.運用多層循環(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知能訓練設計算法求的值.要求畫出程序框圖,寫出用根本語句編寫的程序.解:這是一個累加求和問題,共99項相加,可設計一個計數變量,一個累加變量,用循環(huán)結構實現這一算法.程序框圖如以下圖所示:程序如下:s=0i=1Dos=s+1/〔i*(i+1)〕i=i+1LOOPUNTILi>99PRINTsEND拓展提升青年歌手電視大賽共有10名選手參加,并請了12名評委,在計算每位選手的平均分數時,為了防止個別評委所給的極端分數的影響,必須去掉一個最高分和一個最低分后再求平均分.試設計一個算法解決該問題,要求畫出程序框圖,寫出程序〔假定分數采用10分制,即每位選手的分數最高分為10分,最低分為0分〕.解:由于共有12位評委,所以每位選手會有12個分數,我們可以用循環(huán)語句來完成這12個分數的輸入,同時設計累加變量求出這12個分數的和,本問題的關鍵在于從這12個輸入分數中找出最大數與最小數,以便從總分中減去這兩個數.由于每位選手的分數都介于0分和10分之間,我們可以先假設其中的最大數為0,最小數為10,然后每次輸入一個評委的分數,就進行一次比較,假設輸入的數大于0,就將之代替最大數,假設輸入的數小于10,就用它代替最小數,依次下去,就能找出這12個數中的最大數與最小數,循環(huán)結束后,從總和中減去最大數與最小數,再除以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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論