1.问题描述 #
有一只小猴子,第一天摘下若干个桃子,当时就吃掉了一半,还不过瘾,又多吃了一个。
第二天早上又将昨天剩下的桃子吃掉一半,还多一个。
此后的每天早上,小猴子都吃掉前一天剩下的一半零一个。
到第10天早上想再吃时,发现只剩下一个桃子了。
那么小猴子第一天总共摘了多少个桃子?
我们用Scratch来快速算出小猴子摘的桃子数量吧!
2.学习目标与任务 #
采用逆推法解决数学问题,进行逆向思考,从最后一天来依次反推,直到第一天的结果。
运行程序看一下效果吧!
3.编程思路与步骤 #
3.1 编程思路 #
逆推法是从题目的结果出发,根据已知条件一步步逆向推理到最初的条件。
逆推法是采用逆向思维来解决问题的典型方法。
我们已知第10天桃子是1个,那么我们可以倒推出第9天的数量。
设第9天桃子为a,那么第10天的桃子:1=a-(a/2+1),求出a=4,
设第8天桃子为b,那么第9天的桃子:a=b-(b/2+1),则b=2(a+1)
设第7天桃子为c,那么第8天的桃子:b=c-(c/2+1),则c=2(b+1)
依次类推,可以得出:
前一天桃子的数量 =(第二天桃子的数量+1)*2
3.2 编程步骤 #
1.导入素材
2.创建变量
我们要设置前一天和后一天桃子数的变量,并且将后一天的桃子数设为1。
3. 前一天桃子的数量 =(第二天桃子的数量+1)*2
4. 循环逆推
重复循环将后一天的桃子数设为前一天桃子数量。
最后说出猴子总共摘了多少桃子就可以了。
4.问答与练习 #
4.1 问答 #
左边是小明的程序
运行之后说出了桃子的数量
那么请问计算桃子数量的程序
需要循环几次呢?
大家帮帮小明吧!
4.2 课后练习 #
大家是否还了解其他的数学知识,可以自己尝试一下啊!