第二节算法和算法的描述第二节算法和算法的描述韩信点兵韩信带1500名兵士打仗,战死四五百人,站3人一排,多出2人;站5人一排,多出4人;站7人一排,多出6人
韩信马上说出人数:1049
韩信已经知道死了四五百了,具体多少不知道,那么韩信是如何快速求出结果的呢
知识与技能(1)了解算法的定义及其表达方法;(2)认知流程图的六种基本符号;(3)理解计算机解决问题的一般过程
(4)理解用不同的表达方法描述算法的优缺点;(5)掌握用流程图描述简单的算法
重点难点(1)算法的定义;(2)算法的三种表达方法;(3)流程图的六种基本符号;(4)用流程图描述简单的算法
什么是算法算法是解决问题的方法和步骤
通俗点说,就是计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合
在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法
算法独立于任何具体的程序设计语言,一个算法可以用多种程序设计语言来实现
例:两个大人和两个小孩一起渡河
渡口只有一条小船,一次只能渡过一个大人或两个小孩,他们四人都会划船,但都不会游泳
他们怎样渡过河去
请写出你的渡河方案
设计算法渡河的方法与步骤:第1步:两个小孩同船渡过河去;第2步:一个小孩划船回来;第3步:一个大人独自划船渡过河去;第4步:对岸的小孩划船回来;第5步:两个小孩再同船渡过河去;第6步:一个小孩划船回来;第7步:余下的一个大人独自划船渡过河去;第8步:对岸的小孩划船回来;第9步:两个小孩再同船渡过河去
算法的特征算法要有一个清晰的起始步,表示处理问题的起点,且每一个步骤只能有一个确定的后继步骤(算法的确定性),从而组成一个步骤的有限序列有限序列(算法的有穷性);要有一个终止步(序列的终止)表示问题得到解决或不能得到解决;每条规则必须是确定的、可行的(算法的可行性)、不能存在二义性
算法总是对数据进行加工处理,因此,算法的执行