- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
02Pascal循环结构
Turbo Pascal(二)
◆循环结构程序设计
循环结构撕程序中的另一种基本结构,它在许多问题中是很有用的。生活中许多复杂的问题中,常常要做大量同类的处理。如:期末考试后要统计学生的总成绩,要用同样的方法计算每一位同学的总分。
在pascal显示循环程序设计的主要语句有for语句、while语句和repeat语句。
我们先来看下面的问题:
例:统计下面成绩表中每一位同学的总分。
学号 语文 数学 英语 总分 1001 80 95 97 1002 85 93 96 1003 92 89 98 1004 87 91 95 使用顺序结构程序如下:
program cj (input,output);
var
a,b,c,z:integer;
begin
readln(a,b,c);
z:=a+b+c;
writeln(1001,z);
readln(a,b,c);
z:=a+b+c;
writeln(1002,z);
readln(a,b,c);
z:=a+b+c;
writeln(1003,z);
readln(a,b,c);
z:=a+b+c;
writeln(1004,z);
end.
以上程序我们只对4位同学的成绩作了统计,有4次数据输入,4次计算总分,4次计算结果,而这4次都是重复操作。我们却使用了这么长的程序。如果有几百个同学的成绩,那就很麻烦了。怎么样才能是编程方便计算机运行也方便呢?我们就可以用循环结构程序设计,简化程序,循环结构的特点是应用循环语句来编写程序,在程序执行过程中实现一部分程序的重复运行。◇计数循环(for)语句
☆递增型for循环
递增型for循环语句格式:
for 控制变量:=初值 to 终值 do
循环体语句;
☆递减型for循环
递减型for循环语句格式:
for 控制变量:=初值 downto 终值 do
循环体语句;
递增for语句的功能是先把初值赋值给循环控制变量,然后将初值与循环终值进行比较,当初值小于终值是执行循环语句。然后把控制变量在原值的基础上加1,继续与终值比较,如果仍然小于终值,则再次执行循环体,否则结束循环,执行for循环语句的下一个语句。
例:for i:=5 to 10 do write(i);
输出的结果是5 6 7 8 9 10
读入5个数,计算它们的积和平均值。
Program p1;
Var
X,acc,sum,i:integer;
ave:real;
begin
acc:=1;
sum:=0;
for i:=1 to 5 do
begin
read(x);
acc:=acc*x;
sum:=sum+x;
end;
ave:=sum/5;
writeln(acc,ave:12:2);
end.
例2.找出100以内所有被2,3,5除余数均为一的数。
例3.寻找100~999之间的水仙花数,所谓水仙花数就是本身是它各位数三次方的和,如153=13+53+33。
例4:编程计算从1到20每个数的平方值。program xumin17;var m:integer; pf:longint;begin for m:=1 to 20 do begin pf:=m*m; writeln(m,*,m,=,pf); end; readln;end. ‘z’ downto ‘a’ do
write(ch:2);
end.
例6.计算n的阶乘n!,其中n!=1×2×3×4×……×n。
var
m:longint;
n,i:integer;
begin
readln(n);
m:=1;
for i:=1 to n do
m:=m*i;
writeln(‘m=’,m);
end.
例7.计算:s=1+2+3+4+5+……+99+100。
Var
s,i:integer;
begin
s:=0;
for i:=1 to 100 do
s:=s+i;
writeln(s);
end.
For语句练习:
例8、输出1到之间的能够被3整除的数。program xumin21;var m:integer;begin for m:=1 to 00 do if m mod 3=0 then write(m ); readln;end.、统计1到1000之间能够同时被3和7整除的数的个数,并计算他们的和。program xumi
文档评论(0)