Scratch3.0少儿编程案例:韩信点兵

网友投稿 2019-11-07 14:54

一、案例简介

    秦朝末年,楚汉相争。一次,韩信将 1500 名将士与楚王大将李锋交战。苦战一 场,楚军不敌,败退回营,汉军也死伤四五百人,于是韩信整顿兵马也返回大本营。 当行至一山坡,忽有后军来报,说有楚军骑兵追来。只见远方尘土飞扬,杀声震天。 汉军本来已十分疲惫,这时队伍大哗。韩信兵马到坡顶,见来敌不足五百骑,便急速 点兵迎敌。他命令士兵 3 人一排,结果多出 2 名;接着命令士兵 5 人一排,结果多出 3 名;他又命令士兵 7 人一排,结果又多出 2 名。韩信马上向将士们宣布:我军有 1073 名勇士,敌人不足五百,我们居高临下,以众击寡,一定能打败敌人。汉军本来 就信服自己的统帅,这一来更相信韩信是“神仙下凡”、“神机妙算”。于是士气大振。一时间旌旗摇动,鼓声喧天,汉军步步进逼,楚军乱作一团。交战不久,楚军大败而逃。 我们来用scratch通过编程的方法,制作少儿编程案例:韩信点兵,计算出韩信部队剩余人数。 

二、案例编程

1.枚举算法

枚举算法是我们在日常中使用到的最多的一个算法,它的核心思想就是尝试所有的可能。 
枚举法的本质就是从所有候选答案中去搜索正确的解,使用该算法需要满足两个 条件: 
(1)可预先确定候选答案的数量。 
(2)候选答案的范围是已知的,明确的。 
就像我们常玩的猜东西在左手还是在右手的游戏一样。我们可以预先确定候选答 案只有 2 个,范围是左手或者右手。

2.余数

余数指整数除法中被除数未被除尽部分,且余数的取值范围为 0 到除数之间(不包括除数)的整数。例如:27 除以 6,商数为 4,余数为 3。 
一个数除以另一个数,要是比另一个数小的话,商为 0,余数就是它自己。例 如:1 除以 2,商数为 0,余数为 1。2 除以 3,商数为 0,余数为 2。 
在整数的除法中,只有能整除与不能整除两种情况。当不能整除时,就会产生余数。 

编程思路:

计算韩信部队剩余人数应该同时满足以下条件: 
1、除以 3 余 2; 
2、除以 5 余 3; 
3、除以 7 余 2; 
4、在 1000 至 1100 之间。 
通过编程,验算 1000 至 1100 之间的所有整数,同时满足以上 4 个条件的即为韩 信部队剩余人数。 
案例程序:

https://cdn.china-scratch.com/Public/Home/images/grey.gif

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com