- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
循环结构的程序设计(一)——简单计数循环(FOR循环)引入.doc
循环结构的程序设计(一)
——简单计数循环(FOR循环)
引入: 在解题的时候经常会遇到需要重复处理一类相同的事或类似的操作,如求1+2+3+4+……+100的和,就需要重复地做加法运算。这就是我们在前面提过的的循环结构,它的N-S图有两种:
当型循环(或计数循环) 直到型循环
其中: 重复做的事、操作(一条或多条语句),称为“循环体”;控制循环体是否执行的条件称为“循环条件”;
例一:计算1+2+3+4+……+100之和。
例二:输入一个自然数,求这个自然数的所有约数之和。
例三:编程找出四位数ABCD中满足下列关系的数:
(AB+CD)(AB+CD)= ABCD。
例四:输入两个数,判断它们是否互质。
例五:编程求斐波列契数列(Faibonacci)的前40个数。
0,1,1,2,3,5,8,13,21,34……
即:F1=0 (N=1)
F2=1 (N=2)
Fn=Fn-1 + Fn-2 (N=3)
计数循环的语句格式:
FOR 变量名 := 初值 TO 终值 DO 语句 ;
[例一] S:=0;
FOR I := 1 TO 10 DO S := S + I ;
WRITELN(‘ S = ’,S);
二、FOR语句的含义(执行顺序):
1、先将初值赋给赋值号左边的变量(称为“循环控制变量”);
2、判断循环控制变量的值是否已“超过”终值,如已超过,则跳到步骤⑥;
3、如果未超过,则执行DO后面的语句(称为“循环体”);
4、循环控制变量递增1(将控制变量的当前值的后继值重新赋给控制变量);
5、返回步骤②;
6、循环结束,执行FOR循环下面的一个语句。
三、说明:
1、循环控制变量必须是顺序类型,一般为整型和字符型,不能为实型;
2、循环控制变量的初值和终值在循环开始前就已计算好,在循环体中不能对控制变量进行赋值操作,要用可以将它的值赋给另外一个变量;
3、为什么叫计数循环:循环次数是确定的:
ABS(终值 - 初值)+1 ———————————————对于整型数
或:ABS(ORD(终值) - ORD(初值))+1————————对于字符型;
循环体也可能一次都不执行(初值超过了终值)。
4、可以用 DOWNTO 循环,每次递减1(前驱值),重新解释“超过”的含义;
(对于TO是指控制变量的值终值,对于DOWNTO是指控制变量的值终值);
5、循环体可以是一条语句,也可是一个复合语句;
6、退出循环后,循环控制变量的值已无意义,不能再引用。可以再利用;
四、解决例题:
例二:输入X——找出X的所有约数(从1到X逐个判断,看 X MOD Y是否为0),并且累加起来存在S中——输出S。
READLN(X);
S:=0;
FOR Y:=1 TO X DO
IF X MOD Y = 0 THEN S:=S+Y;
WRITELN(S);
例三:四位数——有哪些信誉好的足球投注网站问题,循环控制变量I从1000~9999,逐个验证——问题是将高两位M、低两位N分离开来——M:=I DIV 100,N:=I - M*100——判断I=(M+N)(M+N)——输出满足条件的I。
VAR I,M,N,K:INTEGER;
BEGIN
FOR I:=1000 TO 9999 DO
BEGIN
M:= I DIV 100;
N:= I – M*100;
K:=(M+N)*(M+N);
IF K=I THEN
WRITELN(‘FU HE TIAO JIAN DE SHU WEI :’,I);
文档评论(0)