文档介绍:第二部分用于未知次数的循环
—— while 循环和 repeat循环
while 语句
格式:
while <布尔表达式> do
循环体
注:如果循环体是若干条语句需在循环体前面加 begin,后面加 end。
布尔表达式
循环体
false
true
例1:输出1—100之间的奇数(For语句)
Program ex;
var x,y:integer;
Begin
for x:=1 to 50 do
begin
y:=x*2-1;
write(y)
end;
writeln
End.
:输出1、100之间的奇数(while语句)
Program ex;
var x:integer;
Begin
x:=1; {变量赋初值}
while x<100 do
begin
write(x);
x:=x+2;{改变变量的值}
end;
writeln
End.
S=2+4+6+8+…+100;
S=1+1/2+1/3+1/4+…+1/100;
S=12+22+32+42+…+1002;
练习:用while 语句编程算出以下算式:
程序1:
program ex(input,output);
var
i,s:integer;
begin
s:=0;
i:=2;
while i<=100 do
begin
s:=s+i;
i:=i+2; {改变变量的值}
end;
writeln(s)
end.
程序2:
program ex(input,output);
var
i:integer;
s,x:real;
begin
s:=0; i:=1;
while i<=100 do
begin
x:=1/i;
s:=s+x;
i:=i+1; {改变变量的值}
end;
writeln(s)
end.
程序3:
program ex(input,output);
var
i:integer;
s,x:longint;
begin
s:=0;
i:=12;
while i<=1002 do
begin
s:=s+i;
i:=i+10; {改变变量的值}
end;
writeln(s)
end.
While flag=0 do
初始化:abcd1000; flag0
(ab+cd)*(ab+cd)=abcd
true
false
ababcd div 100
输出 abcd
cdabcd mod 100
flag1
练习1:编程找出最小的满足下述关系的四位整数abcd:(ab+cd)(ab+cd)=abcd。例如:2025,(20+25)*(20+25)=2025