内容正文:
2.4可以复用的代码
【学科核心素养】
1. 能够根据解决问题的需要,自觉、主动地寻求恰当的方式处理信息。(信息意识)
2. 通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案。(计算思维)
3. 掌握数字化学习工具的操作技能。(数字化学习与创新)
4. 能够遵守信息法律法规,信守信息社会的道德与伦理准则。(信息社会责任)
【课程标准要求】
1.7掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。通过解决实际问题,体验程序设计的基本流程,感受算法的效率,掌握程序调试与运行的方法。
【学业要求】
依据解决问题的需要,设计和表示简单算法;掌握一种程序设计语言的基本知识,利用程序设计语言实现简单算法,解决实际问题(计算思维)。
【学情分析】
学生在前面的课中已经学习了基本的赋值语句、分支语句和循环语句,对于编写程序解决问题的一般流程已经比较熟悉,但学生对函数和代码发布应该没有基础。
【学习目标】
1.了解函数的作用。
2.掌握函数的定义和调用方法。
3.了解发布共享代码的常见方法。
【教学重点】
1.函数的定义及调用。
2.模块的发布和导入使用。[来源:学科网ZXXK]
【教学难点】
共享代码的发布。
【教学过程】
一、课程引入
有6根火柴棒,列出所有能摆出的自然数(要求火柴棒正好用完)。
图2.4.1 火柴数字
问题:
1. 列举3个可以用6根火柴棒摆放的数字_______、__________、__________。
2. 6根火柴棒能摆放的最大数是____________。
分析:(下面是对应的火柴数)
6 2 5 5 4 5 6 3 7 6
参考答案:1. 0、6、9、14、41、77、111
2. 111
二、算法实现
1. 算法分析
· 数字“1”需要的火柴棒最少,因此,能摆出的自然数最大为111。
· 对于0~111之间的每一个数进行计算,统计需要的火柴棒个数。
· 凡是恰好需要6根火柴棒的数据直接打印输出。
将这个数的每个数位上的数字所需要的火柴棒数加起来。实现方法是将这个数除以10取余,求得个位数;然后将这个个位数需要的火柴棒数累加;接着将这个数除以10取整,去掉个位数;重复以上步骤直到这个数为0。
思考:如果一开始num就等于0,怎么办?
2.用流程图表示(学生思考,如何用