第三讲循环结构一
---for语句;内容回顾:;5、选择结构:if语句
(1)if布尔表达式then语句;
(2)if布尔表达式then语句1else语句2;
;Fp的安装设置/工作目录的设置
快捷键:
保存F2;
编译F9;运行ctrl+F9;
看结果Alt+F5.
程序的书写格式:
缩2个格
beginend的配对;循环结构;样例输入:
4
1042030
样例输出:
60
16.00
;var
n,i,x:integer;
sum:longint;
aver:real;
begin
readln(n);
sum:=0;
fori:=1tondo
begin
read(x);
sum:=sum+x;
end;
aver:=sum/n;
writeln(sum);
writeln(aver:0:2);
end.;循环结构程序通常由三种循环语句来实现。它们分别为
1)、FOR循环
2)、当循环while
3)、直到repeat循环。
;一)、for语句
1、for语句的一般格式:
for控制变量:=表达式1to表达式2do一条语句;
for控制变量:=表达式1to表达式2do
begin
语句1;
语句2;
……
end;
表达式1与表达式2的值也称为控制变量的初值和终值。;var
n,i,x:integer;
sum:longint;
aver:real;
begin
readln(n);
sum:=0;
fori:=1tondo
begin
read(x);
sum:=sum+x;
end;
aver:=sum/n;
writeln(sum);
writeln(aver:0:2);
end.;For语句执行过程
①先将初值赋给左边的变量i(称为循环控制变量);
②判断循环控制变量的值是否已“超过”终值,如超过则跳到步骤⑥;
③如果末超过终值,则执行do后面的那个语句(称为循环体);
④循环变量自动递增(对to)1;
⑤返回步骤②;
⑥循环结束,执行for循环下面的一个语句。;例0:
编一个程序,从键盘输入一个真分数的分子a和分母b(ab),输出它的小数形式,精确到小数点后n位。不考虑四舍五入。
a,b,n1000;var
a,b,n,i:longint;
begin
readln(a,b);
readln(n);
write(0.);
fori:=1tondo
begin
a:=a*10;
write(adivb);
a:=amodb;
end;
end.;思考:;var
a,b,n,i:longint;
begin
readln(a,b);
readln(n);
write(adivb,.);
a:=amodb;
fori:=1tondo
begin
a:=a*10;
write(adivb);
a:=amodb;
end;
end.
;说明:;for控制变量:=表达式1downto表达式2do
表达式1表达式2。
循环控制变量每次-1。;例1:
输入n,求s=1+2+3+…+n的值。n=100.;例2:输入n,求n以内所有能被2整除但不能被3整除的整数的和。n=1000;例3、键入一个自然数N(=106),求这个自然数的因数的个数S(包含1和n)。
如:
输入:
6
输出:
4(1,2,3,6);var
n,I,s:longint;
begin
readln(n);
s:=0;
fori:=1tondo
ifnmodi=0thens:=s+1;
writeln(s);
end.
;例4:
键入一个自然数N(10000),求这个自然数的所有约数之和S(n的约数不包