6.1 For 语句
  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语句的成分语句只能是一个语句。因此,当重复动作包含多个语句时,要用beginend ,使它变成一个复合语句。而repeat语句的保留字repeatuntil已经起语句括号作用,可以包含多个语句而无须beginendrepeat语句中,当布尔表达式为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只鸡,那么各有公鸡、母鸡、小鸡多少只?(要求:用循环结构程序设计计算出各有公鸡、母鸡、小鸡多少只?)