(
课件网) 第3课 算法设计 浙摄版2023版 五年级上册 学习目标 1.通过生活中具体案例的分析,理解枚举算法思想。 2.通过设计“鸡兔同笼”问题的算法,掌握枚举法解决问题的一般方法,初步树立运用经典算法思想解决问题的意识。 从前有个农夫,他带着一匹狼一只羊和一个卷心菜,要坐船过河,农夫一次只能带一样上船,当农夫不在的时候,羊会吃卷心菜,狼会吃羊,那么请问农夫该如何过河? 讨论 解决下列问题时,主要的方法与步骤是怎样的? 从前有个农夫,他带着一匹狼一只羊和一个卷心菜,要坐船过河,农夫一次只能带一样上船,当农夫不在的时候,羊会吃卷心菜,狼会吃羊,那么请问农夫该如何过河? 讨论 建构 经典的算法:经过大量的实践,人们发现了算法某些共性的规律,总结了很多经典的算法思想。如 枚举法、分治法、贪心算法、解析法等。 设计解决具体问题的算法时,可以借助经典的算法思想。 枚举法的思想: 有序地尝试每一种可能得解,如果满足正确解的条件就采纳,否则继续枚举,做到不遗漏、不重复。 一、认识枚举法 一、认识枚举法 枚举法的关键: 1.确定枚举的范围 2.正确解的判断条件 想一想 为什么在登录网站、APP、ATM提款机时,系统要限制用户输入密码的尝试次数? 一、算法思想的选择 “鸡兔同笼”需要在一定范围内寻找正确解,可以使用枚举法。 二、算法框架的确定 合理选择控制结构,可以得到解决具体问题的算法框架。 枚举范围:0~35,可以使用循环结构在 0~35 之间枚举“ji”“tu” 正确解条件:ji×2+tu×4=94,使用分支结构判断是否满足正确解条件 三、算法的描述 “鸡兔同笼”问题的算法可描述如图: 试一试 除了枚举兔子的数量,你还有其他的枚举方法吗? 练一练 利用枚举法解决“百钱百鸡”问题,用自然语言或者流程图描述算法。 思考: 枚举的范围:(用什么结构) 正确解的条件:(用什么结构) 练一练 “百钱百鸡”问题流程图描述算法。 谢谢聆听