pascal-while循环与repeat

pascal-while循环与repeat

ID:14265860

大小:39.50 KB

页数:4页

时间:2018-07-27

pascal-while循环与repeat_第1页
pascal-while循环与repeat_第2页
pascal-while循环与repeat_第3页
pascal-while循环与repeat_第4页
资源描述:

《pascal-while循环与repeat》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第七课 WHILE循环与REPEAT看下列程序的功能:ProgramExam12;Vara:byte;BeginWhilea:<=200doBEGINWriteln(a);A:=a+1;END;ReadlnEnd.一、WHILE循环  对于for循环有时也称为计数循环,当循环次数未知,只能根据某一条件来决定是否进行循环时,用while语句或repeat语句实现循环要更方便。  while语句的形式为:  while<布尔表达式>do<语句>;  其意义为:当布尔表达式的值为true时,执行do后面的

2、语句。  while语句的执行过程为:  ①判断布尔表达式的值,如果其值为真,执行步骤2,否则执行步骤4;  ②执行循环体语句(do后面的语句);  ③返回步骤1;  ④结束循环,执行while的下一个语句。  说明:这里while和do为保留字,while语句的特点是先判断,看下列程序的功能:ProgramExam12;Vara:byte;BeginrepeatWriteln(a);A:=A+1;Untila>200ReadlnEnd.后执行。当布尔表达式成立时,重复执行do后面的语句(循环体)。

3、  例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。  程序如下:  var    s:real;    n:integer;{n表示项数}  begin    s:=0.0;n:=0;   whiles<=10do

4、{当s的值还未超过10时}    begin     n:=n+1;{项数加1}     s:=s+1/n;{将下一项值累加到s}    end;   writlen('n=',n);{输出结果}  end.  例2、求两个正整数m和n的最大公约数。  分析:求两个正整数的最大公约数采用的辗转相除法求解。以下是辗转的算法:  分别用m,n,r表示被除数、除数、余数。  ①求m/n的余数r.  ②若r=0,则n为最大公约数.若r≠0,执行第③步.  ③将n的值放在m中,将r的值放在n中.  ④返回重新

5、执行第①步。  程序如下:  programex4_4;  varm,n,a,b,r:integer;  begin    write('Inputm,n:');    readln(m,n);    a:=m;b:=n;r:=amodb;    whiler<>0do    begin     a:=b;b:=r;     r:=amodb;    end;    writeln('Thegreatestcommondivideis:',b:8);  end.二、直到循环(REPEAT-until

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

7、②repeat-until是一个整体,它是一个(构造型)语句,不要误认为repeat是一个语句, until是另一个语句。  ③repeat语句在布尔表达式的值为真时不再执行循环体,且循环体可以是若干个语句,不需用begin和end把它们包起来,repeat和until已经起了begin和end的作用。while循环和repeat循环是可以相互转化的。  对于例2中求两个正整数的最大公约数,程序可用repeat-until循环实现如下:  var    m,n,a,b,r:integer;  beg

8、in   write('Inputm,n=');   readln(m,n);   a:=m;b:=n;   repeat    r:=amodb;    a:=b;b:=r;   untilr=0;   writeln('Thegreatestcommondivideis',a);  end.  以上我们已介绍了三种循环语句。一般说来,用for循环比较简明,只要能用for循环,就尽量作用for循环。只在无法使用for循环时才用while循环和repeat-until

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

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

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