内容正文:
枚举算法及其程序实现教学设计
课程标准
和
教学目标
枚举算法及其程序实现
教材内容:3.3.2枚举算法及其程序实现
适应的课程标准:
1.7掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。通过解决实际问题,体验程序设计的基本流程,感受算法的效率,掌握程序调试与运行的方法。
教学目标:
●理解枚举算法的思想,能用枚举算法来设计算法解决简单问题。
●编写程序来实现枚举算法。
●通过解决实际问题,编写实用性程序,培养编程解决问题的能力。
指向的核心素养:
●信息意识:能够根据解决问题的需要,自觉、主动地寻求恰当的方式获取与处理信息;在合作解决问题的过程中,愿意与团队成员共享信息,实现信息的更大价值。
●计算思维:针对给定的任务进行需求分析,明确需要解决的关键问题;能提取问题的基本特征,进行抽象处理,并用形式化的方法表述问题。运用基本算法设计解决问题的方案,能使用编程语言或其他数字化工具实现这一方案。
学习环境:有教学控制软件的多媒体机房,装有Python3.x编程环境和班级讨论区。
建议课时:1课时
教学活动设计
教学环节
教学过程
设计意图
情境导入
小明不小心把寝室门钥匙丢了,他去寝室管理员那里去找钥匙开门。寝室管理员那里总共有10把钥匙,但钥匙上的寝室编号已经模糊不清了,请问小明如何才能找出能开自己寝室门的钥匙?
这是生活中经常遇到的问题,只能一把一把钥匙试过来,直到找到能打开门的钥匙。
从生活实际问题中体会枚举思想的应用,顺利过渡到使用枚举算法编程解决问题,有效地调动了学生主动探究学习的积极性。
学生活动
活动1:编程推算单据中被涂抹数字。
有一张单据上有一个5位数的编号n,如图所示,其百位数和十位数处已经变得模糊不清,但是知道这个5位数是23的倍数。现要设计一个算法,找出所有满足这些条件的5位数,并统计这些5位数的个数。
算法分析:
这个5位正整数n中的百位和十位数有00、01、02、…、97、98、99共100种可能,分别填入,从而产生出n的全部可能解:25006、25016、25026、…、25986、25996。
使用枚举算法解决问题时,必须逐一地给出所有可能解并对它们逐一进行检验,既不应遗漏任何一个可能解,也不应重复地产生和检验可能解。因而将每个可能解