【課題】循環(huán)結(jié)構(gòu)程序_第1頁(yè)
【課題】循環(huán)結(jié)構(gòu)程序_第2頁(yè)
【課題】循環(huán)結(jié)構(gòu)程序_第3頁(yè)
【課題】循環(huán)結(jié)構(gòu)程序_第4頁(yè)
【課題】循環(huán)結(jié)構(gòu)程序_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、【課 題】循環(huán)結(jié)構(gòu)程序【教學(xué)目標(biāo)】理解并掌握單層FOR循環(huán)的功能; 掌握FOR語(yǔ)句應(yīng)用格式; 能夠正確應(yīng)用FOR循環(huán)解決指定次數(shù)的循環(huán)問(wèn)題; 領(lǐng)悟程序算法的數(shù)學(xué)模型建立; 激發(fā)學(xué)生用程序解決實(shí)際問(wèn)題的興趣【教學(xué)重點(diǎn)】FOR語(yǔ)句在程序中的運(yùn)用【教學(xué)難點(diǎn)】循環(huán)次數(shù)與循環(huán)體的模型建立【教學(xué)方法】任務(wù)驅(qū)動(dòng)法、程序討論法、上機(jī)實(shí)踐法【課程類型】授新課【教學(xué)反思】【教學(xué)過(guò)程】一、導(dǎo)入1、小明為希望工程存款,第一個(gè)月存1元,第二個(gè)月存入2元,第三個(gè)月存3元,計(jì)算兩年共為希望工程存款多少元?在實(shí)際應(yīng)用中,會(huì)經(jīng)常遇到許多有規(guī)律性的重復(fù)處理問(wèn)題。例如,2、解決運(yùn)動(dòng)會(huì)所需要的幾百個(gè)號(hào)碼布,如何輸出“*”呢?寫百個(gè)w

2、riteln(*)輸出?可以用循環(huán)結(jié)構(gòu)程序設(shè)計(jì),可以有不同的方法實(shí)現(xiàn)。二、新授1、可以用GOTO和帶標(biāo)號(hào)語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)(出示程序)Program SigmaN(input,output);Label 10;下一語(yǔ)句1 => ii+1 è i打印Ii<=10VAR n,I,total: integer;Begin Readln(n); Total:=0; i:=1;10: total := total + i ; i:=i+1; if i <=n then goto 10; writeln(the total of sigma , n:4, is, total)EN

3、D.2、FOR語(yǔ)句格式和執(zhí)行過(guò)程先看一個(gè)簡(jiǎn)單的例子:For i : = 1 to 10 do Write ( i : 3 ) ;執(zhí)行此語(yǔ)句將打印出:2 3 4 5 6 7 8 9 10for語(yǔ)句的一般格式為:for <控制變量>:=<表達(dá)式1> to <表達(dá)式2> do <語(yǔ)句>for <控制變量>:=<表達(dá)式1> downto <表達(dá)式2> do <語(yǔ)句>FOR語(yǔ)句的語(yǔ)法圖FOR變量名:=初值終值DOTO終值 遞增型循環(huán)FOR變量名:=初值終值DOdownto終值 遞減型循環(huán)FOR循環(huán)語(yǔ)句的執(zhí)行過(guò)

