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

最经典的c语言教程谭浩强c语言第2章PPT.ppt

最经典的c语言教程谭浩强c语言第2章PPT.ppt

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例2.17 打印出50个学生中成绩高于80分者的学号和成绩。 用伪代码表示算法如下: BEGIN(算法开始) 1=i while i=50 {input ni and gi i+1=i} 1=i while i=50 {if gi≥80 print ni and gi i+1=i} END(算法结束) 例2.18 打印2000—2500年中的每一年是否闰年。 用伪代码表示算法如下: BEGIN(算法开始) 2000=y while y=2500 {if y 被4整除 if y 不被100整除 print y; “是闰年” else if y 被400整除 print y;“闰年” else print y;“非闰年” end if end if else print y; “非闰年” end if y+1=y } END(算法结束) 例2.19求1-1/2+1/3-1/4+…+1/99-1/100。 用伪代码表示的算法如下: BEGIN (算法开始) 1= sum 2= deno 1= sign while deno = 100 {(-1)×sign=sign sign×1/deno=term sum+term=sum deno+1=deno } print sum END (算法结束) 图2.6 图2.7 图2.8 例2.8 将例2.3判定闰年的算法用流程图表示。 见图2.10。显然,用图2.10表示算法要比用文字描述算法逻辑清晰、易于理解。 请读者考虑,如果例2.3所表示的算法中,S2步骤内没有最后“转到S6”这一句话,而只是 S2:若y不能被4整除,则打印y “不是闰年” 这样就意味着执行完S2步骤后,不论S2的执行情况如何都应执行S3步骤。请读者画出相应的流程图。请思考这样的算法在逻辑上有什么错误,从流程图上是很容易发现其错误的。 图2.9 图2.10 例2.9 将例2.4的算法用流程图表示。见图2.11。 例2.10 将例2.5判断素数的算法用流程图表示,见图2.12。 一个流程图包括以下几部分:①表示相应操作的框;②带箭头的流程线;③框内外必要的文字说明。需要提醒的是流程线不要忘记画箭头,因为它是反映流程的执行先后次序的。 用流程图表示算法直观形象,比较清楚地显示出各个框之间的逻辑关系。但是这种流程图占用篇幅较多,尤其当算法比较复杂时,画流程图既费时又不方便。在结构化程序设计方法推广之后,许多书刊已用 N-S结构化流程图代替这种传统的流程图。但是每一个程序编制人员都应当熟练掌握传统流程图。 图2.11 图2.12 2.4.3 三种基本结构和改进的流程图 1. 传统流程图的弊端 传统的流程图用流程线指出各框的执行顺序,对流程线的使用没有严格限制。因此,使用者可以不受限制地使流程随意地转来转去,使流程图变得毫无规律。这种情况如图2.13所示。 这种算法难以阅读,也难以修改,从而使算法的可靠性和可维护性难以保证。如果我们写出的算法能限制流程的无规律任意转向,阅读起来就很方便。 图2.13 但是,算法上难免会包含一些分支和循环,而不可能全部由一个一个框顺序组成。例如图2.6到图2.12都不是由各框顺序进行的,都包含一些流程的向前或向后的非顺序转向。为了解决这个问题,人们设想,规定出几种基本结构,然后由这些基本结构按一定规律组成一个算法结构(如同用一些基本预制构件来搭成房屋一样),整个算法的结构是由上而下地将各个基本结构顺序排列起来的。如果能做到这一点 ,算法的质量就能得到保证和提高。 2. 三种基本结构 1966年,Bohra和Jacopini提出了以下三种基本结构,作为表示一个良好算法的基本单元。 (1) 顺序结构,如图2.14所示,虚线框内是一个顺序结构。 (2) 选择结构,或称选取结构,或称分支结构,如图2.15所示。 请注意,无论 p 条件是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框。无论走哪一条路径,在执行完A或B之后,都经过b点,然后脱离本选择结构。A或B两个框中可以有一个是空的 ,即不执行任何操作,如图2.16所示。 图2.14 图2.15 图2.16 (3) 循环结构,它又称重复结构。有两类循环结构: ①

文档评论(0)

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

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

1亿VIP精品文档

相关文档