while循环和repeat-until循环

while循环和repeat-until循环

ID:36319148

大小:241.50 KB

页数:20页

时间:2019-05-09

while循环和repeat-until循环_第1页
while循环和repeat-until循环_第2页
while循环和repeat-until循环_第3页
while循环和repeat-until循环_第4页
while循环和repeat-until循环_第5页
资源描述:

《while循环和repeat-until循环》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、while循环和repeat-until循环主讲人:山成虎1.while循环2.repeat-until循环3.多重循环结构对于for循环有时也称为计数循环,当循环次数未知,只能根据某一条件来决定是否进行循环时,用while语句或repeat语句实现循环要更方便。1.while循环1.1while语句的形式为:while<布尔表达式>do<语句>;其意义为:当布尔表达式的值为true时,执行do后面的语句。1.2while语句的执行过程为: ①判断布尔表达式的值,如果其值为真,执行步骤2,否则执行步骤4;②执行循环体语句(do后面的语句);③返回

2、步骤1;④结束循环,执行while的下一个语句。说明:这里while和do为保留字,while语句的特点是先判断,后执行。当布尔表达式成立时,重复执行do后面的语句(循环体)。例1:求s=1+2+…+99+100.programxy;vari,sum:interger;begini:=1;sum:=0;whilei<=100dobeginsum:=sum+i;i:=i+1;end;writeln(sum);end.i<=100sum:=sum+ii:=i+1;真(非0)假(0)1.3举例下一条语句(循环语句结束)例2:求恰好使s=1+1/2+1/

3、3+…+1/n的值大于10时n的值。分析:"恰好使s的值大于10"意思是当表达式s的前n-1项的和小于或等于10,而加上了第n项后s的值大于10。从数学角度,我们很难计算这个n的值。故从第一项开始,当s的值小于或等于10时,就继续将下一项值累加起来。当s的值超过10时,最后一项的项数即为要求的n。programxy;vars:real;n:integer;{n表示项数}begins:=0.0;n:=0;whiles<=10do{当s的值还未超过10时}beginn:=n+1;{项数加1}s:=s+1/n;{将下一项值累加到s}end;writle

4、n(n);{输出结果}end.例3:求两个正整数m和n的最大公约数。分析:求两个正整数的最大公约数采用的辗转相除法求解。以下是辗转的算法:   分别用m,n,r表示被除数、除数、余数(一般m>n)。   ①求m/n的余数r.②若r=0,则n为最大公约数.若r≠0,执行第③步.③将n的值放在m中,将r的值放在n中.④返回重新执行第①步。abr642420programxy;varm,n,a,b,r:integer; beginreadln(m,n);a:=m;b:=n;r:=amodb;whiler<>0dobegina:=b;b:=r;r:=am

5、odb;end;writeln(b:8); end.求两个正整数m和n的最小公倍数,可以用m*ndiv(m和n的最大公约数).例如:6和4的最小公倍数,可以用6*4div2=12.例4:利用格里高公式求π。π/4=1-1/3+1/5-1/7+…,直到最后一项的值小于10-6为止。【分析】解本题的关键就是求右边数值序列的和,序列有明显的特点:分母是从1开始的奇数,加、减号轮流出现,因此,我们可以用n=n+2表示序列数值的变化,用f=-f来设置它们知项的符号位。programxy;varn,f:integer;t,pai:real;beginpai:

6、=0;t:=1;n:=1;f:=1;whileabs(t)>=1e-6dobeginpai:=pai+t;n:=n+2;f:=-f;t:=f/n;end;pai:=pai*4;writeln(pai:10:8);end.运行程序会发现没有结果,为什么?因为布尔表达式abs(t)>=1e-6,即1/n>=1e-6,而程序的说明部分n是整型数,它的范围是-32768~32767,条件永远成立,所以形成死循环,从而没有运行结果。while循环不需要用顺序型数据来控制循环的次数,改程序的说明部分中的n为实型数或说明为长整型即可,请同学们自己修正,以后要对

7、变量的取值范围引起重视。2.repeat-until循环用while语句可以实现"当型循环",用repeat-until语句可以实现"直到型循环"。repeat-until语句的含义是:"重复执行循环,直到指定的条件为真时为止"。2.1repeat-until语句一般格式repeat<语句1>;:<语句n>; until<布尔表达式>;其中repeat、until是Pascal保留字,repeat与until之间的所有语句称为循环体。2.2说明(1)repeat语句的特点是:先执行循环,后判断结束条件,因而至少要执行一次循环体。(2)repeat

8、-until是一个整体,它是一个(构造型)语句,不要误认为repeat是一个语句,until是另一个语句。 (3)repeat语句在布尔

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。