repeat语句是一种条件循环语句,它与while语句不同,是实现出口控制循环的构造型语句。
格式:
repeat
<循环体语句>
until <条件表达式>;
说明:
当执行repeat语句时,首先执行一次循环体,然后判断条件表达式值,若不成立,即值为假,则重复执行循环体,否则,执行repeat语句的后续语句。
说明:
循环体的开头与结尾,不用begin和end括住,因为repeat、until起括号的作用。
例题:
编写程序计算
M=11+22+33+...+nn,直到M>=1030
并输出总和M和最大次方n的程序。
例题分析:
为计算方便起见,nn可化为对数及指数形式进行运算:
nn=enln(n)
其表达式为exp(n*ln(n))
程序代码:
program abc(input,output);
const mc=1.0e+30;
var n:integer;m:real;
begin
n:=0;m:=0;
repeat
n:=n+1;
m:=m+exp(n*ln(n));
until m>=mc;
writeln('m=',m);
writeln('n=',n);
end.
输出结果为:
m=2.1227845341e+31
n=23