内容正文:
第2单元 编程计算
第1单元 初识数据与计算
第3单元 认识数据
第4单元 计算与问题解决
第5单元 数据分析与人工智能
信息技术
(必修1)
1
2.4 可以复用的代码
学习目标
了解函数的作用。
学会函数的定义和调用方法,并能熟练使用函数解决问题。
学会发布共享代码的常见方法,并能熟练使用模块解决问题。
1
2
3
www.v5ppt.com
My First Template
当我们面对一些复杂问题时,可以采取 “自顶向下、逐步细化 ” 的方法,即将一个完整的问题分成若干个小问题, 每个小问题实现一个功能, 再将每个小问题逐步细化、分解为一系列具体可实现的步骤。
本节我们将围绕 “解决火柴棒摆数字问题” 项目展开学习, 通过该项目活动,体验复用和共享代码为编程带来的便利。
活动1 用自定义函数实现火柴棒摆数字问题
有6根火柴棒, 列出所有能摆出的自然数, 要求火柴棒正好用完。
思考,利用6根火柴棒能够列出的最大数字是多少呢?
如何计算一个数需要多少根火柴棒呢?
数字 0 1 2 3 4 5 6 7 8 9
需要的火柴棒 6 2 5 5 4 5 6 3 7 6
1.列出5个用6根火柴棒摆出的数字,分别是
0 , 6 , 9 , 14 , 77 , 111
2.要摆出数字103需要多少根火柴棒?怎么计算?
可以将这个数的每个数位上的数字所需要的火柴棒数加起来。
算法分析
1.数字“1”需要的火柴棒最少,所以能摆出的自然数最大是111
2.计算0和111之间的所有数字,统计需要的火柴棒
3.只要是恰好需要6根火柴棒的直接输出。
算法流程图描述
如何让计算机找出这个数字中的所有个位数呢?
想一想,如果我们想得到“125”的个位上的“5”,哪种运算可以实现?除、整除还是取模?
125%10=5
我们定义一个变量digit来接受取模运算的结果,用tens来接受整除的结果;
digit1 = 125%10 tens1=125//10
Digit2 = tens1%10 tens2=tens1//10
如何设计算法,让计算机找出这个数字中的所有个位数呢?
实现方法:
1.将这个数除以10求余(取模),求得个位数;
2.将这个数除以10取整数
3.重复第1和第2步骤,直到这个数为0
算法的流程图描