网站大量收购独家精品文档,联系QQ:2885784924

第三章循环程序.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章循环程序

第三章 循环程序 在编程中经常遇到需要多次规律相同的重复处理,这就是循环问题。Turbo Pascal采用不同的循环方式来实现,常用的环循有三种: for、repeat、while. 第一节 for 循环 for循环是一种自动计数型循环。 [例3.1] 试打印出1~20的自然数。 解:① 用a代表1~20各数,同时也用a兼作计数,以控制循环次数; ② 让a从1开始; ③ 输出a; ④ a自动计数(加1),如果未超越所规定的循环范围则重复步骤③,否则结束循环。 Pascal程序: Program Exam12; Var a: byte; Begin for a:=1 to 20 do Writeln (a); Readln End. 程序中 for a:=1 to 20 do Writeln (a); 是for循环语句。 for 循环语句有两种格式: (1) for 循环变量:=初值 To 终值 do 语句; (2) for 循环变量:=初值 downto 终值 do 语句; 第(1)种格式的初值小于等于终值,循环变量值按自动加1递增变化; 第(2)种格式的初值大于或等于终值,循环变量值按自动减1递减变化。for 循环是 (以递增1或以递减1) 计数型循环。 比如: 若将[例3.1]程序改为倒计数(递减)循环,则输出20~1的自然数数: Program Exam31; Var a: byte; Begin for a:=20 downto 1 do Writeln(a) ; Readln End. [例3.2]打印出30至60的偶数。] 解: 方法一: = 1 \* GB3 ①设a表示30至60的所有的数,可用for循环列出; = 2 \* GB3 ②用式子 a mod 2=0 筛选出其中的偶数并输出。 Pascal程序: Program ex32; Var a : integer; Begin For a := 30 to 60 do If (a mod 2=0) then writeln(a); Readln; End. 在这个程序中,for循环后的循环语句是一个条件分支语句。 方法二:我们知道,在式子a=2*n中,若n取自然数1、2、3、…,时,则a依次得到偶数2、4、6、…。因此要想得到30至60的偶数,就可以让上面式子中的n取15至30的自然数就可以了。所以本题还可以按以下步骤处理: = 1 \* GB3 ①设n表示15至30的所有自然数,可用for循环列出; = 2 \* GB3 ②用式子 a := 2*n 求出其中的偶数; = 3 \* GB3 ③将结果输出至屏幕。 Pascal程序: Program ex32; Begin For n := 15 to 30 do Begin a := 2*n; Writeln(a); End; Readln; End. [例3.3]自然数求和:编一个程序,求从1至100的自然数的和。 解:① 令S=0; ② 令a表示1至100的自然数,用循环列出; ③ 将这些自然数用公式S:=S+a 逐一累加到S中去; = 4 \* GB3 ④ 循环结束后,S即为1至100的自然数的和,输出即可。 Pascal程序: Program ex33; var s,a : integer; Begin S := 0; For a := 1 to 100 do S := S+a; Writeln(‘S=’,S); Readln; End. [例3.4]一个两位数x,将它的个位数字与十位数字对调后得到一个新数y,此时y恰好比x大36,请编程求出所有这样的两位数。 解:① 用for循环列举出所有的两位数,x为循环变量; ② 用公式a:= x div 10分离出x的十位数字; ③ 用公式b:= x mod 10分离出x的个位数字; ④ 用公式y:= b*10+a合成新数y; = 5 \* GB3 ⑤ 用式子y-x=36筛选出符合条件的数x并输出。 Pascal程序: Program ex34; 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 writeln(x); End; Readln; End. [例3.5] 把整数3025从中剪开分为30和25两个数,此时再将这两数之和平方,(30+25)2=3025计算结果又等于原数。

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档