《算法及其实现》PPT课件.ppt
高中信息技术基础(必修),算法及其实现,农夫过河,一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,但只有一条船。乘船时,农夫只能带一样东西。农夫在场的时候,这三样东西相安无事。一旦农夫不在,狼会吃羊,羊会吃菜。请设计一个算法,使农夫能安全的将这三样东西带过河。,农夫带狼、山羊、蔬菜过河步骤,解一:1、农夫带羊过河2、农夫回来3、把狼带过河4、把羊带回来5、带蔬菜过河6、农夫回来7、把羊带过河,解二:1、农夫带羊过河2、农夫回来3、带蔬菜过河4、把羊带回来5、把狼带过河6、农夫回来7、把羊带过河,算法的定义:,所谓“算法”(algorithm)就是解题方法的精确描述。,算法的特点:,算法的特点是求解步骤必须是有限的,而且每个环节都必须是明确和可行的。,问:如何判断一个算法的好坏?,数学家华罗庚的统筹方法中著名的”泡茶算法”:,(请同学们对这几种算法进行评价!),算法的表示:,为了表示一个算法,常用的算法表示形式有:自然语言、流程图和计算机语言。,常用的计算机语言有:C、C+、Basic、VB 和java等。,自然语言表示法,自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等.用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解.缺点是通常所用文字会比较冗长,还容易出现“歧义性”.,流程图是人们经常用来描述算法的工具,流程图用图框及流程线来表示算法形象直观。美国国家标准化协会(ANSI)规定了流程图符号。1.处理框():框中指出要处理的内容,有出口和入口。2.输入、输出框():表示输入和输出数据。3.判断框():表示条件判断及产生分支的情况。4.连接框():连接因页面写不下而断开的流程线。5.流程线():有向线段,控制流程方向。6.开始、结束框():表示本段算法的开始或结束。,例1:要设计一个算法,对任意输入的三个整数x、y和z,找出并输出其中的最大值。,按照它的思想,我们只需要先比较x和y,得到一个较大的值max,再用max与y比较,将两者中较大的值作为结果输出即可。,用自然语言,可以将这个算法描述为:(1)输入变量x、y和z的值。(2)比较x和y。如果xy,则x存入以max命名的存储单元中;否则,y送max。(3)比较z和max。如果zmax,则z送max。(4)输出结果max。这个算法也可以用下面的流程图来描述。图中的Y表示Yes,N表示No。,图框内的符号“”是赋值号,表示将赋值号右边的表达式运算的结果值存入左边的变量。例如,“max x”、i i+1,Y,N,练习1:画出“我们走路时躲避障碍”这个过程的流程图,Y,N,有障碍吗?,往前直走,开始,结束,躲避障碍,观察道路情况,程序设计实例,例2:求n阶乘(n!=123n)首先输入变量n的值,变量f和i被赋以初值1,然后判断in是否成立,如果成立,执行赋值语句ff*i和i i+1,并回到判断处,否则结束循环,最后输出f的值。,练习2在抽屉中寻找东西的过程。,N,Y,寻找,开始,结束,找到了吗?,拿东西,循环结构,分支结构和循环结构的异同:,谢谢!,