- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 例2.16 求5!。 begin (算法开始) 1 ? t 2 ? i while i≤5 { t*i ? t i+1 ? i } print t end (算法结束) * 例2.17 求 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.4.6 用计算机语言表示算法 要完成一项工作,包括设计算法和实现算法两个部分。 设计算法的目的是为了实现算法。 不仅要考虑如何设计一个算法,也要考虑如何实现一个算法。 * 例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) 结构化编码。 两种不同的方法: 自顶向下,逐步细化; 自下而上,逐步积累。 * 用这种方法逐步分解,直到作者认为可以直接将各小段表达为文字语句为止。这种方法就叫 做“自顶向下,逐步细化”。 * 自顶向下,逐步细化方法的优点: 考虑周全,结构清晰,层次分明,作者容易写,读者容易看。如果发现某一部分中有一段内容不妥,需要修改,只需找出该部分修改有关段落即可,与其它部分无关。我们提倡用这种方法设计程序。这就是用工程的方法设计程序。 * 模块设计的方法: 模块化设计的思想实际上是一种“分而治之”的思想,把一个大任务分为若干个子任务,每一个子任务就相对简单了。 在拿到一个程序模块以后,根据程序模块的功能将它划分为若干个子模块,如果这些子模块的规模还嫌大,还再可以划分为更小的模块。这个过程采用自顶向下方法来实现。 子模块一般不超过50行。 划分子模块时应注意模块的独立性,即:使一个模块完成一项功能,耦合性愈少愈好。 * 程序设计方法和风格 程序设计风格是指编写程序时表现出的特点、习惯和逻辑思路。 良好的程序设计风格是程序质量的重要保证,因为良好的程序设计风格使程序结构清晰合理,便于阅读和维护,提高软件的开发效率。 * 例2.6 将例2.1的算法用流程图表示。 求1×2×3×4×5 如果需要将最后结果输出: 1?t i5 开始 2?i t*i?t i+1?i 结束 N Y * 例2.6 将例2.1的算法用流程图表示。 求1×2×3×4×5 如果需要将最后结果输出: 1?t 输出t i5 开始 2?i t*i?t i+1?i 结束 N Y * 例2.7 例2.2的算法用流程图表示。有50个学生,要求将成绩在80分以上的学生的学号和成绩输出。 * 1?i i50 开始 i+1?i 结束 N Y 输入ni、gi 1?i 开始 gi≧80 输出ni、gi i+1?i i50 N Y Y N 如果包括输入数据部分 ① * 1?i i50 开始 i+1?i 结束 N Y 输入ni、gi 1?i gi≧80 输出ni、gi i+1?i i50 N Y Y
原创力文档


文档评论(0)