编程可不是兴趣班哦!家长们如果你还在认为编程只是孩子生活当中的一种兴趣班那就往下看吧!看看作为家长您!兴趣班能做出来小学的奥数题吗!(速云少儿编程 - 山东少儿无人机编程)
根据故事中的描述,每一个水手分椰子的过程是,把一个椰子给猴子,再把椰子平均分为3份,自己藏起一份,留下两份。水手们在头天夜里和第二天早晨共分了4次椰子。
小海豚科学馆推荐你采用枚举法,让椰子数从4开始递增,并判断椰子数能否用4次分完。如果刚好能分完则求得问题的解;否则继续增加椰子数,再模拟分椰子,直到刚好分完为止。(速云少儿编程 - 山东少儿无人机编程)
下面小海豚科学馆给出用枚举算法描述的流程图如下。
接下来,根据上面介绍的算法,小海豚科学馆带你来编写主程序。
首先,我们创建一个名为“x”的变量,并赋初值为4;再用“重复执行直到……”指令构建一个循环结构,在循环体中逐一增加变量“x”的值。这就是一个枚举算法的基本结构。
对于每一个“x”的值,我们调用模块“水手分椰子”进行检测,如果椰子能分完,则结束循环,输出问题的解。否则就继续检测下一个“x”的值。
接下来,我们还需要一个重要的模块 “水手分椰子”来检测列举的椰子数是否能分完。小海豚科学馆带你继续编写模块。
模块:水手分椰子
创建一个名为“水手分椰子”的模块,参数是一个名为“椰子”的数字参数。
创建一个名为“椰子”的变量,并将参数“椰子”赋给变量“椰子”。请注意参数“椰子”和变量“椰子”的指令块颜色不同。
接下来,在一个“重复执行……次”的循环结构中对变量“椰子”进行3次迭代。
根据故事描述,3名水手夜里先后偷偷分了3次椰子,每一次都是把1个椰子给了猴子,再把剩下的椰子均分为3份,自己藏起来1份,只留下2份。因此,这个过程可以表示如下:
当天亮后,水手们一起又分了一次椰子。把一个椰子给了猴子,其余的均分成3份,一人一份。可以用下面等式表示:
然后把这个等式放入一个“如果……那么……否则”的条件判断指令中
如果条件满足,则把变量“椰子分完”设定为1,否则设定0。
到此,模块“水手分椰子”的代码编写完毕,模块的代码如下。
点击绿旗运行程序,得到结果:椰子总数最少是79。
这个时候,家长们你还认为编程就是给孩子增加一个兴趣吗?(速云少儿编程 - 山东少儿无人机编程)