循環(huán)語句FOR、WHILE、REPEAT_第1頁
循環(huán)語句FOR、WHILE、REPEAT_第2頁
循環(huán)語句FOR、WHILE、REPEAT_第3頁
循環(huán)語句FOR、WHILE、REPEAT_第4頁
循環(huán)語句FOR、WHILE、REPEAT_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 計算計算ex,lnx。其中。其中x=1,2,3,,10 討論:該例要求對討論:該例要求對10個個x計算出計算出10個個ex值和值和10個個lnx值。若用順序程序設(shè)計,可值。若用順序程序設(shè)計,可 以以 寫出如下語句:寫出如下語句: X:=1 Y:=exp(x); Z:=ln(x); Writeln(x,y,z); X:=x+1 Y:=exp(x); Z:=ln(x); Writeln(x,y,z); X:=x+1 Y:=exp(x); Z:=ln(x); Writeln(x,y,z); 這樣需要寫出這樣需要寫出10組語句,每組包括組語句,每組包括4個語句,個語句, 共計共計40個語句。個語句。

2、 能不能只寫一組語句,讓它重復(fù)執(zhí)行能不能只寫一組語句,讓它重復(fù)執(zhí)行10次,次, 完成同樣的要求,而程序語句數(shù)卻大大減少完成同樣的要求,而程序語句數(shù)卻大大減少 呢?呢? For := To Do 真真 假假 循環(huán)變量:初值循環(huán)變量:初值 循環(huán)變量循環(huán)變量終值終值 循環(huán)體循環(huán)體 循環(huán)變量循環(huán)變量:=SUCC(循環(huán)變量循環(huán)變量) 1、循環(huán)變量的初、終值可以是表達式(其特、循環(huán)變量的初、終值可以是表達式(其特 例是常量或變量)例是常量或變量) 2、循環(huán)變量必須與初、終值的類型相同,且、循環(huán)變量必須與初、終值的類型相同,且 只能是有序類型。只能是有序類型。 3、循環(huán)變量必須在包括該循環(huán)的最內(nèi)分程序、循環(huán)

3、變量必須在包括該循環(huán)的最內(nèi)分程序 中說明它的類型。中說明它的類型。 4、循環(huán)體可以是任何單個語句或由多個語句、循環(huán)體可以是任何單個語句或由多個語句 組成的復(fù)合語句。組成的復(fù)合語句。 5、在循環(huán)執(zhí)行前,根據(jù)初、終值表達式計算、在循環(huán)執(zhí)行前,根據(jù)初、終值表達式計算 初、終值,并由此決定循環(huán)的次數(shù)及循環(huán)變初、終值,并由此決定循環(huán)的次數(shù)及循環(huán)變 量的取值。在循環(huán)體中對初、終值表達式值量的取值。在循環(huán)體中對初、終值表達式值 的改變不會影響循環(huán)次數(shù)及循環(huán)變量的取值。的改變不會影響循環(huán)次數(shù)及循環(huán)變量的取值。 6、在循環(huán)體中不允許用任何語句改變循環(huán)變、在循環(huán)體中不允許用任何語句改變循環(huán)變 量的值。量的值。 7

4、、從、從FOR循環(huán)退出時,循環(huán)變量的值是無循環(huán)退出時,循環(huán)變量的值是無 定義的,不得使用。定義的,不得使用。 8、如果初值大于終值,循環(huán)體將根本不執(zhí)行。、如果初值大于終值,循環(huán)體將根本不執(zhí)行。 a:=1;b:=10 For i:=a to b do begin a:=5;b:=4; Writeln(i:8); End; 輸出結(jié)果:輸出結(jié)果: 1 2 3 4 5 6 7 8 9 10 For := downto Do 真真 假假 循環(huán)變量:初值循環(huán)變量:初值 循環(huán)變量循環(huán)變量終值終值 循環(huán)體循環(huán)體 循環(huán)變量循環(huán)變量:=SUCC(循環(huán)變量循環(huán)變量) Program expln(input,outp

5、ut); Var x:integer; y,z:real; Begin writeln(x:12,exp(x):12,ln(x):16); for x:=1 to 10 do begin y:=exp(x); z:=ln(x); writeln(x,y,z); end End. 算法:算法: 1、設(shè)置累加器、設(shè)置累加器sum、累乘器、累乘器mul。 2、FOR i:=1 to 10 do begin 3、讀入、讀入X 4、將、將X加到累加器加到累加器sum上上 5、將、將X乘到累乘器乘到累乘器mul上上 end 6、計算平均值、計算平均值ave 7、輸出、輸出sum、mul、ave Progr

