中小学教育资源及组卷应用平台 
教科版必修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)_