友情提示:680元/半年,儿童学编程,就上码丁实验室。
Scratch线上编程课程
解决灯塔数问题
明代数学家吴敬《九章算法比类大全》中有这样一首诗:
“远看巍巍塔七层,红光点点倍加增,共灯三百八十一,请问尖头几盏灯?”
这首诗的意思是:“从远处看一座宏伟的7层宝塔,每层都挂着红色灯笼,宝塔从第二层开始,下面一层的灯笼数量都是上一层的2倍,我们知道这座宝塔一共381盏灯,那么请问宝塔顶层有几盏灯?”
解题思路
这个问题是个简单的“等比问题”,我们可以运用按比例分配的方式求出答案。对于高年级的学生,我们可以通过设未知数求解来完成本题的计算,假设最上层的灯笼为X个,那么下面每层的灯笼数就是2X个、4X个、8X个、16X个、32X个、64X个,把他们加起来就是灯的总数381个,通过计算我们可以求出X的值。
X+2X+4X+8X+16X+32X+64X=381
127X=381
X=3
由此可以计算出宝塔第一层灯数为3个。
用Scratch编程解决
因为这是一个等比问题,首先我们将最上层的灯数设定为一个整体,这里我们就取名叫“一组灯”吧,那么下面每层就是2组、4组、8组…,把他们加起来就是灯的总组数了。
我们将“组数”和最终的“总组数”设为两个独立的变量,将它们的初始值设置为1:
根据题中给出的条件,我们让循环体重复执行六次,在循环体内灯的组数在成二倍增加,灯的总组数随着灯的组数的增加也在不断增加:
最后,再让灯的总数381除以灯的总组数,得出结果就是宝塔第一层灯的数量。程序如图:

以上就是Scratch编程解决这道数学问题的方法,是不是很简单? 如果是更高的塔和更多的灯,那么通过程序计算相比就会变得非常便捷。聪明的你学会了么?
小作业
修改一下程序,用Scratch编程求出七层宝塔中每层的灯数是多少?