- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章c程序的灵魂-算法讲解
图2.32a 图2.32c 图2.32b (2 )不可从循环体外转入循环体内 在结构化程序设计中,我们强调一个程序模块具有单入口和单出口。一般不允许从循环体内转到循环体外(当有多层循环时,特别强调这一点)。值得特别说明的是,绝对不允许从循环体外转到循环体内。 2.3.4 算法的合理性与优化 (1)合理性与优化 在一个算法被设计出来之后,要考虑其合理性。如果可能,要对其优化。 优化的目标就是使程序结构合理,短小精悍,运行速度快,内存占用量小。 (2)结构化的算法总结 归纳起来可知: 1)一个结构化的算法是由一些基本结构顺序组成的;每个基本结构又可以包含其他的基本结构;在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构范围之内(如循环中流程的跳转); 2)一 个非结构化的算法(如图2.32a)可以用一个等价的结构化算法(如图2.32b,c)代替,其功能不变。如果一个算法不能分解为若干个基本结构,则它必然不是一个结构化的算法。 (3)参看教材算法示例: 【例2.1-2.5】(见课本p17-p21)自然语言法 【例2.11-2.15】(见课本p29-p31)流程图法及N-S流程图法 参考2.5节 本章习题:2.4; 2.5 * C语言程序设计第三版课件 2.1 算法的概念 2.2 算法的表示方法 2.3 结构化程序设计 退出 推荐1-2学时 2.1 算法的概念 2.1.1 什么是算法 (1)当我们要编写一个程序的时候,我们总要首先想好这个程序是干什么的?应该如何实现这些目标?应该先进行什么处理、后进行什么处理?所处理的数据的格式是是什么?遇到一些复杂的问题,我们可能还需要考虑采用什么数学方法。这一切都涉及一个专业名词——“算法”。 (2)所谓算法,就是程序处理问题的步骤与方法。 (3)很多时候,程序设计者所面临的问题就是寻找一个合适的算法。 例如,一个熟练的程序员,要设计一个下“五子棋”的游戏程序,对他而言,C语言的编程规则已经清楚。他所面对的核心问题是寻找一种可以模拟人下棋的算法。因此,算法在软件设计中具有重要的地位。正如著名的计算机科学家沃思(Nikiklaus Wirth)所指出的如下公式: 程序=数据结构+算法 2.1.2算法的特性 一个方法要成为我们可以在程序设计中所使用的算法,需要具备如下特征。 (1) 有穷性 注1:一个算法要在有限的步骤内解决问题(这里所说的步骤是指计算机执行步骤)。计算机程序不能无限地运行下去(甚至不能长时间地运行下去),所以一个无限执行的方法不能成为程序设计中的“算法”。 例如,求某一自然树N的阶乘: N!=1*2*3*... ...*N 这是一个算法。因为对任何一个自然数而言,无论这个数多大,总是有限的。用这个公式计算N!总是需要有限的步骤。 但是,以下计算公式则不能作为算法,因为其计算步骤是无限的: SUM=1+1/1+1/2+1/3+... ...+1/n+...... 注2:事实上有穷性是指合理的范围之内,比如,设计了一个算法是有限的,但按照目前计算机发展的水平要计算1000年才能完成,这样的算法没有实际意义,可以不当作算法,可以视为无穷。 注3:实际上无穷和有穷是相对的,在计算机的许多加密算法中,可以解密的方法不是不存在,而是要执行这样的解密算法需要极其大量的时间。这样就实现了必威体育官网网址。所谓必威体育官网网址就是让在一定的时间内信息不被他人知晓。计算机技术的进步会对算法有影响。对于现在的计算机1000年才能完成的算法可能几个月的功夫就能完成,到那时某些现在无穷性的方法将变成切实可行的算法。 (2) 确定性 确定性是指算法中操作步骤的顺序和每一个步骤的内容都应当是确定的,不应当是含糊不清的。它也不能有不同的解释存在,即不能具有“二义性”,不应当产生两种或多种以上的含义。 (3) 有零个或多个输入 输入就是从外界取得必要的信息。一个算法可以有零个或多个输入,例如:输入一个年份,判断其是否是闰年。同时一个算法可以没有输入,例如:计算出5!是多少。 (4) 有一个或多个输出 算法的目的就求解,“解”就是我们想要得到的最终结果。输出是同输入有着某些特定关系的量。一个算法得到的最终结果就是输出。没有输出的算法是没有意义的。 (5)可执行性
您可能关注的文档
最近下载
- 东南大学研究生毕业论文格式规定.docx VIP
- 中职英语高教版(2023修订版)基础模块3《第五单元单词讲解》课件.pptx VIP
- T_CTESGS 02-2022 长江流域和澜沧江以西(含澜沧江)区域河湖管理范围内建设项目工程建设方案洪水影响审查技术标准.pdf
- 2025年秋季人教版英语八年级上册全册同步教学课件.pptx
- 中班美术PPT课件《纸盘画》课件.ppt
- 公路沥青路面施工技术规范.doc VIP
- GB50013-2018 室外给水设计标准.docx VIP
- CGG用户手册.doc VIP
- 6电线电缆产品生产许可证实施细则(2025).docx VIP
- 2025年医疗器械质量管理体系-程序文件-警戒系统控制程序.pdf VIP
文档评论(0)