b课题: 2.4可以复用的代码
执教班级:高一(1)(2)(3)(4)(5) 课时安排: 2
教学目标 火柴棒摆数字问题中的算法分析。 理解火柴棒摆数字问题的流程图,并能自己绘制“判断数字需要几根火柴棒”的流程图。
教学重难点 重点: 穷举需要6根火柴棒的自然数。 计算一个数需要多少根火柴棒。 难点: 理解计算一个数需要多少根火柴棒的实现方法。
第一课时
教学环节 教学内容 媒体或技术应用
一、导入 展示图片不同的数字需要的火柴棒个数也不同。这里有6根火柴棒,请你列出所有能摆出的自然数,要求火柴棒正好用完。 【学生活动1】 1. 列出3个可以用6根火柴棒摆放的数字,分别是 、 、 。 2. 6根火柴棒能摆放的最大数是 。 打开学案,尝试完成 师展示学生的答案——请问我们是否把满足条件的自然数都列举出来了? 【学生活动2】 如何设计算法,让计算机找出这些自然数? ppt
二、解决实际问题 算法分析 1. 数字“1”需要的火柴棒最少,因此能摆出的自然数最大是111。 2. 对0~111之间的每一个数进行计算,统计需要的火柴棒根数。 3. 凡是恰好需要6根火柴棒的数直接输出。 流程图 【学生活动3】 如何计算一个数需要多少根火柴棒呢? 学生思考,完成学案 已知:数字0~9对于使用的火柴棒根数 数字火柴棒根数06122535445566738796
未知:对0~111之间的每一个数进行计算,统计需要的火柴棒根数。 实现:将这个数的每个数位上的数字所需要的火柴棒数加起来。 如何计算一个数需要多少根火柴棒呢? 步骤: 将这个数除以10求余,求得个位数; 把个位数对应于火柴棒的个数进行累加; 3. 将这个数除以10取整,去掉个位数; 4. 重复1和2以上步骤直到这个数为0。 学生尝试,补充流程图 (
n>0
求n的个位数
求个位数对应的火柴棒数
棒数进行累加
去掉数n的个位数
) 师:展示完整流程图(挑选学生作品)
三、课堂小结 关于火柴棒问题的算法分析 理解计算一个数需要多少根火柴棒 理解火柴棒问题的流程图的表示
四、课后作业 预习课本p42页函数 了解什么是系统函数和自定义 函数
板书设计:
备注:实验等实践课的教学设计样式可参照新授课教学设计模板编制。项目学习:
穷举需要6根火柴棒的自然数。
计算一个数需要多少根火柴棒。
项目要求:请同学们用6根火柴棒摆出所有的自然数,要求火柴棒正好用完。
【学生活动1】
1. 列出3个可以用6根火柴棒摆放的数字,分别是 、 、 、 。
2. 6根火柴棒能摆放的最大数是 。
流程图一
【学生活动2】
如何设计算法,让计算机找出这些自然数?
算法分析:
1. 查找符合条件数的范围: 。
2.从0开始,利用穷举法一一列举出范围内每个“数”。
3. 每个数需要几根火柴棒。
4.判断是否用了6根。满足条件,输出此数。
【学生活动3】
如何计算一个数需要多少根火柴棒呢?请学生尝试绘制流程图
流程图二
【拓展】
请同学尝试根据流程图书写出代码
0!23456189
流程图
i=0
否
i<=111
是
需要火
否
柴棒6根
是
输出i
i=i+1
结