- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Pascal基本教程
循环程序
for 语句
for 语句用来描述已知重复次数的循环结构。for 语句有两种形式:
(1) for 控制变量:=初值 to 终值 do 语句;
(2) for 控制变量:=初值 downto 终值 do 语句;
第一种形式的for 语句是递增循环。首先将初值赋给控制变量,接着判断控制变量的值是否小于或等于终值,若是,则执行循环体,在执行了循环体之后,自动将控制变量的值该为它的后继值,并重新判断是否小于或等于终值。当控制变量的值大于终值时,退出for循环,执行for语句之后的语句。第一种形式的for 语句是递减循环。首先将初值赋给控制变量,接着判断控制变量的值是否大于或等于终值,若是,则执行循环体,在执行了循环体之后,自动将控制变量的值该为它的前趋值,并重新判断是否大于或等于终值。当控制变量的值小于终值时,退出for循环,执行for语句之后的语句。for 语句中的初值、终值、控制变量的数据都必须是顺序类型。当初值和终值确定后,重复的次数就确定不变了,并且控制变量在重复语句内不能施加任何赋值操作。
例1:计算1+2+3+……+99+100
program jia;
var i,sum:integer;
begin
sum:=0;
for i:=1 to 100 do
sum:=sum+i;
writeln(sum);
readln;
end.
练习:试打印出1~20的自然数。
解:① 用a代表1~20各数,同时也用a兼作计数,以控制循环次数;
② 让a从1开始;
③ 输出a;
④ a自动计数(加1),如果未超越所规定的循环范围则重复步骤③,否则结束循环。
练习:试打印出1~20的自然数。
Program Exam12;
Var a:integer ;
Begin
for a:=1 to 20 do
Writeln (a);
Readln
End.
例2:打印出30至60的偶数。
方法一:
①设a表示30至60的所有的数,可用for循环列出;
②用式子 a mod 2=0 筛选出其中的偶数并输出。
例2:打印出30至60的偶数。
Program ex2;
Var a:integer;
Begin
For a := 30 to 60 do
If (a mod 2=0) then writeln(a);
Readln;
End.
例2:打印出30至60的偶数。
方法二:我们知道,在式子a=2*n中,若n取自然数1、2、3、…,时,则a依次得到偶数2、4、6、…。因此要想得到30至60的偶数,就可以让上面式子中的n取15至30的自然数就可以了。所以本题还可以按以下步骤处理:
①设n表示15至30的所有自然数,可用for循环列出;
②用式子 a := 2*n 求出其中的偶数;
③将结果输出至屏幕。
例2:打印出30至60的偶数。
Program ex32;
Begin
For n := 15 to 30 do
Begin
a := 2*n;
Writeln(a);
End;
Readln;
End.
例3:一个两位数x,将它的个位数字与十位数字对调后得到一个新数y,此时y恰好比x大36,请编程求出所有这样的两位数。
解:
① 用for循环列举出所有的两位数,x为循环变量;
② 用公式a:= x div 10分离出x的十位数字;
③ 用公式b:= x mod 10分离出x的个位数字;
④ 用公式y:= b*10+a合成新数y;
⑤ 用式子y-x=36筛选出符合条件的数x并输出。
例3:一个两位数x,将它的个位数字与十位数字对调后得到一个新数y,此时y恰好比x大36,请编程求出所有这样的两位数。
Program lt3;
var x,a,b,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 writeln(x);
End;
Readln;
End.
练习2:把整数3025从中剪开分为30和25两个数,此时再将这两数之和平方,(30+25)2=3025计算结果又等于原数。求所有符合这样条件的四位数。
解:设符合条件的四位数为N,它应当是一个完全平方数,用(a*a)表示。
① 为了确保N=(a*a)在四位数(1000~9999)范围内,可确定a在32~99循环;
② 计算N=a*a;将四位数N拆分为两个数n1和n2;
③ 若满足
原创力文档


文档评论(0)