c程序设计第二章[精].pptVIP

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c程序设计第二章[精]

(5)用伪代码表示算法 伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法 用伪代码写算法并无固定的、严格的语法规则,可以用英文,也可以中英文混用 例:求5!。 begin (算法开始) 1 ? t 2 ? i while i≤5 { t*i ? t i+1 ? i } print t end (算法结束) 例: 求 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 (6)用计算机语言表示算法 要完成一项工作,包括设计算法和实现算法两个部分。 设计算法的目的是为了实现算法。 不仅要考虑如何设计一个算法,也要考虑如何实现一个算法。 例:将算法(求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; } 例:将算法(求多项式的值)用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; } 四、结构化程序设计方法 结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。 结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。 采取以下方法保证得到结构化的程序: (1) 自顶向下; (2) 逐步细化; (3) 模块化设计; (4) 结构化编码。 用三种基本结构组成的程序是结构化程序 自顶向上,逐步细化:将问题求解由抽象逐步具体化的设计过程。 比如设计房屋,先进行整体规划,然后确定建筑物方案,再进行各个部分的设计,最后进行细节的设计(门窗,楼道等),而绝不会在没有整体方 案之前先设计楼道和厕所。而在完成设计,有了图纸之后,在施工阶段则 是自下而上实施的,用一砖一瓦实现一个局部,最后由各个部分组成一个 建筑物。 模块化设计:“分而治之”的思想,把大任务分为若干子任务。 程序中的子模块在C语言中通常是用函数来实现。 结构化编码:将已设计好的算法用计算机语言来表示,即根据已经细化的 算法正确写出计算机程序。 结构化程序设计步骤 一、确定算法:分析问题(建立数学模型,利用公式),写出算法 描述(比如流程图) 二、编写程序:用计算机语言写出实现算法的程序 三、上机调试:输入(编辑)程序---编译、连接、执行程序---输出结果 举例: 《算经》中提出“百鸡问题”:鸡翁一值钱五,鸡母一值钱三, 鸡雏三值钱一。百钱买百鸡,问鸡翁、母、雏各几何? (体会编程步骤) (1)分析:cocks+hens+chicks=100 5*cocks+3*hens+chicks/3=100 其中,0 ≤cocks ≤19 , 0 ≤hens ≤33 ,0 ≤chicks ≤100 累试法(枚举法)求解 算法描述: cocks=0 当cocks ≤ 19时 {找满足题意的hens,chicks数 cocks加1 } 细化 cocks=0 当cocks ≤ 19时 {hens=0 当hens ≤ 33时 {找满足题意的chicks数 hens加1} hens加1 } 细化 cocks=0 当cocks ≤ 19时 {hens=0 当hens ≤ 33时 {chicks=100-cocks-hens 如果(5*cocks+3*hens+chicks/3=100) 则输出

文档评论(0)

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

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

1亿VIP精品文档

相关文档