《算法和算法的描述课件.ppt》由会员分享,可在线阅读,更多相关《算法和算法的描述课件.ppt(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、算法和算法的描述算法和算法的描述 游戏游戏狼菜羊过河狼菜羊过河 有一个牧羊人带着一头羊,一只狼和一颗大白菜准备过河,他找到一只很小的船,每次只能带一样东西过去,可是如果让狼与羊单独在一起,狼会吃羊,让羊与白菜单独在一起,羊会吃白菜,牧羊人应如何过河?以小组为单位,玩一玩“狼菜羊过河”的小游戏,并记下过河的方案,比比看哪一组最快?农夫带着狼、山羊和蔬菜过河的问题农夫带着狼、山羊和蔬菜过河的问题农夫、农夫、山羊山羊山羊山羊农夫农夫狼狼、蔬菜蔬菜狼狼、蔬菜蔬菜农夫、农夫、狼狼、蔬菜蔬菜蔬菜蔬菜农夫、农夫、狼狼山羊山羊山羊山羊农夫、农夫、山羊山羊狼狼农夫、农夫、山羊山羊、蔬菜蔬菜狼狼蔬菜蔬菜山羊山羊农
2、夫、农夫、蔬菜蔬菜狼狼狼狼、蔬菜蔬菜山羊山羊农夫农夫狼狼、蔬菜蔬菜农夫、农夫、山羊山羊农夫、农夫、山羊山羊狼狼、蔬菜蔬菜农夫、农夫、狼狼、山羊山羊、蔬菜蔬菜农夫、农夫、狼狼、山羊山羊、蔬菜蔬菜蔬菜蔬菜农夫、农夫、山羊山羊、狼狼Elementsn n什么是算法?什么是算法?(解决问题的方法与步骤)解决问题的方法与步骤)n n算法是在有限步骤内求解某一问题所使用算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。的一组定义明确的规则。n n通俗地说,算法就是用计算机求解某一问通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指题的方法,是能被机械地执行的动作或指令的有穷集
3、合。令的有穷集合。算法的特征算法的特征算法的特征算法的特征确定性确定性确定性确定性能行性能行性能行性能行性输入输入输入输入输出输出输出输出有穷性有穷性有穷性有穷性算法是在有限步骤内求解某一问题所使用的算法是在有限步骤内求解某一问题所使用的一组定义明确的规则一组定义明确的规则算法的描述算法的描述1、用自然语言表达、用自然语言表达 用自然语言表达算法,就是把算法的各个步骤,依次用人们熟悉的自然语言表示出来。优点:容易理解缺点:书写较烦、不确定性、对复杂的问题难以表达准确、不能被计算机识别和执行过河的方案过河的方案:第一步:人和羊过河,人返回,留下羊;第一步:人和羊过河,人返回,留下羊;第二步:人和
4、狼过河,人和羊返回,留下狼;第二步:人和狼过河,人和羊返回,留下狼;第三步:人和菜过河,人返回,留下菜;第三步:人和菜过河,人返回,留下菜;第四步:人和羊过河第四步:人和羊过河合作探究合作探究 以小组为单位,用自然语言描述求解以小组为单位,用自然语言描述求解sum=1+2+3+4+5sum=1+2+3+4+5问题的算法问题的算法1、设、设i的值为的值为1;2、设、设sum的值为的值为0;3、如果、如果i5执行执行4,否则,否则转去执行转去执行7;4、计算、计算sum加加i并将结果并将结果赋给赋给sum;5、计算、计算i加加1并将结果赋并将结果赋给给i;6、转去执行、转去执行3;7、输出、输出s
5、um的值并结束的值并结束算法。算法。步步骤骤i i的的值值SumSum的值的值条件判断条件判断i5i5SumSum加加i ii i加加1 11101 55条件成立条件成立122212 55条件成立条件成立333333535条件成立条件成立644464545条件成立条件成立10555105555条件成立条件成立15666156565条件不成条件不成立立结束结束算法算法结束结束算法算法程序框名称功能开始/结束算法的开始和结束输入/输出输入和输出信息处理计算与赋值判断条件判断流程线算法中的流向连接圈表示算法流向出口或入口连接点常用的常用的“流程图流程图”所用的基本符号所用的基本符号 2、用流程图描述
6、、用流程图描述求解求解sum=1+2+3+4+5问题的算法问题的算法开始i1sum0i5sumsum+ii i+1输出sum结束NY1、设、设i的值为的值为1;2、设、设sum的值为的值为0;3、如果、如果i5执行执行4,否则,否则转去执行转去执行7;4、计算、计算sum加加i并将结果并将结果赋给赋给sum;5、计算、计算i加加1并将结果赋并将结果赋给给i;6、转去执行、转去执行3;7、输出、输出sum的值并结束的值并结束算法。算法。合作探究合作探究以小组为单位,用流程图表示:工人每天工作8小时,每小时9元,超过8小时的每小时增加15%的加班费,计算工人每天的应发的日工资。YN 开始X8小时?
7、Y=X*9(X-8)*9*0.15 Y=X*9输出日工资Y输入工作小时 X 结束 优点:直观、形象优点:直观、形象缺点:不能被计算缺点:不能被计算机识别和执行机识别和执行3、用伪代码描述、用伪代码描述求解求解sum=1+2+3+4+5问题的算法问题的算法1、设、设i的值为的值为1;2、设、设sum的值为的值为0;3、如果、如果i5执行执行4,否则,否则转去执行转去执行7;4、计算、计算sum加加i并将结果并将结果赋给赋给sum;5、计算、计算i加加1并将结果赋并将结果赋给给i;6、转去执行、转去执行3;7、输出、输出sum的值并结束的值并结束算法。算法。i 1sum 0do while (i小
8、于等于小于等于5)sum sum+ii i+1 loop 输出输出 sum优点:优点:简洁、易懂,修改简洁、易懂,修改简洁、易懂,修改简洁、易懂,修改较容易,容易转化为程序较容易,容易转化为程序较容易,容易转化为程序较容易,容易转化为程序语言代码语言代码语言代码语言代码缺点:缺点:不直观不直观不直观不直观用程序实现算法用程序实现算法l用计算机能理解和执行的程序设计语言把算法表示出来,然后把程序输入到计算机并执行,计算机才能按照预定的算法去解决问题。l不同类型的计算机能够识别的指令和语言不尽相同,即使对同一种计算机语言,不同类型的计算机对该语言的解释程序也有差异。l用程序表示算法时,必须按照程序
9、设计语言适用某类计算机的具体规定来进行。用程序实现用程序实现求解求解sum=1+2+3+4+5问题的问题的算法算法i=1sum=0 do while (i=5)sum=sum+ii=i+1 loop print sumi 1sum 0do while (i小于等于小于等于5)sum sum+ii i+1 loop 输出输出 sum编写编写VB程序求解程序求解sum=1+2+3+4+5问题问题上机任务:上机任务:每位同学都启动Visual Basic程序设计环境,输入程序代码,并调试运行。算法的择优算法的择优处理同一个问题可能有不同的算法,采用什么样的算法更简单、方便呢?著名数学家华罗庚著名数学
10、家华罗庚“烧水泡茶烧水泡茶”的两个算法。的两个算法。算法一算法一第一步:烧水;第一步:烧水;第二步:水烧开后,洗刷茶具;第二步:水烧开后,洗刷茶具;第三步:沏茶。第三步:沏茶。算法二算法二第一步:烧水;第一步:烧水;第二步:烧水过程中,洗刷茶具;第二步:烧水过程中,洗刷茶具;第三步:水烧开后沏茶。第三步:水烧开后沏茶。第二个算法的科学性在于应用了第二个算法的科学性在于应用了“统筹方法统筹方法”区别?哪个更高效?一个好算法必须用到科学的方法一个好算法必须用到科学的方法 算法在解决问题中的地位与作用算法在解决问题中的地位与作用l“烧水泡茶”两种算法的效率l算法是程序设计的核心,是灵魂。l编程解题实
11、际上是从人工解题描述算法根据算法写出程序。l人会解决问题,就可以设计出算法,人会解决问题,就可以设计出算法,就可编程解决就可编程解决l编程解题不会难!编程解题不会难!小结小结特征:特征:有输入 确定性 有穷性 有输出 可行性 算法的描述算法的描述用自然语言描述算法用流程图描述算法用伪代码描述算法用程序实现算法 算法算法解决问题的方法和步骤 一个问题,可能有多种算法一个问题,可能有多种算法 ,应该通过,应该通过分析、比较、挑选一种最优的算法。一个好算分析、比较、挑选一种最优的算法。一个好算法必须用到科学的方法法必须用到科学的方法 ,应该好好学习各学,应该好好学习各学科处理问题的科学方法。科处理问题的科学方法。