Scratch3.0少儿编程案例:韩信点兵
一、案例简介
秦朝末年,楚汉相争。一次,韩信将 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 个条件的即为韩 信部队剩余人数。
案例程序:
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com