高中信息技術(shù) 奧林匹克信息學(xué)競賽班進階篇 pascal-02 循環(huán)語句課件.ppt
《高中信息技術(shù) 奧林匹克信息學(xué)競賽班進階篇 pascal-02 循環(huán)語句課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《高中信息技術(shù) 奧林匹克信息學(xué)競賽班進階篇 pascal-02 循環(huán)語句課件.ppt(16頁珍藏版)》請在裝配圖網(wǎng)上搜索。
PASCAL基本語句,For 語句,循環(huán)語句,(1)for 語句,s := 0; {s置初值0} for i := 1 to 100 do s := s + i ; writeln(’s=’,s); {輸出累加和s},,For 語句,for 語句,s := 0; for i := 100 downto 1 do s := s + i ; writeln(’s=’,s);,For 語句,for 語句注意事項,控制變量不能為real型,for語句的步長是一定的,不要在循環(huán)體內(nèi)改 變循環(huán)控制變量,如: for k := 1 to 100 do begin k := 3; {循環(huán)體中改變了循環(huán)變量k的值} …… end,For 語句,for 語句注意事項,for語句執(zhí)行完,控制變量無定義, 因此for語句的后續(xù)語句不能認為控制變量的值是終值而加以利用。,當(dāng)初值超過終值時,不執(zhí)行循環(huán),循環(huán)次數(shù)為0。,例1:換零錢,例:換零錢 把一張一元鈔票換成一分、二分和五分的硬幣(每種至少一枚),問有哪幾種換法?,[分析] 采用窮舉法解決: 令五分錢硬幣的個數(shù)為k,k的取值范圍為1~19 ; 二分錢硬幣的個數(shù)為j,j的取值范圍為1~49 ; 一分錢硬幣的個數(shù)則為100-k5-j2 ; n為計數(shù)器,累計兌換方案的總數(shù)。 這樣利用二重循環(huán)就可以得到每一種組合。,例1:換零錢,program s100; var i , j , k , n : integer; begin n := 0; { 計數(shù)器n清0 } for k := 1 to 19 do { 五分硬幣的個數(shù) } for j := 1 to 49 do begin { 二分硬幣的個數(shù) } i := 100-k * 5-j * 2 ; { 一分硬幣的個數(shù) } if i =1 then begin { 想想:為什么要加這一判斷 } writeln ( ‘ 1 fen:’ , i , ‘ 2 fen:’, j , ‘ 5 fen:’ , k ); n := n + 1; { 計數(shù)器加1 } end; {if} end; writeln (‘ total =’ , n ); end.,For 語句,for 語句嵌套,打印 * 陣,,while 語句,While語句,var i : longint; begin i:=1; while i50 do begin writeln ( i ); i:=i+3; end; end.,輸出: 1 4 7 10 13 16 …,while 語句,不小心出現(xiàn)死循環(huán)怎么辦? 按Ctrl+Break強制中斷程序運行。,var i : longint; begin i:=1; while i50 do begin writeln ( i ); i:=i+3; end; end.,,注意防止死循環(huán),循環(huán)體中必須有修改WHILE后面的循環(huán)終止條件操作,while 語句,例:求最大公約數(shù),輾轉(zhuǎn)相除法,如果 x可以被 y 整除(即 x mod y=0),則 y 為 x 和y 的最大公約數(shù); 否則,設(shè) z為x除以y的余數(shù)( z:=x mod y),再設(shè) x:=y; y:=z; 看x可以被 y 整除,若能整除,則y為x 和y 的最大公約數(shù); 否則,繼續(xù)輾轉(zhuǎn)相除下去……,while 語句,例:求最大公約數(shù),輾轉(zhuǎn)相除法,,,,,,,例如: x=24 y=15 x y z,24 15 = 1 …… 9,15 9 = 1 …… 6, 6 = 1 …… 3,6 3 = 2 …… 0,while 語句,例:求最大公約數(shù),輾轉(zhuǎn)相除法,var a, b, c : longint ; begin readln(a,b); while a mod b0 do begin c:=a mod b; a:=b; b:=c; end; writeln(b); end.,repeat 語句,repeatuntil語句,repeat 語句,repeatuntil語句,var i : longint; begin i:=1; while i50 do begin writeln ( i ); i:=i+3; end; end.,var i : longint; begin i:=1; repeat writeln ( i ); i:=i+3; until i=50; end.,,repeat 語句,試商法判斷質(zhì)數(shù),輸入一個大于1的整數(shù)N,若為質(zhì)數(shù),輸出‘T’,否則輸出‘F’。,var x,i: integer; f : boolean; begin readln(x); f:=true; i:=2; if x2 then repeat if x mod i=0 then f:=false; i:=i+1; until (isqrt(x)) or (f=false); if f=true then writeln(‘T’) else writeln(‘F’); end.,,,i能否被x整除,沒必要從2檢測到n-1,x=a*b (a=b),24=2*12 =3*8 =4*6,- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 高中信息技術(shù) 奧林匹克信息學(xué)競賽班進階篇 pascal-02 循環(huán)語句課件 高中 信息技術(shù) 奧林匹克 信息學(xué) 競賽 進階 pascal 02 循環(huán) 語句 課件
鏈接地址:http://m.jqnhouse.com/p-2945397.html