6、am sma(input,output); Var X,sum,mul,ave:real; i:integer; begin sum:=0;mul:=1; for i:=1 to 10 do begin read(x); write(x); if i mod 5=0 then writeln; sum:=sum+x; mul:=mul*x; end; ave:=sum/10; Writeln(sum=,sum,mul=,mul,ave=,ave); End. 什么是菲波拉契數(shù)列? a0=0 a1=1 a2=a0+a1 a3=a1+a2 an=an-2+an-1 按此定義得到的菲波拉契數(shù)列是:

7、0,1,1,2,3,5,8,13,21 算法:算法: 1、將、將a0置置0,a1置置1,輸出,輸出a0,a1。 2、FOR I:=2 TO 20 DO BEGIN 3、計算、計算a2:=a0+a1 4、輸出、輸出a2 5、a0:=a1;a1:=a2 end Program fibo(input,output); var a0,a1,a2,i:integer; begin a0:=0;a1:=1; write(a0,a1); for i:=2 to 20 do begin a2:=a0+a1; write(a2); if i mod 5=0 then writeln; a0:=a1;a1:=a2

8、; end end. While do 布爾表達式布爾表達式 循環(huán)體循環(huán)體 真真 假假 算法: 1、將計數(shù)器清零。 2、讀入字符ch。 3、while ch不是? do begin 4、判斷是字母、數(shù)字或其他符號,并將 相應(yīng)計數(shù)器加1。 5、讀入下一個ch end 6、輸出字母個數(shù)、數(shù)字個數(shù)或其他符號的個數(shù)。 program count(input,output); var ch:char; num1,num2,num3:integer; begin num1:=0;num2:=0;num3:=0; read(ch); write(ch); while ch? do begin if(ch=a

9、) and(ch=A) and(ch=0)and(ch=9) then num2:=num2+1 else num3:=num3+1; read(ch); write(ch); end; writeln; writeln(num1); writeln(num2); writeln(num3); end. Repeat Until 循環(huán)體循環(huán)體 布爾表達式布爾表達式 真真 假假 whilerepeat 有可能一次也不執(zhí)行重復(fù)語句至少執(zhí)行一次 多條語句用begin和endrepeat和until 起到了語句 括號的作用 布爾表達式為false時結(jié)束 布爾表達式為true時結(jié)束 算法: 1、讀入x。

10、 2、置sum、term初值為x 3、repeat 4、計算下一項term 5、將下一項加到sum中 until term的絕對值小于10的-7次冪 6、輸出和sum 每一項單獨計算比較麻煩,也浪費機時??梢岳们耙豁椙笙乱幻恳豁梿为氂嬎惚容^麻煩,也浪費機時??梢岳们耙豁椙笙乱?項的方法(稱遞推計算方法)來計算。項的方法(稱遞推計算方法)來計算。 我們讓多項式的每一項與一個變量我們讓多項式的每一項與一個變量n相對應(yīng),其相對應(yīng),其n的值依次為的值依次為 1,3,5,7,。從多項式的前一項算后一項,只需將前一項乘一個。從多項式的前一項算后一項,只需將前一項乘一個 因子:因子:-x2/(n-1)/

11、n即可。即可。 例如根據(jù)例如根據(jù)x5/5!算下一項,只需作如下計算:算下一項,只需作如下計算: (x5/5!)*(-x2/(6*7)=-x7/7! 注意此時注意此時n=7 Program sinx(input,output); const eps=1e-7; var x,term,sum:real; n:integer; begin read(x); writeln(x=,x); n:=1; term:=x; sum:=x; repeat n:=n+2; term:=term*(-x*x)/(n-1)/n; sum:=sum+term until abs(term)eps; writeln(sin(x)=,sum); End. 1、計算N!,其中n由鍵盤輸入。 2、按正序和反序輸出26個英文字母。 3、輸入20個學(xué)生的成績,分別統(tǒng)計成績在85-100分(含85),60-85分(含 60)和60分以下,各分數(shù)段中的人數(shù)。 4、輸入20個數(shù),求出其中的最大值和最小值。 5、求:100-999中的水仙花數(shù)。 (若abc=a3+b3+c3,則稱abc為水仙花數(shù)。 例如:153,

溫馨提示

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

最新文檔

評論

0/150

提交評論