内容正文:
2.4 可以复用的代码(第1课时)
学易同步精品课堂
第2单元 编程计算
教科版(2019版) 信息技术(高中)
必修1 数据与计算
有6根火柴棒,列出所有能摆出的自然数,要求火柴棒正好用完。
课堂导入
1. 列出3个可以用6根火柴棒摆放的数字,分别是
、 、 、 、 、 、 。
2. 6根火柴棒能摆放的最大数是 。
0
6
9
14
41
77
111
111
学生活动
思考1:
如何设计算法,让计算机找出这些自然数?
算法分析:
1. 数字“1”需要的火柴棒最少,因此能摆出的自然数最大是111。
2. 对0-111之间的每一个数进行计算,统计需要的火柴棒根数。
3. 凡是恰好需要6根火柴棒的数直接输出。
思考2:
学生活动
开始
i=0
结束
i需要火
柴棒6根
输出i
i<=111
i=i+1
否
否
是
是
流程图
如何计算一个数需要多少根火柴棒呢?
实现方法
1. 将这个数除以10求余,求得个位数;
2. 将这个数除以10取整,去掉个位数;
3. 重复1和2以上步骤直到这个数为0。
思考3:
学生活动
求num的个位数
求这个个位数需要的火柴棒数
将火柴棒数累加
去掉num的个位数
num>0
是
否
流程图
自定义函数
Match_num(num)
x=num%10
total=f(0)
total=total+f(x)
num=num//10
f=(6,2,5,5,4,5,6,3,7,6)
return total
自定义函数结束
num==0
num>0
total=0
是
否
否
开始
sum=6
输出“你可以拼出这些数字:”
i=0
i<=111
输出i
i=i+1
结束
match num(i)==snum
否
否
是
是
课堂小结
1. 关于火柴棒问题的算法分析
2. 理解计算一个数需要多少根火柴棒
3. 理解火柴棒问题的流程图的表示
课后作业
请同学们预习第2课时的函数部分
THANKS
“
”
$$