网站大量收购独家精品文档,联系QQ:2885784924

2算法的描述与设计 .pptVIP

  1. 1、本文档共19页,可阅读全部内容。
  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文档。上传文档
查看更多

算法的描述与设计1

学习目标:1、理解什么是算法,知道算法的多样性;2、学会用自然语言、流程图和伪代码来描述算法;3、能够对设计的算法做出简单的评价。2

算法的描述与设计 有一个牧羊人带着一头羊,一只狼和一颗大白菜准备过河,他找到一只很小的船,每次只能带一样东西过去,可是如果让狼与羊单独在一起,狼会吃羊,让羊与白菜单独在一起,羊会吃白菜,牧羊人应如何过河? 要求:现在请同学们来设计一个方案,把3样东西安然无恙的带过河。农夫问题3

思考:123这个方案总共有多少步?哪几步顺序可以颠倒?同学们农夫过河问题解决了,那到底什么是算法?4

过河方案牧

案第一步:将羊运过去第二步:人返回第三步:将菜运过去第四步:将羊运过来第五步:将狼运过去第六步:人返回第七步:将羊运过来5

算法就是解决问题的方法和步骤。算法是程序设计的“灵魂”,世界著名计算机科学家尼克劳斯·沃思(N·wirth)指出:算法+数据结构(DataStructure)=程序,可见,算法在程序设中具有多么重要的地位。算法独立于任何具体的程序设计语言,一个算法可以用多种程序设计语言来实现。算法的概念算法那算法都有哪些特征呢?也就是问题的解决都有哪些特点,我们应该注意些什么呢?6

算法的特征有穷性:执行有限步,每一步执行时间有限;确定性:每一步都有确切的含义;输入:有零个或多个输入;输出:至少产生一个输出;可行性:原则上能精确运行,用纸和笔做有限次运算后即可完成。7

如何描述算法算法可以用多种方法来描述1、用自然语言来描述。2、用流程图来描述。3、用伪代码描述算法。8

实践活动:韩信点兵问题:“今有物不知其数,三三数之余二,五五数之余三,七七数之余二,问物几何?”

10大家应该也有点累了,稍作休息大家有疑问的,可以询问和交流

实践活动:自

言用自然语言描述“韩信点兵问题”:11

自然语言用自然语言表达算法,就是把算法的各个步骤,依次用人们熟悉的自然语言表示出来。优点:容易理解。缺点:书写较烦、不确定性、对复杂的问题难以表达准确、不能被计算机识别和执行。自然语言描述12

流程图流程图13

流程图也称为程序框图,它是算法的一种图形化表示方法。流程图描述14

描述“韩信点兵”算法的两种方法流程图S1:将N初始值赋值为1;S2:若N被3、5、7整除后的余数分别为2、3、2,则输出N的值,转S4;S3:将N的值加1,转S2;S4:结束程序。自然语言15

伪代码伪代码描述初始化N=1DOIfN整除3余2、整除5余3、整除7余2then输出N的值ExitDOEndIfN=N+1Loop16

伪代码描述Ifa除以2余数为0then输出“a为偶数”判断某个数是否偶数Else x=-b/aEndif 求解ax+b=0Else输出“a不是偶数”Endif输入正数a输入a,bIfa=0thenifb=0then输出x为任意值else 输出x无实数解endif17

伪代码伪代码是介于自然语言和计算机程序语言之间的一种算法描述。优点:简洁、易懂、修改容易。缺点:不直观、一旦出现逻辑错误不容易排查。伪代码描述18

小结特征:有输入确定性有穷性有输出可行性算法的描述用自然语言描述算法用流程图描述算法用伪代码描述算法算法——解决问题的方法和步骤一个问题,可能有多种算法,应该通过分析、比较、挑选一种最优的算法。一个好算法必须用到科学的方法,应该好好学习各学科处理问题的科学方法。19

文档评论(0)

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

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

1亿VIP精品文档

相关文档