- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二节算法和算法描述
复习:计算机解决问题的步骤是: 1.2算法的描述与设计 一个笼子里有鸡和兔,现在只知道里面一共有a个头,b只脚,鸡和兔各有多少只?试设计一个算法,解决这个问题。 思考 算法的描述方法 自然语言 流程图 常用的“流程图”所用的基本符号 伪代码 算法的特征 算法在解决问题中的地位和作用: 算法是程序设计的核心,是程序设计的灵魂。算法的好坏直接影响着程序的通用性和有效性,影响着问题的解决效率。 算法与程序的关系: 程序可以作为算法的一种描述,但程序通常还需要考虑与计算机系统运行环境有关的细节问题,而算法关注更多的是与问题分析和求解方法有关的问题。程序的编制依赖算法的设计。程序的效率主要取决于算法的效率。 一、 单项选择题 1.以下不是算法特征的是(??? ?)。A.有穷性B.确定性和可行性????C.输入和输出?????D.高效 答案:D 2.在流程图的基本图形中,菱形表示(??? ?)。A.开始/结束 B.输入/输出 C.处理 D.判断? 答案:D 课后作业: * 具体问题 分析问题 设计算法 编写程序 调试程序 得到答案 “鸡兔同笼”问题 1 通过以上例子,我们能不能总结出什么是算法? 2 【鸡兔同笼】中,我们是用什么来描述算法的? 3 算法还有其他的描述方法吗? 算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。 用自然语言描述算法 用流程图描述算法 用伪代码描述算法 用自然语言表达算法,就是把算法的各个步骤,依次用人们熟悉的自然语言表示出来。 优点:通俗易懂,容易理解 缺点:书写较烦、不确定性、对复杂的问题难以表达准确、不能被计算机识别和执行,不便翻译成计算机程序设计语言。 自然语言描述 也称为程序框图,它是算法的一种图形化表示方法。 优点:形象、直观、清晰简洁,容易表达选择结构;它不依赖任何具体的计算机和计算机程序设计语言,从而有利于不同环境的程序设计。 流程图描述 算法中的流向 流程线 表示算法流向出口或入口转接点 连接圈 条件判断 判断 变量的计算与赋值 处理 变量的输入和输出 输入/输出 算法的开始和结束 开始/结束 功能 名称 程序框 伪代码是用介于自然语言和计算机程序语言之间的文字和符号来描述算法的一种算法描述。 优点:简洁、易懂、修改容易,便于向程序设计语言过渡。 缺点:不直观、错误不容易排查,代码语句不容易规范,有时会产生误解。 伪代码描述 S1:移项得 ax = - b ; S2:若a不等于0,则x=-b/a,结束 S3:若a=0,b=0,得x为任意值,结束; S4:否则输出x无实数解,结束; 自然语言 例:求方程 ax + b = 0 的解。 流程图 例:求方程 ax + b = 0 的解。 输入 a , b If a = 0 then if b = 0 then 输出x为任意值 else 输出x无实数解 end Else x= -b/a End if 伪代码描述 例:求方程 ax + b = 0 的解。 3 有穷性:算法在执行有穷步之后必须结束 算法特征 确定性:每一步都必须有确切的定义 2 输出:至少产生一个输出 4 1 输入:有零个或多个输入 5 可行性:原则上能精确运行 小结 特征:有输入 确定性 有穷性 有输出 可行性 算法的描述 用自然语言描述算法 用流程图描述算法 用伪代码描述算法 算法——解决问题的方法和步骤 一个问题,可能有多种算法 ,应该通过分析、比较、挑选一种最优的算法。一个好算法必须用到科学的方法 ,应该好好学习各学科处理问题的科学方法。 算法在解决问题中的地位和作用:算法是程序设计的 核心,是程序设计的灵魂。但算法不等于程序。
文档评论(0)