第2章_算法2011x.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.4 结构化程序设计方法 结构化程序设计的优点 用三种基本结构组成的程序是结构化的程序,这种程序便于编写、便于阅读、便于修改和维护。 强调程序设计风格和程序结构的规范化。 结构化程序设计方法的基本思路是:把一个复杂问题的求解过程 分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。 * 采取以下方法来保证得到结构化的程序: 自顶向下; 逐步细化; 模块化设计; 结构化编码。 两种不同的方法: 自顶向下,逐步细化; 自下而上,逐步积累。 * 用这种方法逐步分解,直到作者认为可以直接将各小段表达为文字语句为止。这种方法就叫 做“自顶向下,逐步细化”。 * 自顶向下,逐步细化方法的优点: 考虑周全,结构清晰,层次分明,作者容易写,读者容易看。 如果发现错误,只需该部分某一部分中有一段内容不妥,需要修改,只需找出该部分,修改有关段落即可,与其它部分无关。 * 模块设计的方法: 模块化设计的思想实际上是一种“分而治之”的思想,把一个大任务分为若干个子任务,每一个子任务就相对简单了。 在拿到一个程序模块以后,根据程序模块的功能将它划分为若干个子模块,如果这些子模块的规模还嫌大,还再可以划分为更小的模块。这个过程采用自顶向下方法来实现。 划分子模块时应注意模块的独立性,即:使一个模块完成一项功能,模块间耦合性愈小愈好。 * 2.4 结构化程序设计方法 结构化程序设计的过程 确定算法:分析问题(建立数学模型,选择公式),写出算法描述 编写程序:用计算机语言写出实现算法程序 上机调试:输入(编辑)程序-〉编译-〉链接-〉执行 * 2.4 结构化程序设计方法 结构化程序设计的过程 例:张丘建《算经》中提出“百鸡问题”:鸡翁一 值钱五,鸡母一值钱三,鸡雏三钱值一。百钱买百鸡,问鸡翁、母、雏各几何? 分析:cocks+hens+chiks=100 5*cocks+3hens+chicks/3=100 其中:0≤cocks≤19 0≤hens≤33 0≤chicks≤100 思路:依次取cocks的值域中的值,然后求其余两数,看是否合乎题意(体会编程步骤) * 累试法 枚举法 1.算法描述: cocks=0 当cocks≤19时 {找满足题意的hens, chicks数 cocks加1 } cocks=0 当cocks≤19时 {hens=0 当hens≤33时 {找满足题意的 chicks数 Hens加1} cocks加1 } 细化 细化 cocks=0 当cocks≤19时 {hens=0 当hens≤33时 { chicks=100-cocks-hens 如果(5*cocks+3hens+chicks/3=100)则输出 hens加1} cocks加1} * 2.用计算机语言写程序 int main() {int cocks=0,hens,chicks; while(cocks=19) {hens=0; while(hens=33) {chicks=100-cocks-hens; if(5.0*cocks+3.0*hens+chicks/3.0==100.0) printf(“%d %d %d\n”,cocks,hens,chicks); hens++; } cocks++; } } 3.调试程序 * 作业 第三章P82,1,2,3 上机,下次6,7,8 第二章P36 7, 8, 4(2,5,,7) 笔答 * 有关概念 程序:用计算机语言编写的计算机的一组指令序列 程

文档评论(0)

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

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

1亿VIP精品文档

相关文档