内容正文:
( 信息技术 )学科教案 使用年月: 2020
(
装
订
线
)课
题
2.4.2基于枚举算法的问题解决
课型
新授课
课时安排
1
教 学 过 程
(
授课教师
:
授课班级
:
)教学目标
理解枚举算法的基本原理和求解问题的基本过程,能够完善程序代码实现算法。
掌握枚举算法解决问题的基本过程,学会使用枚举算法解决生活中的实际问题,提高信息安全意识。
体验枚举算法的执行效率,认识优化算法的必要性。
一、情景导入:数字解密问题
票据上有一个4位数字组成的编号:
甲说:数字编号的前两位数字相同,但都不是零;
乙说:数字编号的后两位数字是相同的,但与前两位不同;
丙说:数字编号是一个整数的平方。
根据以上线索推断出编号。
学生思考:你怎样应用学过的知识进行推断?
二、新知探索:
1. 数字解密问题:
· 分析问题:
教师引导学生思考并回答
分析出已知条件、求解目标、已知和未知之间的关系
已知条件 : 四个数字应是AABB,其中A≠0,A≠B,且AABB是一个整数的二次方
求解目标 : 票据中的数字
已知与未知的关系 : 要求解的4位数字的编号必须同时满足所有的已知条件
· 设计算法:
根据问题分析,只要一一列举出4位数字AABB中A与B的所有可能组合,保证A≠B 且A≠0.再验证二次方问题,就可以得到同题的解。因此,该问题可使用枚举算法求解完成
学生将老师展示的流程图半成品补充完整:
· 编程实现与调试:
学生在Python中 将下面程序补充完整并调试运行:
import math
for A in range(1,10):
for B in range(0,10):
if A!=B:
k=A * 1000+A * 100+B * 10+B
c=int(math.sqrt(k))
if c*c==k:
print("票据编号是:",k)
教学