4、程:循環(huán)結(jié)束初值=>變量循環(huán)變量遞增或遞減執(zhí)行do后的語(yǔ)句變量超過(guò)終值知識(shí)點(diǎn): 循環(huán)變量必須為順序類型,(例如,整型、字符型,但不能為實(shí)型。) 循環(huán)變量遞增或遞減規(guī)律:如果是遞增,則按SUCC(i)規(guī)律變化,遞減則按pred(i)規(guī)律變化 循環(huán)體可以是一個(gè)基本語(yǔ)句,也可以是一個(gè)復(fù)合語(yǔ)句。 循環(huán)變量不得在循環(huán)體內(nèi)再被賦值 循環(huán)變量的初值和終值一經(jīng)確定,循環(huán)次數(shù)就確定不變了。For語(yǔ)句執(zhí)行過(guò)程先將初值賦給左邊的變量(稱為循環(huán)控制變量);判斷循環(huán)控制變量的值是否已"超過(guò)"終值,如已超過(guò),則跳到步驟;如果末超過(guò)終值,則執(zhí)行do后面的那個(gè)語(yǔ)句(稱為循環(huán)體);循環(huán)變量遞增(對(duì)to

5、)或遞減(對(duì)downt o);返回步驟;循環(huán)結(jié)束,執(zhí)行for循環(huán)下面的一個(gè)語(yǔ)句。思考:如果要求1+2+3+100, 1+3+5+99,2+4+100呢?三、應(yīng)用舉例【例1】求N!123N ,這里N不大于10。分析:程序要先輸入N,然后從1累乘到N。讀入n T N<0 F 1èx打印 for i:=1 to n do出錯(cuò) 信息 x+ièx 打印n , x程序如下:NfactorialProgram leichen(input,output);Var n,i : integer;i為循環(huán)變量x : longint;s作為累乘器beginwrite('Enter n

6、=');readln(n);輸入nif n<0 then writeln (Input n<0 error ! ) else beginx:=1;for i:=n downto 2 do從2到n累乘到s中x:=x*i;writeln(n, '!=', x :10 :1)輸出n!的值 endend.【例2】一個(gè)樓梯20 級(jí)臺(tái)階,上樓時(shí)允許每步邁一級(jí)或兩級(jí)臺(tái)階,按照這樣的走法,共有多少種走法?編程解決。這就是意大利著名數(shù)學(xué)家的兔子繁殖,所形成的數(shù)列問(wèn)題。Fibonacci 數(shù)列,前幾個(gè)數(shù)為 1,1,2,3,5,8,13,其規(guī)律是:F1=1 (n=1) Prevf

7、:=1 lastf:=1 打印Prevf, lastfFOR i : = 3 to 24 doF : =prevf+lastf;打印FPrevf : = lastflastf : = f ;F2=1 (n=2) Fn = Fn-1+ Fn-2 (n>=3) 編程求此數(shù)列前24項(xiàng)。Program Nfib(input, output) ;Var f , prevf,lastf , i , n : integer; BEGIN Prevf:=1; lastf:=1 ;Write(prevf:10:0, lastf :10 :0); N:=2;FOR i : = 3 to 20 do Begi

8、n F:=prevf+lastf; If (n mod 4=0 ) then witeln; Write (f :10:0) ; N : = n+1; Prevf : = lastf ; lastf : = f ; EndEND.四、歸納小結(jié)重復(fù)執(zhí)行的對(duì)象稱為循環(huán)體。 重復(fù)執(zhí)行次數(shù)由FOR語(yǔ)句控制,變量i 稱為循環(huán)控制變量,只是起個(gè)計(jì)數(shù)的作用。編程時(shí)需要注意FOR語(yǔ)句的格式,需要正確應(yīng)用。對(duì)于典型例題,應(yīng)該盡量上機(jī)驗(yàn)證;累加程序及算法需要理解記憶。五、拓展練習(xí): 【例3】 輸入兩個(gè)數(shù)x1,x2,判斷它們是否互質(zhì)數(shù)。分析:判斷兩個(gè)數(shù)X1,X2是否互質(zhì)的方法:如果X1/X2為整數(shù),則非互質(zhì);如果X

9、2和X1能同時(shí)被2X2/2間任一整數(shù)整除,則X1和X2非互質(zhì)算法分析是一個(gè)逐步細(xì)化的過(guò)程輸入X1,X2 判斷是否互質(zhì)打印結(jié)果S1:S2大數(shù)èX1; 小數(shù)èX2 x1被x2整除T F非互質(zhì) X2和X1同時(shí)被2X2/2除,判是否互質(zhì)S2:S2-1 S2-2S2-2-1S2-2-1: X2 DIV x1 è n For I : = 2 to n do X2 , X1能同時(shí)被i T 整除 F 非互質(zhì) 互質(zhì)參考程序如下Program M-P-N(input,output) ;Var x1,x2,t,n,i:integer; Yes:Boolean;Begin write(I

10、nput x1,x2 ) ; Readln(x1,x2); If x1<x2 then Begin t:=x1; x1:=x2; x2:=t end; Yes:=true; If (x1 mod x2 )=0 Then yes:=false Else begin n : =x2 div 2; for i:=2 to n do if (x1 mod i)=o and (x2 mod I )=0) then tes:=false end; if yes then writeln(they are mutual prime number) else writeln(Then are not m

11、utual prime number)End.六上機(jī)編程:P348 T6,T7七、板書設(shè)計(jì)For i:=1 to 10 do Write(i:3);執(zhí)行此語(yǔ)句將打印出:1 2 3 4 5 6 7 8 9 10for語(yǔ)句的一般格式為:for <控制變量>:=<表達(dá)式1> to <表達(dá)式2> do <語(yǔ)句>for <控制變量>:=<表達(dá)式1> downto <表達(dá)式2> do <語(yǔ)句>求N!123N ,N<=10。Program leichen(input,output);varn,i : int

12、eger;i為循環(huán)變量S : longint;s作為累乘器beginwrite('Enter n=');readln(n);輸入ns:=1;for i:=2 to n do從2到n累乘到s中s:=s*i;writeln(n,'!=',s);輸出n!的值end.Fibonacci 數(shù)列,前幾個(gè)數(shù)為 1,1,2,3,5,8,13,其規(guī)律是:F1=1 (n=1) F2=1 (n=2) Fn = Fn-1+ Fn-2 (n>=3) 編程求此數(shù)列前24項(xiàng)。Prevf:=1 lastf:=1 打印Prevf, lastfFOR i : = 3 to 24 doF : =prevf+lastf;打印FPrevf : = lastflastf : = f ;Program Nfib(input, output) ;Var f , prevf,lastf : Real ; i , n : integer; BEGIN Prev

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論