大榕树——让我们共成长!
大榕树 myDrs.org
您的位置:大榕树 \ 编程       |  Logo语言   |  Pascal语言   |  信息学奥赛   |  高考保送    |  HTML版本
|  Pascal语言>>Pascal入门>>各种循环语句的运用         本站全文搜索: 友情提示:

各种循环语句的运用
http://www.mydrs.org  7/18/2001  大榕树


〖语法分析〗


     在PASCAL语言中,有3种循环语句,所谓循环,就是不断地重复某一段程序段。这三种语句分别是FOR,REPEAT-UNTIL,WHILE。



     一,首先介绍FOR语句,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;

初学者应当特别注意,内层的循环变量不能和外层的循环变量相同。也就是说,嵌套的各层循环应当使用不同的变量作为循环变量。



     二、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)循环结束,执行循环后面的语句。



    三、REPEAT-UNTIL和WHILE类型的循环

     1,REPEAT-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和UNTIL是PASCAL保留关键字。

     (2)在REPEAT和UNTIL之间的语句构成循环。在它们之间可以有任意多个语句,这一点和FOR,WHILE循环不同,FOR,WHILE循环体在语法上只允许一条语句。

     2,REPEAT-UNTIL循环的执行功能

     (1)遇到REPEAT语句后,即进入循环体,顺序执行循环体内的语句。

     (2)遇到UNTIL语句后,求布尔表达式的值。若值为假,则返回步骤1;若为“真”,执行步骤3

     (3)循环结束,执行UNTIL后面的下一条语句。


作 者:sthsyan@21cn.com
来 源:NOI信息学竞赛(http://noi.stinfo.net)
共有5346位读者阅读过此文

  • 上篇文章分情况(CASE)语句
  • 下篇文章Free Pascal 1.04 完整版

  • 发送邮件
    保存页面 打印文章 HTML版本 发表评论

    □- 近期热门文章 □- 相关文章
    1. NOIP2006竞赛大纲 [8306]
    2. 七类高中生具有保送资格 [5910]
    3. NOI2006获奖选手名单 [4955]
    4. 关于举办NOIP2006模拟赛的通告 [4106]
    5. Turbo Pascal各语句运行速... [3594]
    6. Turbo王者归来新Delphi免费... [3181]
    7. IOI2006我国4名选手全部获得金... [2945]
    8. 关于APIO2007与IOI2007... [2763]
    9. noip倒计时 by 枯叶蝴蝶 [2683]
    10. 朱泽园:思想上的金牌更重要 [2168]
    循环结构、数组综合练习题
    REPEAT循环练习题
    WHILE循环练习题
    FOR循环练习题
    各种循环语句的运用
     

    关于本站 | 合作伙伴 | 联系方式
    大榕树 版权所有 ©1999-2006 www.myDrs.org 闽ICP备05000721号