中小学教育资源及组卷应用平台
教科版必修1 4.1 算法及特征 第2课时
课题 教科版必修1 4.1 算法及特征 单元 4 学科 信息技术 年级 高一
学习 目标 通过有趣的实际问题,熟悉算法的概念,学会根据实际问题选择恰当的方式来描述算法;
通过问题求解,掌握用编程语言实现简单算法。
重点 理解算法的三种表示。
难点 会针对具体问题找出算法,提炼出数学模型,画出流程图。
理解“谁是冠军”的程序代码
教学过程 教师活动 学生活动 设计意图
导入
5分钟 一个房间里有三盏灯,房间外有三个开关分别控制这三盏灯,在只允许进房间一次的情况下,如何判断哪个开关控制那盏灯?
学生思考左边这个问题,判断哪个开关控制哪个灯。 通过问题的方式引入本节课的教学。
教师 说出你的判断过程
第一步:
第二步:
第三步:
第四步:
第五步:
…… 学生说出具体的判断过程,第一步,第二步,等。
引导学生说出具体的判断过程,必须分步骤来进行。
教师 第一步:打开1、2两个开关
第二步:过2分钟后关闭1号开关
第三步:进房间,亮着的灯是由2号开关控制
第四步:摸一下另外两盏不亮的灯,发热的灯泡
是由1号开关控制
第五步:不亮又不热的灯是由3号开关控制 学生设计每一步的具体操作。 引导学生设计出每一步的具体操作。
教师 流程图附后 学生根据上一步的设计,画出流程图。 引导学生注重流程图的使用。
教师再次总结算法的描述 算法的描述:
1、自然语言
2、流程图
3、程序代码 学生和老师一起回顾算法的3种描述。 引导学生总结算法的3种描述。
教师 求解“谁是冠军” 的冠军就在叶达班的A、B、C、D四位同学中。消息很快传到了班上,当A、B、C、D四人回到班上,叶达迫不及待地问他们中谁得了冠军。四人相对一笑,A说:“不是我。”B说:“是C。”C说:“是D。”D说:“C说的不对。”原来他们想让叶达猜出答案,而且有一人说了假话。叶达很快就知道了答案,大家都想知道他的方法。你能判断到底谁是冠军吗? 学生读左边这个具体问题,思考谁是冠军。 引出本节课的第二个问题,以问题带动学习。
教师 解析:利用枚举法,逐一假设A、B、C、D是冠军,判断是否正确。
冠军
A说:“不是我。”
B说:“是C。”
C说:“是D。”
D说:“C说的不对。”
A
×
×
×
√
B
√
×
×
√
C
√
√
×
√
D
√
×
√
×
学生利用枚举法,逐一假设ABCD就冠军,判断是否正确。 引导学生掌握最基本的算法:枚举法。
程序源代码 champion=[‘A’,’B’,’C’,’D’]
for i in champion:
cond=(i!=‘A’)+(i==‘c’)+(i==‘d’)+(i!=‘D’)
if cond==3:
print (“冠军是:”,i)
Input(“运行完结,请按回车键退出…”) 学习和设计谁是冠军的程序代码。 引导学生学习和设计具体的程序。
总结 1.熟悉将解决问题的方法归纳为一系列清晰、准确的步骤的过程。
2.了解算法的基本要素和重要特征。
3.运用恰当的方式描述算法。
4.运用Python语言实现简单的算法 和老师一块总结本节内容所学。 通过总结,加深对本节内容所学的理解。
练习
练习题和答案 附 后
巩固提高
练习题:
1.□3×6528=3□×8256,在两个□内填入相同的数字使得等式成立。求这个数。
2.找出三位正整数中能被3整除的整数。
3.在一千多年前的《孙子算经》中,有这样一道算术题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”。即一个数除以3余2,除以5余3,除以7余2,求这个数。
参考答案:
1.
for i in range(10):
if ((i*10+3)*6528)==((30+i)*8256):
print("结果是:",i)
2.
for i in range(100,1000):
if i%3==0:
print(i)
3.
i=0
while (i%3!=2 or i%5!=3 or i%7!=2):
i=i+1
print(i)
_21?????????è?????(www.21cnjy.com)_