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

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

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

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

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

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

while循环和 repeat-until循环1.while循环对于for循环有时也称为计数循环,当循环次数未知,只能根据某一条件来决定是否进行循环时,用while语句或repeat语句实现循环要更方便。例1:求s=1+2+…+99+100.例2:求恰好使s=1+1/2+1/3+…+1/n的值大于10时n的值。例3:求两个正整数m和n的最大公约数。例4:利用格里高公式求π。π/4=1-1/3+1/5-1/7+…,直到最后一项的值小于10-6为止。2.repeat-until循环2.2说明2.3repeat-until语句的执行过程例5:求s=1+2+…+99+100.例6求两个正整数m和n的最大公约数。 程序采用repeat-until循环实现。例7校体操队到操场集合,排成每行2人,最后多出1人;排成每行3人,也多出1人;分别按每行排4,5,6人,都多出1人;当排成每行7人时,正好不多。求校体操队至少是多少人?以上我们已介绍了三种循环语句。一般说来,用for循环比较简明,只要能用for循环,就尽量作用for循环。只在无法使用for循环时才用while循环和repeat-until循环,而且while循环和repeat-until循环是可以互相转化的,具体用哪个,还要看个人喜好,但他们也存在细微区别,while语句的循环体有可能一次都不会被执行,而repeat语句中循环体至少执行一次。for循环在大多数场合也能用while和repeat-until循环来代替。一般for循环用于有确定次数循环,而while和repeat-until循环用于未确定循环次数的循环。3.1举例整个程序为: Programxy; vart,s:longint; i,j,n:integer; begin s:=0; forn:=1to10do begin t=1; forj:=1tondo//求n! t:=t*j; s:=s+t; //累加n! end; writeln(‘s=’,s:0:0); end.以上的程序是一个二重的for循环嵌套。这是比较好想的方法,但实际上对于求n!,我们可以根据求出的(n-1)!乘上n即可得到,而无需重新从1再累乘到n。例9一个炊事员上街采购,用500元钱买了90只鸡,其中母鸡一只15元,公鸡一只10元,小鸡一只5元,正好把钱买完。问母鸡、公鸡、小鸡各买多少只?例10求100-200之间的所有素数。例11试编写能够打印输出如下图形的程序: ############### ############# ########### ######### ####### ##### ### #