1、算法的概念与特征【例1】渡河问题。一个农夫带着一条狼、一只山羊和一篮蔬菜过河,但只有一条小船,并且每次只能让农夫带一样东西过河。农夫在场的情况下一切相安无事,一旦农夫不在,狼会吃羊,羊会吃蔬菜。问聪明的农夫如何解决过河问题。,方法: 1、农夫带羊过河,然后农夫返回 2、农夫带狼过河,然后农夫带羊返回 3、农夫带蔬菜过河,然后农夫返回 4、农夫带羊过河,算法的主要特征: 有穷性: 一个算法必须保证执行有限步骤之后结束。 确切性: 算法的每一步骤必须有确切的含义。 能行性: 算法的每一步骤都能有效地执行,并得到确定 的结果。 输入:一个算法有0个或多个输入。 输出:一个算法有一个或多个输出,没有输
2、出的算法 是毫无意义的。,算法:为解决某一问题而设计的确定的有限的步骤。,算法的描述方法,【例2】用自然语言描述:从键盘输入两数,求两数之和 并输出。 方法: 1、输入第一个加数 2、输入第二个加数 3、计算两个加数的和 4、输出和,算法的描述方法 用自然语言表达; 用流程图表达; 用程序表达。,算法的描述方法,流程图最常用的符号: 起止框; 输入输出框; 处理框; 判断框; 流程线和连接圈。,1、输入第一个加数 2、输入第二个加数 3、计算两个加数的和 4、输出和,算法的描述方法,【例5】已知圆半径,求面积。请使用自然语言和 流程图两种方式描述算法求解该问题的算法。,试一试,U2合唱团在17分钟内得赶到演唱会场,途中必须跨过一座桥,4个人从桥的同一端出发,我们得帮助他们到达另一端,天色很暗,而他们只有一只手电筒。一次同时最多可以有两人一起过桥,而过桥的时候必须持有手电筒,所以就得有人把手电筒带来带去,来回桥两端。手电筒是不能用丢的方式来传递的。4个人的步行速度各不同,若两人同行则以较慢者的速度为准。Bono需花1分钟过桥,Edge需花2分钟过桥,Adam需花5分钟过桥,Larry需花10分钟过桥。他们要如何在17分钟内过桥呢?,