循环结构程序设计

[复制链接]
发表于 2023-12-22 17:42:58 | 显示全部楼层 |阅读模式
For语句

1.递增型FOR循环。  
FOR 循环控制变量:=循环初值TO 循环终值 DO 循环的语句(或语段)
例: FOR I:=5 TO 10 DO WRITELN (I);
输出的结果为: 5 6 7 8 9 10 即循环一共执行了6次
如果要重复多个语句,一定要用BEGIN-END形式:
例:
FOR I:=1 TO 10 DO
BEGIN
WRITELN (I);
WRITELN (10-I);
END;
2.递减型FOR循环  
FOR 循环控制变量:=循环初值DOWNTO 循环终值 DO 循环语句
递减型FOR循环与递增型FOR循环基本相同,只是循环控制变量每次递减。
3.FOR循环的几点注意内容:
(1)循环控制变量必须是顺序类型的变量。所谓顺序类型的变量,就是指整型,字符型,枚举型,子界型,不允许是实型。
(2)不允许在循环体内再对循环控制变量赋值。
例如:
A:=10;B:=50;
FOR K:=A TO B DO
BEGIN
K:=K+1;{这一句是错误的!!!!!!!!}
WRITELN (K);
END;
(3)当循环初值或循环终值中包含变量时,允许在循环体内改变这些变量的值,但并不改变原定的循环次数。
例:
A:=1;B:=10;
FOR I:=A TO B DO
BEGIN
A:=5;B:=4;
END;
在上面例子中,A,B的值在循环的内部发生了变化,但并不影响循环的次数,依然是10次。
4.多重循环 循环体由PASCAL语句构成,当然也可以包含FOR语句,这就构成了循环的嵌套,形成多重循环。
例如,以下FOR循环输出5行,每行输出10个星号(*)
FOR i:=1 to 5 DO
BEGIN
FOR j:=1 TO 10 DO
Write('*');
END;
初学者应当特别注意,内层的循环变量不能和外层的循环变量相同。也就是说,嵌套的各层循环应当使用不同的变量作为循环变量。
5.2 While语句
1.WHILE循环的执行形式 WHILE 布尔表达式 DO 语句
     例如:
     k:=10;
     WHILE k>0 DO
     BEGIN
          Writeln (k);
          k:=k-1
     END;
     其中
     (1)WHIlE 和DO是PASCAL保留关键字,是WHILE循环语句的组成部分。
     (2)保留关键字DO后面的“语法”只能是一条语句,称为“循环体”;如果循环 体中需要包含多个语句则应该如上例所示,采用一条复合语句。  
2.WHILE循环的执行功能     当执行到WHILE语句时
     (1)求出布尔表达式的值
     (2)若布尔表达式的值为真,则执行循环体内的语句;若为“假”,执行步骤4
     (3)重复步骤1和2
     (4)循环结束,执行循环后面的语句。
5.3 Repeat-Until语句
1REPEAT-UNTIL类型的循环的执行形式
REPEAT
语句1
语句2
……
语句n
UNTIL
布尔表达式
例如:以下循环求n=1+2+3+……+100
n:=0;t:=i;
REPEAT
n:=n+t; t:=t+1;
UNTIL t>100;
其中
(1)REPEAT
UNTILPASCAL保留关键字。
(2)
REPEATUNTIL之间的语句构成循环。在它们之间可以有任意多个语句,这一点和FORWHILE循环不同,FORWHILE循环体在语法上只允许一条语句。
2
REPEAT-UNTIL循环的执行功能 (1)遇到REPEAT语句后,即进入循环体,顺序执行循环体内的语句。
(2)
遇到UNTIL语句后,求布尔表达式的值。若值为假,则返回步骤1;若为,执行步骤3
(3)
循环结束,执行UNTIL后面的下一条语句。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表