(共10张PPT)
教科版高中信息技术
第2单元
编程计算
2.4可以复用的代码(第1课时)
必修1
数据与计算
课堂导入
有6根火柴棒,列出所有能摆出的自然数,要求火柴棒正好用完。
1、列出3个可以用6根火柴棒摆放的数字,分别是
、
、
、
、
、
2、6根火柴棒能摆放的最大数是
。
0
6
9
14
41
77
111
111
学生活动2
如何设计算法,让计算机找出这些自然数?
算法分析:
1、数字“1”需要的火柴棒最少,因此能摆出的自然数最大是111。
2、对0
111之间的每一个数进行计算,统计需要的火柴棒根数。
3、凡是恰好需要6根火柴棒的数直接输出。
~
开始
i=0
结束
i需要火
柴棒6根
输出i
i<=111
i=i+1
否
否
是
流程图
是
如何计算一个数需要多少根火柴棒呢?
思考3
实现方法
1、将这个数除以10求余,求得个位数;
2、将这个数除以10取整,去掉个位数;
3、重复1和2以上步骤直到这个数为0。
求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