for循环语句练习题讲解及其它循环结构﹞20130815.ppt
文本预览下载声明
程序如下:
Program Ex1_4
Var
I,S:integer;
Begin
i:=2;
For i:=0 to 100 do
begin s:=0; S:=S+i;end;
Writeln(‘1+2+3+…+’,n,’=’,s);
End.;运行调试如下程序,观察现象。
Program Ex1_4
Var
i,S:integer;
Begin
s:=0;
For i:=0 to 100 do
begin i:=i+1; S:=S+i;end;
Writeln(‘1+2+3+…+’,n,’=’,s);
End.;练习:
1.计算并输出1*3*5*7*(2N-1)的积.(n10)
2.计算s=1*2+3*4+5*6+7*8+…+(2N-1)*2n的积.(n1000);练习:
1.计算并输出1*3*5*7*(2N-1)的积.
2.计算s=1*2+3*4+5*6+7*8+…+(2N-1)*2n的积.;练习1:一个两位数x,将它的个位数和
十位数对换得到另一个数y,此时Y恰好比
X大36,编程求出所有这样的两位数。;分析;练习2:输入一个自然数,求该自然数
所有约数之和。;分析;练习3:
把整数3025从中剪开分为30和25两个数,
此时再将这两数之和平方,(30+25)^2=3025
计算结果又等于原数,求所有符合这样条件的四
位数。;一、WHILE循环
对于for循环有时也称为计数循环,当循环次数未知,只能根据某一条件来决定是否进行循环时,用while 语句或repeat语句实现循环要更方便。
while语句的形式为:
while 布尔表达式 do 语句;
其意义为:当布尔表达式的值为true时,执行do后面的语句。 ;while语句的执行过程为:
①判断布尔表达式的值,如果其值为真,执行步骤2,否则执行步骤4;
②执行循环体语句(do后面的语句);
③返回步骤1;
④结束循环,执行while的下一个语句。
说明:这里while和do为保留字,while语句的特点是先判断,后执行。 当布尔表达式成立时,重复执行do后面的语句(循环体)。
;例1? 、求恰好使s=1+1/2+1/3+…+1/n的值大于10时n的值。
分析:“恰好使s的值大于10”意思是当表达式s的前n-1项的和小于或等于10,而加上了第n项后s的值大于10。从数学角度,我们很难计算这个n的值。故从第一项开始,当s的值小于或等于10时,就继续将下一项值累加起来。当s的值超过10时,最后一项的项数即为要求的n。 ; program ex;
var s : real;
n : integer;{n表示项数}
begin
s:=0.0; n:=0;
while s=10 do{当s的值还未超过10时}
begin
n:=n+1;{项数加1}
s:=s+1/n;{将下一项值累加到s}
end;
writlen(n=,n);{输出结果}
end.
;二、直到循环(REPEAT-until语句)
用while语句可以实现“当型循环”,用repeat-until 语句可以实现“直到型循环”。repeat-until语句的含义是:“重复执行循环,直到指定的条件为真时为止”。
直到循环语句的一般形式:
repeat
语句1;
:
语句n;
until 布尔表达式;
其中Repeat、until是Pascal保留字,repeat与until之间的所有语句称为循环体。;说明:
①repeat语句的特点是:先执行循环,后判断结束条件,因而至少要执行一次循环体。
②repeat-until是一个整体,它是一个(构造型)语句,不要误认为repeat是一个语句,until是另一个语句。
③repeat语句在布尔表达式的值为真时不再执行循环体,且循环体可以是若干个语句,不需用begin和end把它们包起来, repeat 和until已经起了begin和end的作用。while循环和repeat循环是可以相互转化的。;例2、求两个正整数m和n的最大公约数。
分析:求两个正整数的最大公约数采用的辗转相除法求解。以下是辗转的算法:
分别用m,n,r表示被除数、除数、余数。
①求m/n的余数r.
②若r=0,则n为最大公约数.若r≠0,执行第③步.
③将n的值放在m中,将r的值放在n中.
④返回重新执行第①步。; progr
显示全部