C-ch2-算法---程序的灵魂.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例2.18 将例2.16表示的算法(求5!)用C语言表示。 #include stdio.h int main( ) { int i,t; t=1; i=2; while(i=5) { t=t*i; i=i+1; } printf(%d\n,t); return 0; } 例2.19 将例2.17表示的算法(求多项式 的值)用C语言表示。 #include stdio.h int main( ) { int sign=1; double deno = 2.0,sum = 1.0, term; while (deno = 100) { sign = -sign; term = sign/deno; sum = sum+term; deno = deno+1; } printf (%f\n,sum); return 0; } 2.5结构化程序设计方法 结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。 结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。 2.5结构化程序设计方法 采取以下方法保证得到结构化的程序: (1) 自顶向下; (2) 逐步细化; (3) 模块化设计; (4) 结构化编码。 程序= 算法+数据结构+程序设计方法+ 语言工具和环境(标准 C, Visual C++) §2 .5 结构化程序设计方法 1 结构化算法 1.1 三种基本结构: 顺序结构、选择结构、循环结构 §2 .5 结构化程序设计方法 1.2 三种基本结构的特点 只有一个入口 只有一个出口; 结构内每一部分都有机会被执行; 不存在死循环; 1.3 结构化算法 符合上述特点的算法称为结构化算法 §2 .5 结构化程序设计方法 2 结构化程序设计方法 2.1 结构化程序:用高级语言表示的结构化算法; 优点:便与书写、阅读、修改维护,从而可以提高程序的可靠性 结构化程序设计强调程序设计风格的程序设计方法的规范化,要想达到这一目的,可采取结构化程序设计方法 2.2 结构化程序设计方法 自顶向下;逐步求精;模要块化设计;结构化编码; §2 .5 结构化程序设计方法 例:将1到1000之间的素数打印出来. 对于这样一个问题,我们无法直接给出具体的算法,此时可以按: 自顶向下; 逐步求精; 模要块化设计; 结构化编码; 的原则进行分析与设计. 按实现的过程可划分成如下步骤: 需求分析; 总体设计; 详细设计; 程序编码(模块化程序设计); §2 .5 结构化程序设计方法 需求分析 问题:要求打印1-1000之间的所有素数. 所谓素数是指只能被1及其自身整除的数(只能被2个数整除). 可采用“筛法” 在一张纸上写出全部1-1000的数; 然后逐个判断它们是否是素数,找到一个非素数就把它们挖掉。 ① 2 3 ④ 5 ⑥ 7…. §2 .5 结构化程序设计方法 需求分析; 总体设计; 详细设计; 程序编码(模块化程序设计) 总体设计:(给出解决问题的大概步骤) §2 .5 结构化程序设计方法 用筛法求表数表 输入1~n个数 把所有非素数去掉 打印所有素数 A B C 需求分析; 总体设计; 详细设计; 程序编码(模块化程序设计) 详细设计:根据总体设计,逐步求精地给出流程图(传统流程图或N-S流程图,细化程序以可以实现为为宜). §2 .5 结构化程序设计方法 输入1-n 把所有非素数去掉 打印全部素数 开始 结束 输入n i=1 i≤n? xi=i i=i+1 1 2 3 …. x1 x2 x3 …. 需求分析; 总体设计; 详细设计; 程序编码(模块化程序设计) ① 2 3 ④ 5 ⑥ 7…. §2 .5 结构化程序设计方法 输入1-n 把所有非素数去掉 打印全部素数 开始 结束 去掉x1 (x1=0) x1 x2 x3 …. i=2 i n? 如果xi 没有被去掉, 则将xi+1到xn间是 xi倍数的数去掉 i=i+1 §2 .5 结构化程序设计方法 如果xi 没有被去掉, 则将xi+1到xn间是 xi倍数的数去掉 ① 2 3 ④ 5 ⑥ 7…. x1 x2 x3 …. 则将xi+1到xn间是 xi倍数的数去掉 xi≠0? =0表示该数已被去掉 j=i+1 j≤n? 将被xi整除的xj去掉 j=j+1 xj=0? yes ye

文档评论(0)

586334000 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档