预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共38页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

2、While语句while语句的形式为:while<布尔表达式>do<语句>;其意义为:当布尔表达式的值为true时,执行do后面的语句。 while语句的执行过程为:①判断布尔表达式的值,如果其值为真,执行步骤2,否则执行步骤4;②执行循环体语句(do后面的语句);③返回步骤1;④结束循环,执行while的下一个语句。说明:这里while和do为保留字,while语句的特点是先判断 例:输出1—100之间的奇数S=2+4+6+8+…+100; S=1+1/2+1/3+1/4+…+1/100; S=12+22+32+42+…+1002;样程:样程:样程:例:计算S=1+3+5+……+n(n为大于1的奇数)分析:求两个正整数的最大公约数采用的辗转相除法求解。以下是辗转的算法:分别用m,n,r表示被除数、除数、余数。①求m/n的余数r.②若r=0,则n为最大公约数.若r≠0,执行第③步.③将n的值放在m中,将r的值放在n中.④返回重新执行第①步。程序如下:programex4_4;varm,n,t,a,b,r:integer;beginwrite(‘Inputm,n:’);readln(m,n); a:=m;b:=n;r:=amodb; whiler<>0dobegina:=b;b:=r; r:=amodb;end;writeln('Thegreatestcommondivideis:',b:8);end.例:输入一个整数,求其各位数字之和。练习:输入一串字符,以回车符结束,输出其中字母个数与数字个数。样程:例:利用格里高利公式求vari,sign:integer; pi:real; begin pi:=0;sign:=1;i:=1; while1/(i*2-1)>=1e-6do begin pi:=pi+1/(i*2-1)*sign; sign:=sign*(-1); i:=i+1; end; pi:=pi*4; writeln(pi); end.3、repeat语句看下列程序的功能: ProgramExam12; Vara:integer; Begin a:=1; repeat Writeln(a); a:=a+1; Untila>200; Readln; End. 例:计算S=1+3+5+……+n(n为大于1的奇数,用repeat语句) Programch321; VAR odds,n,sum:integer; BEGIN write(‘inputaodddata:’);readln(n); sum:=0;odds:=1; repeat sum:=sum+odds; odds:=odds+2; untilodds>n; writeln(sum); END.repeat语句使用说明 见书本P40、P96S=2+4+6+8+…+100; S=1+1/2+1/3+1/4+…+1/100; S=12+22+32+42+…+1002;样程:样程:样程:练习:输入一串字符,以回车符结束,输出其中字母个数与数字个数。样程:例:用尼考曼彻斯法求两个自然数a和b的最大公约数循环结构练习题方法二2、一个炊事员上街采购,用500元钱买了90只鸡,其中母鸡一只15元,公鸡一只10元,小鸡一只5元,正好把钱买完。问母鸡、公鸡、小鸡各买多少只?3、求100-200之间的所有素数3、求100-200之间的所有素数4、编写一程序,验证角谷猜想。所谓的角谷猜想是:“对于任意大于1的自然数n,若n为奇数,则将n变为3*n+1,否则将n变为n的一半。经过若干次这样的变换,一定会使n变为1。”Repeat语句综合练习:素因数分解Programex(input,output); Varx,I,j:integer;flag:boolean; Begin readln(x);write(x,'='); I:=2; whilex<>ido begin ifxmodI=0 thenbegin x:=xdivI;write(I,'*'); end; elseI:=I+1; end; writeln(x); End.验证哥德巴赫猜想.算法:样程: