晨风资讯网
新闻资讯网络冲浪网页设计网络编程图形图像数据库网络媒体服务器网络安全网站运营软件教程黑客认证Wap技术
教程搜索
教程搜索:
  首页 > 程序开发 > VB/VB.NET > 正文  

循环结构:根据某种条件反复执行程序循环体中的语句
日期:2007-12-19 15:27:33 来源: 作者: 浏览:

循环结构:根据某种条件反复执行程序循环体中的语句

循环结构:根据某种条件反复执行程序循环体中的语句
一、首先学习当循环
循环语句充分利用了计算机运算速度快的特点,把大量的重复性的工作交给了计算机处理。
例题:
     1. WHILE循环格式。
     WHILE 布尔表达式 DO 语句
     例如:
     i:=1;
     WHILE i<=10 DO
     BEGIN
          Writeln (i);
          i:=i+1
     END;
     其中
     (1)WHIlE 和DO是PASCAL保留关键字,是WHILE循环语句的组成部分。
     (2)保留关键字DO后面的语句,称为"循环体";如果循环体中需要包含多个语句则应该如上例所示,采用复合语句的形式。
     2. WHILE循环的执行功能
      当执行到WHILE语句时
     (1)求出布尔表达式的值
     (2)若布尔表达式的值为真,则执行循环体内的语句;若为"假",则执行循环体后面的语句
     (3)重复步骤⑴和⑵
     (4)循环结束,执行循环后面的语句。
     注意:
     循环中一定要有能够改变布尔表达式值的语句(如i:=i+1),否则会陷入死循环中。
     循环中经常会用到i:=i+1或i:=i-1的形式,它们通常被称为计数器,可以用于统计循环执行的次数。还会经常看到s:=s+i或s:=s*i的形式,它们通常被称为累加器或累乘器,累加器中的s使用前通常要清零,累乘器中的s使用前通常要赋初值为1。

例:根据输入的自然数n,求1+2+3+...+n的和。(当然也可以用公式来做)
    var n,i,s:integer;
    begin
        readln(n);
        i:=0;s:=0;
        while i<=n do
        begin
            i:=i+1;
            s:=s+i
        end;
        writeln(s)
    end.
    例:根据输入的自然数n,求1*2*3*...*n的和。(当然也可以用公式来做)
    var n,i,s:real;
    begin
        readln(n);
        i:=0;s:=1;
        while i<=n do
        begin
            i:=i+1;
            s:=s*i
        end;
        writeln(s:2:0)
    end.
 
二、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循环体在语法上只允许一条语句。
REPEAT-UNTIL循环的执行功能
     (1)遇到REPEAT语句后,即进入循环体,顺序执行循环体内的语句。
     (2)遇到UNTIL语句后,求布尔表达式的值。若值为假,则返回步骤1;若为"真",执行步骤3
     (3)循环结束,执行UNTIL后面的下一条语句。
 
三、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;{这一句不应该出现,如果有循环步长不为1的情况,可改用while或repeat循环}
          WRITELN (K);
     END;
 
四、多重循环
多重循环 循环体由PASCAL语句构成,当然也可以包含FOR语句,这就构成了循环的嵌套,形成多重循环。
     例如,以下FOR循环输出5行,每行输出10个星号(*)
     FOR i:=1 to 5 DO
     BEGIN
          FOR j:=1 TO 10 DO
             Write('*');
     END;
初学者应当特别注意,内层的循环变量不能和外层的循环变量相同。也就是说,嵌套的各层循环应当使用不同的变量作为循环变量。


上一篇: vb.net实现自动发贴 下一篇:

如何构造一个C#语言的爬虫程序

返回列表 打印此页 加入收藏 资讯论坛 关闭窗口 点击复制本页地址,发送给QQ/MSN好友
关于我们 - 联系我们 - 版权声明 - 帮助(?) - 广告服务 - 友情链接 - 服务项目 - 人才招聘
2003-2008 版权所有 © 晨风资讯网 未经授权禁止复制或建立镜像
CopyRight 2003-2008 www.Net118.com,All Rights Reserved.Design By ChenFeng Network Studio