




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2016年11月 在實(shí)際應(yīng)用中,會(huì)經(jīng)常遇到許多有規(guī)律性的重復(fù)運(yùn)算,這就需要掌握本章所介紹的循環(huán)結(jié)構(gòu)程序設(shè)計(jì)。在pascal語言中,循環(huán)結(jié)構(gòu)程序通常由三種的循環(huán)語句來實(shí)現(xiàn)。分別為for循環(huán)、當(dāng)循環(huán)和直到循環(huán)。將一組重復(fù)執(zhí)行的語句成為循環(huán)體,而控制重復(fù)執(zhí)行或終止執(zhí)行由重復(fù)終止條件決定。重復(fù)語句是由循環(huán)體及重復(fù)終止條件兩部分組成。例:求1+2+3+.+N 的和。如何編程呢?第一節(jié) 循環(huán)語句(for語句)一、for語句的一般格式 for:= to do ; for:= downto do ;其中for、to、downto和do是pascal保留字。表達(dá)式1與表達(dá)式2的值稱為初值和終值。循環(huán)的語句格式:
2、for 變量名:=初值 to 終值 do 語句;例:s:=0; for i:=1 to 10 do s:=s+i; writeln(s=,s);二、for語句執(zhí)行過程 1.先將初值賦給左邊的變量(稱為循環(huán)控制變量); 2.判斷循環(huán)控制變量的值是否已“超過”終值,如已超過,則跳到步驟6; 3.如果未超過終值,則執(zhí)行do后面的語句(稱為循環(huán)體); 4.循環(huán)變量遞增(對 to)或遞減(對downto)1; 5.返回步驟2;(重新返回判斷循環(huán)控制變量是否超出); 6.循環(huán)結(jié)束,執(zhí)行for循環(huán)下面的一個(gè)語句。三、說明 1.循環(huán)控制變量必須是順序類型??梢允钦汀⒆址?、枚舉型等,但不能為實(shí)型。 2.循環(huán)
3、控制變量的值遞增或遞減的規(guī)律是:選用to則為遞增;選用downto則為遞減。 3.所謂循環(huán)控制變量的值“超過”終值,對遞增型循環(huán),“超過”指大于,對遞減型循環(huán),“超過”指小于。 4.循環(huán)體可以是一個(gè)基本語句,也可以是一個(gè)復(fù)合語句。 5.循環(huán)控制變量的初值和終值一經(jīng)確定,循環(huán)次數(shù)就確定。但在循環(huán)體內(nèi)對循環(huán)變量的值進(jìn)行修改,常常會(huì)使得循環(huán)提前結(jié)束或進(jìn)入死環(huán)。建議不要在循環(huán)體中隨意修改控制變量的值。(即變量作為循環(huán)控制變量后,在循環(huán)體中不能再次使用) 6.for語句中的初值、終值都可以是順序類型的常量、變量、表達(dá)式。例:求1+2+3+.+N 的和。如何編程呢? 源程序: program ex; va
4、r s,i,n:integer; begin write(enter n=); read(n); s:=0; for i:=1 to n do s:=s+i; writeln(s:5); end.四、應(yīng)用舉例例1輸出1100之間的所有偶數(shù)。源程序: program ex; var i:integer; begin for i:=1 to 100 do if i mod 2=0 then writeln(i:5); end. 例2求N!123N ,這里N不大于10。(n!為n的階乘運(yùn)算)分析:程序要先輸入N,然后從1累乘到N。源程序: program jiecheng; var i,n:inte
5、ger; s:longint; begin write(enter n=); read(n); s:=1; for i:=2 to n do s:=s*i; write(n,!=,s); end.數(shù)據(jù)類型的長度:Integer -32768.32767longint -2147483648.2147483647防止因數(shù)據(jù)長度不夠,而造成溢出錯(cuò)誤! 例3、一個(gè)兩位數(shù)x,將它的個(gè)位數(shù)字與十位數(shù)字對調(diào)后得到一個(gè)新數(shù)y,此時(shí)y恰好比x 大36,請編程求出所有這樣的兩位數(shù)。分析: 用for循環(huán)列舉出所有的兩位數(shù),x為循環(huán)變量;(兩位數(shù),數(shù)量確定, 循環(huán)次數(shù)隨之確定 for i:=10 to 99 ) 用
6、公式a:= x div 10分離出x的十位數(shù)字;(div取整運(yùn)算) 用公式b:= x mod 10分離出x的個(gè)位數(shù)字;(mod求余運(yùn)算) 用公式y(tǒng):= b*10+a合成新數(shù)y; 用式子y-x=36篩選出符合條件的數(shù)x并輸出。思考: 1.最小的兩位數(shù) ;最大的兩位數(shù): ; 2.如何得到十位和個(gè)位上的數(shù)? 3.怎樣合成新數(shù)? 4.怎樣確定符合條件的兩位數(shù)?源程序: program ex; var a,b,x,y:integer; begin for x:=10 to 99 do begin a:=x div 10; b:=x mod 10; y:=b*10+a; if y-x=36 then wr
7、iteln(y:2); end; end. 程序的嵌套!例4:輸入一個(gè)自然數(shù),求這個(gè)自然數(shù)的所有約數(shù)之和。知識(shí)點(diǎn)睛: 約數(shù),又稱因數(shù)。整數(shù)a除以整數(shù)b(b0) 除得的商正好是整數(shù)而沒有余數(shù),我們就說a能被b整除,或b能整除a。a稱為b的倍數(shù),b稱為a的約數(shù)。分析:1.從鍵盤中讀入一個(gè)自然數(shù); 2.求該自然數(shù)的約數(shù),從1到x逐個(gè)判斷,看x mod y 是否為0; 3.將約數(shù)逐個(gè)相加(累加);源程序: program yueshu; var x,y,s:integer; begin write(enter x); read(x); for y:=1 to x do if x mod y=0 the
8、n s:=s+y; write(s); end.延伸:輸出x的所有約數(shù)和約數(shù)之和源程序: program yueshu; var x,y,s:integer; begin write(enter x); read(x); s:=0; for y:=1 to x do begin if x mod y=0 then s:=s+y; writeln(y); end; write(he=,s); end.例5、把整數(shù)3025從中剪開分為30 和25 兩個(gè)數(shù),此時(shí)再將這兩數(shù)之和平方,(30+25)2=3025 計(jì)算結(jié)果又等于原數(shù)。求所有符合這樣條件的四位數(shù)。分析: 1.確定四位數(shù)的取值范圍100099
9、99,從而確定循環(huán)次數(shù); 2.設(shè)法將四位數(shù)分開,即千位與百位組成一個(gè)兩位數(shù),十位與個(gè)位組成一個(gè)兩位數(shù); 3.將這兩個(gè)兩位數(shù)相加,求平方,并與原四位數(shù)比較看是否相等源程序: program ex; var n,n1,n2:longint; begin for n:=1000 to 9999 do begin n1:=n div 100; 取n的千位和百位 n2:=n-n1*100; 取n的十位和個(gè)位 s:=n1+n2; if s*s=n then writeln(n);判斷與原數(shù)是否相同 end; end.練習(xí):1.計(jì)算100之內(nèi)所有的奇數(shù)之和。2.求菲波拉契數(shù)列a0,a1,a2,a20。 a0=0,a1=1,a2=a1+a0,a3=a2+a1, an=an-1+an-2; 如0,1,1,2,3,5,8,13,21,3.求20個(gè)數(shù)中的最大值和最小值。4.求s=1+1/2+1/3+1/1005.按字母表的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 掛網(wǎng)工程合同范本
- 鑄件采購合同范本
- 農(nóng)民養(yǎng)魚出售合同范本
- α-Hydroxy-flubromazolam-生命科學(xué)試劑-MCE
- p38α-inhibitor-7-生命科學(xué)試劑-MCE
- 奶茶店承租合同范本
- Ethyl-2-amino-4-phenyl-thiophene-3-carboxylate-生命科學(xué)試劑-MCE
- 臨沂2025年山東臨沂沂河新區(qū)部分事業(yè)單位招聘綜合類崗位12人筆試歷年參考題庫附帶答案詳解
- Bromadoline-生命科學(xué)試劑-MCE
- 科技公司的網(wǎng)絡(luò)安全培訓(xùn)及其實(shí)踐
- DB37-T3953-2020醫(yī)療衛(wèi)生機(jī)構(gòu)安全風(fēng)險(xiǎn)分級管控體系實(shí)施指南
- T-CSPSTC 111-2022 表層混凝土低滲透高密實(shí)化施工技術(shù)規(guī)程
- 食品經(jīng)營安全管理制度目錄
- 南通大學(xué)開題報(bào)告模版
- 醫(yī)院急救中心勞務(wù)外包采購項(xiàng)目評標(biāo)辦法(評分細(xì)則表)
- JTG H12-2015 公路隧道養(yǎng)護(hù)技術(shù)規(guī)范
- 2024天津工業(yè)職業(yè)學(xué)院教師招聘考試筆試試題
- QCT1067.5-2023汽車電線束和電器設(shè)備用連接器第5部分:設(shè)備連接器(插座)的型式和尺寸
- 石灰石開采項(xiàng)目可行性分析報(bào)告
- 2024年高考?xì)v史總復(fù)習(xí)中外歷史大事年表
- 追求理解的教學(xué)設(shè)計(jì)
評論
0/150
提交評論