网站大量收购闲置独家精品文档,联系QQ:2885784924

while 循环语句whie 循环语句while 循环语句while 循环语句.ppt

while 循环语句whie 循环语句while 循环语句while 循环语句.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
循环结构程序设计 安庆四中 丁贤友 while 循环语句 格式:    while 布尔表达式do       循环体; 功能: (1)计算布尔表达式的值; (2)若布尔表达式的值为true ,则转(3) ,否则,转(5) ; (3)执行循环体; (4)转(1) ; (5)循环结束,执行循环体后面的语句。 while 循环语句的执行过程 说明: (1)在进入循环体之前测试布尔表达式的值,若最初的值为false ,则根本不进入循环体。 (2)为了使循环能终止,循环体中一定要有影响布尔表达式的操作,否则该循环将陷入死循环。 (3)循环体只能是一条简单的语句或一条复合语句。 例如:   s:= 0 ;   i:= 1 ;   while (i= 4) do   begin     s:=s+i;     i:=i+1 ;   end ; begin 和end 括起来的就是while 循环语句的循环体。 while 循环语句的应用 【例4‐8】 输入一串以“ ?”为结束标志的字符,统计其中字母和数字的个数。 问题分析: 很明显,本题是一个计数问题:重复读入字符,根据字符的类别,进行统计。但是,输入多少个字符呢? 题目中没有明确说明,只说明了结束输入的标记。由于这个重复操作的次数未知,不适于应用for 循环语句了。而解决未知次数的循环是while 循环语句所擅长的,因此本题应用while 循环语句来解决。 算法描述: (1)计数器初始化:字母个数zm←0 ,数字个数sz←0 ; (2)读入一个字符给ch ; (3)当该字符ch 不是“ ?”时,重复操作: ① 若ch 是字母,则字母个数加1 ∶ zm ← zm + 1 , ② 若ch 是数字,则数字个数加1 ∶ sz ← sz + 1 , ③ 读入一个新字符给ch ; (4)输出统计结果zm 和sz ; (5)结束。 program exam4_8 ; var ch∶ char ;  zm ,sz∶ integer ; begin  zm ∶= 0 ;  sz∶= 0 ;  read(ch) ;  //在循环外读入第一个字符,使while的条件能正常判断  while ch< > ? do   begin    if ((ch> = a) and (ch< = z)) or ((ch> = A) and (ch< = Z)) then     zm ∶= zm + 1   //输入的是字母    else if (ch> = 0) and (ch< = 9) then     sz∶= sz+ 1 ; //输入的是数字    read(ch) ;  //继续读入字符   end ;  writeln(The numberof letters is :,zm) ;  writeln(The numberof figures is :,sz) ; end . 【例4‐9】 求两个正整数m 和n 的最大公约数。 问题分析: 最大公约数(greatest common divisor ,简写为gcd)是指几个数共有的因数之中最大的一个,例如8 和12 的最大公约数是4 ,记作gcd(8 ,12) = 4 。 辗转相除法的算法思想是:对于给定的两个正整数,用较大的数除以较小的数,若余数不为零,则将余数和较小的数构成一对新数,继续进行上面的除法,直到大数被小数除尽,这时较小的数就是原来两个数的最大公约数。 算法描述: (1)计算被除数m 除以除数n 的余数r ; (2)当r ≠ 0 时,重复下面操作: ① m ← n ; ② n ← r ; ③ r ← m mod n ; (3)输出最大公约数n ; (4)结束。 程序设计: program exam4_9 ; varm ,n ,r∶ integer ; begin  write(Please input m ,n :) ;  readln(m ,n) ;  r∶= m mod n ;  //r取m 和n的余数  while r< > 0 do //辗转相除   begin     m ∶= n ;     n∶= r ;     r∶= m mod n ;   end ;  writeln(The greatestcommon divisor is :,n) ; end . 【例4‐10】 设计问题4‐3 的程序。 program exam4_10 ; var  n∶ integer ;  score ,tot ,min ,max∶ real; begin  writeln(Please input the scores ,and end the inputby print - 1 !) ;  n∶= 0 ; //初始化人数  tot∶= 0

您可能关注的文档

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档