- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
(1)把羊带到右岸;(2)空船返回左岸, 把狼带到右岸;(3)把羊带回左岸;(4)把卷心菜带到右岸;(5)空船返回左岸, 把羊带到右岸。
第三章算法基础
一、算法1.算法的概念算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。
1.算法的概念通俗地说,算法就是计算机求解某一问题的方法,是能被执行的动作或指令的有穷集合。
2.人工解决问题VS计算机解决问题例1:圆周率的计算历史人物研究方法/时间圆周率位数(范围)阿基米德(古希腊)内外接多边形(96边形)3.141851祖冲之(中国)割圆术(公元480年)3.1415926~3.1415927鲁道夫(德国)1596年1610年20位小数值35位小数值梅钦(英国)无穷级数(1706年)突破100位JurijVega梅钦类公式(1789年)140位(137位正确)弗格森、伦奇1948年808位
2.人工解决问题VS计算机解决问题例1:圆周率的计算时间节点花费时间圆周率位数1950年70小时2037位1955年13分钟3089位1973年100万位1989年10.1亿位2010年5万亿位2011年一年(自组装计算机)10万亿位
2.人工解决问题VS计算机解决问题例2:韩信点兵西汉大将韩信,善于带兵,神机妙算,能征善战。一次阅兵时,韩信要求士兵排成3路纵队,此时末尾多出2人,改排成5路纵队,末尾多出3人,再排成7路纵队,末尾余下2人。这时,领兵的部下报告说,这队士兵一共有2395人,韩信立刻摇头说:不对,实际实际只有()人,部下迟疑地回去,又重新清点人数,果真是那么多人,部下们因此对韩信十分佩服。
人数范围x:2300~2400从2300开始,逐个数去试试,如果这个数能同时被3、5、7整除后的余数分别为2、3、2,则这个数就是正确的人数。分析问题(抽象与建模)例2:韩信点兵
例2:韩信点兵设计算法①总人数x=2300;②判断x是否在2300~2400之间,满足则执行下一步,否则结束;③判断x是否满足x÷3······2并且x÷5······3并且x÷7······2,满足则执行第⑤步,不满足则执行第④步;④x在原来的基础上加1,回到第②步;⑤输出x。
思考1:计算机解决问题的过程是怎样的?分析问题设计算法编写程序调试运行程序抽象与建模
例2:韩信点兵①总人数x=2300;②判断x是否在2300~2400之间,满足则执行下一步,否则结束;③判断x是否满足x÷3······2并且x÷5······3并且x÷7······2,满足则执行第⑤步,不满足则执行第④步;④x在原来的基础上加1,回到第②步;⑤输出x。
3.算法的特征(1)有穷性;(2)确定性:每个步骤必须有确切的定义,不能出现模棱两可的情况;(3)数据输入:算法可以有零个或多个输入;(4)数据输出:算法必须有一个或多个输出;(5)可行性:任何步骤都可执行,能在有限时间内完成。
4.算法的描述(1)用自然语言描述算法易掌控当算法较复杂时,用自然语言很难清晰表示自然语言具有歧义性,容易导致算法执行的不确定性
4.算法的描述(2)用流程图描述算法使算法的流程描述得清晰、简洁
流程图的基本图形及其功能起始框:表示算法的开始和结束处理框:表示完成某种操作判断框:表示根据一个条件成立与否,决定执行两种不同操作的其中一个输入、输出框:表示数据的输入输出流程线:用箭头表示程序执行的流向
朋友的意思程序猿的理解
例2:韩信点兵①总人数x=2300;②判断x是否在2300~2400之间,满足则执行下一步,否则结束;③判断x是否满足x÷3······2并且x÷5······3并且x÷7······2,满足则执行第⑤步,不满足则执行第④步;④x在原来的基础上加1,回到第②步;⑤输出x。
4.算法的描述(3)用伪代码描述算法伪代码是介于自然语言和计算机语言之间的文字和符号。是一种非正式的,类似于英语结构的,用于描述模块结构图的语言。它没有任何编程语言的语法,因此无法由计算机编译或解释。
4.算法的描述(3)用伪代码描述算法“韩信点兵”问题:if(x=2300andx=2400): if(x%3==2andx%5==3andx%7==2): {输出对应的x的值}
4.算法的描述(3)用伪代码描述算法不用图形符号,每条指令占一行书写方便,格式紧凑易于理解便于向计算机程序设计语言过渡
5.常用算法枚举法:也称“穷举法”。将问题的所有可能的答案一一列举,然后根据条件判断此答案是否合适,合适就保留,不合适就丢弃。解析法:用解析的方法,找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式计算实现问题求解。一般使用公式进行计算的计算机程序都是用的解析法。递归法:通过重复将问题分解为
您可能关注的文档
- 2.1 机器人的机械部分 教学设计-2023-2024学年高中通用技术粤科版(2019)选择性必修2机器人设计与制作.docx
- 2.2 齿轮传动和平面连杆机构 教学设计-2023-2024学年高中通用技术粤科版(2019)选择性必修2机器人设计与制作.docx
- 3.1 单芯片微控制器 教学设计-2023-2024学年高中通用技术粤科版(2019)选择性必修2机器人设计与制作.docx
- 3.2 Arduino控制器平台 教学设计-2023-2024学年高中通用技术粤科版(2019)选择性必修2机器人设计与制作.docx
- 3.3 一体化控制器 教学设计-2023-2024学年高中通用技术粤科版(2019)选择性必修2机器人设计与制作.docx
- 浙江摄影版(三起)信息技术六年级上册第11课 语音识别(课件).pptx
- 第9课 运动会奖牌榜 课件 重大版(2023)五年级上册信息科技.pptx
- 四年级下册信息技术西师大版5.5 展示演示文稿(课件).pptx
- 三年级下册信息技术苏科版5.1多样的沟通与交流(课件).pptx
- 三年级下册信息技术苏科版6.1 设计数字作品(教案).docx
文档评论(0)