分享

信息学奥赛第六讲:循环结构程序设计

 夏圭 2010-10-04

信息学奥赛第六讲:循环结构程序设计

6 . 1   F or 语句

  for 语句用来描述已知重复次数的循环结构。

for 语句有两种形式:

  (1)     for 控制变量:=初值 to 终值 do 语句;

  (2)     for 控制变量:=初值 downto 终值 do 语句;

  第一种形式的for 语句是递增循环。首先将初值赋给控制变量,接着判断控制变量的值是否小于或等于终值,若是,则执行循环体,在执行了循环体之后,自动将控制变量的值该为它的后继值,并重新判断是否小于或等于终值。当控制变量的值大于终值时,退出for循环,执行for语句之后的语句。

第 二 种形式的for 语句是递减循环。首先将初值赋给控制变量,接着判断控制变量的值是否大于或等于终值,若是,则执行循环体,在执行了循环体之后,自动将控制变量的值该为它的前趋值,并重新判断是否大于或等于终值。当控制变量的值小于终值时,退出for循环,执行for语句之后的语句。 for 语句中的初值、终值、控制变量的数据都必须是顺序类型。当初值和终值确定后,重复的次数就确定不变了,并且控制变量在重复语句内不能施加任何赋值操作。 

例:计算1+2+3+……+99+100

 program jia;

  var n,sum:integer;

 begin

  sum:=0;

  for i:=1 to 100 do

   sum:=sum+i;

  writeln(sum);

 end.

 

6.2  while语句

  while语句用于“当满足某一条件时进行循环”的情况。

while语句的语法格式:

           while 布尔表达式 do 语句;

   循环结束条件在进入循环体之前测试,若最初的测试值为false,则根本不进入循环体,也就是说while循环是是属于当型循环。为了能使while重复能终止,循环体中一定要有影响布尔表达式的操作,否则该循就是一个死循环。

例:计算从0到某个数之间所有奇数的和。

 program jishu;

  var odds,limit,sum:integer;

 begin

  readln(limit);

  sum:=0;

  odds:=1;

  while odds<=limit do

   begin

    sum:=sum+odds;

    odds:=odds+2

   end;

  writeln(sum:1)

 end. 

6.3  repeat语句

   repeat 语句用于“重复执行循环体,一直到指定的条件为真时为止”。

语法格式为:

repeat

     语句1;

        ……

     语句n;

      until 布尔表达式;

  repeat重复基本上有和while重复一样的描述循环计算的能力,但有一些不同:在repeat语句的结构中,布尔表达式求值在计算操作之后,而while语句中,布尔表达式求值在计算操作之前,也就是说repeat至少执行一次循环体。 while语句的成分语句只能是一个语句。因此,当重复动作包含多个语句时,要用begin和end ,使它变成一个复合语句。而repeat语句的保留字repeat和until已经起语句括号作用,可以包含多个语句而无须begin和end。repeat语句中,当布尔表达式为true时结束循环,而while语句中,是当表达式为false时才结束循环。当描述由计算操作后的情况确定重复是否继续进行的计算时,通常用repeat语句描述。 

6.4  goto语句

  goto语句是一种无条件转向语句,它可以控制直接从程序的一条语句转向另一条语句。goto语句的语法形式为:

      goto 标号;

  其中标号必须是不超过4位整数的正整数或标识符组成,但标号必须在说明语句中先予以说明。

  goto语句会使程序出现一种称为“乱面条”的结构,因此你最好还是不要去用。

 【练习】

1、计算1×2×3× … ×50的积

2、百钱买百鸡”是我国古代的著名数学题。题目这样描述:3文钱可以买1只公鸡,2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100文钱买100只鸡,那么各有公鸡、母鸡、小鸡多少只? (要求:用循环结构程序设计计算出各有公鸡、母鸡、小鸡多少只?)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多