第10课 “韩信点兵”枚举法的实现 课件 2025-2026学年六年级上册信息技术浙教版

资源下载
  1. 二一教育资源

第10课 “韩信点兵”枚举法的实现 课件 2025-2026学年六年级上册信息技术浙教版

资源简介

(共20张PPT)
第10课 “韩信点兵”枚举法的实现
年 级:六年级
学 科:小学信息科技(浙教版)
秦朝末年,楚汉相争。有一次韩信带领1500名将士与楚王大将李峰交战。苦战一场,楚军不敌,败退回营,汉军也死伤四五百人。于是韩信整顿兵马返回大本营,当行至一山坡,忽有后军来报,说有楚军骑兵追来。只见远方尘土飞扬,杀身震天,汉军本来已十分疲惫,这时队伍喧哗一片,韩信兵马到坡顶,见来敌不足五百骑,便急速点兵迎敌。
他命令士兵3人一排,结果多出2人;接着命令士兵5人一排,结果多出3人;又命令士兵7人一排,结果又多出2人。韩信马上向将士们宣布:“我军有1073名勇士,敌人不足500,我们居高临下,以众击寡,一定能打败敌人。”
情景呈现,提出问题
思考:
韩信是用什么方法来统计士兵人数?
秦朝末年,楚汉相争。有一次韩信带领1500名将士与楚王大将李峰交战。苦战一场,楚军不敌,败退回营,汉军也死伤四五百人。于是韩信整顿兵马返回大本营,当行至一山坡,忽有后军来报,说有楚军骑兵追来。只见远方尘土飞扬,杀身震天,汉军本来已十分疲惫,这时队伍喧哗一片,韩信兵马到坡顶,见来敌不足五百骑,便急速点兵迎敌。
他命令士兵3人一排,结果多出2人;接着命令士兵5人一排,结果多出3人;又命令士兵7人一排,结果又多出2人。韩信马上向将士们宣布:“我军有1073名勇士,敌人不足500,我们居高临下,以众击寡,一定能打败敌人。”
描述问题,抓住关键
思考:在韩信点兵的问题中,关键要素是什么?
思考:“韩信点兵”问题中,关键要素是什么?
描述问题,抓住关键
已知什么? 数量关系 求什么?
剩余士兵数量范围1000~1100
求剩余士兵数量
3人一排,多出2人
5人一排,多出3人
7人一排,多出2人
1500名士兵,死伤四五百人
找出1000~1100中符合条件的数
枚举法:在确定范围内,有序地尝试每一种可能的解,如果满足正确解的条件就采纳,否则继续枚举,做到不遗漏、不重复。
抽象数量关系
明确要素,抽象建模
韩信点兵的过程可以表示为数的除法运算。
3人一排,结果多出2人
5人一排,结果多出3人
7人一排,结果多出2人
指的是剩余的士兵总数,范围在1000-1100。
用变量x来表示
建模
明确要素,抽象建模
指的是剩余的士兵总数,用变量x来表示,变量x的范围为1000~1100。
1000<=x<=1100
“韩信点兵”计算模型
小组合作,根据数量关系的抽象结果,完成学习单任务一,建立计算模型
用枚举算法解决“韩信点兵”问题
x 除以3 除以5 除以7 是否符合条件
余 余 余 1000 333 1 200 0 147 6 ×
1001
1002
……
1073
……
1100
小组合作,完成学习单任务二,仔细观察并填写表格、完成填空,感受枚举思想。
枚举x在__________________范围内的每一个值,判断条件“_______________________
______________________________________”是否同时满足,满足条件的x就是要求的解。
用枚举算法解决“韩信点兵”问题
x 除以3 除以5 除以7 是否符合条件
余 余 余 1000 333 1 200 0 147 6 ×
1001 333 2 200 1 148 0 ×
1002 334 0 200 2 148 1 ×
……
1073 357 2 214 3 153 2 √
……
1100 366 2 220 0 157 1 ×
枚举x在__________________范围内的每一个值,判断条件“_______________________
__________________”是否同时满足,满足条件的x就是要求的解。
1000~1100
x除以3余数为2、x除以5余数
为3、x除以7余数为2
小组合作,完成学习单任务二,仔细观察并填写表格、完成填空,感受枚举思想。
剖析过程,解决问题
x的值 满足条件 是否满足条件
1000
1100
判断
“除以3余数为2,
除以5余数为3,
除以7余数为2”
三个条件同时满足?
判断的条件
×
1001
×
1002
×
……
……
1073

……
……
1099
×
×
x+1
枚举法
剖析过程,解决问题
“枚举法”关键
1000≤x≤1100
确定枚举的范围:
正确解的判断条件:
“x除以3余2、x除以5余3、
x除以7余2”是否同时满足?
循环结构
分支结构
1.在学习任务单中,完成流程图设计,在右侧选择合适的语句,将流程图补充完整。
枚举法的算法设计
2.自主沿着流程线方向走程序;组内讨论:语句选择的原因。
枚举法的算法设计
为变量x赋初始值1000。
判断为“是”,说明在枚举范围内,需要执行循环体,判断x是否满足正确解条件。
判断为“否”,不满足正确解的条件,继续有序地枚举
判断为“是”,满足正确解的条件,采纳,输出x的值,再继续有序地枚举
判断为“否”,说明在枚举范围外,结束循环
编写程序,应用枚举法
运算符号“%”和逻辑运算符号“and”的运用
x÷3余2
判断 x÷3余2 且 x÷5余3 且 x÷7余2
取余:求余数的运算符为“%”
x%3==2
x%5==3
x%7==2
and
and

要判断多个条件同时满足,需要用“and”逻辑运算符
表达式 x%y 的功能是:“用x除以y,取它的余数”
例:条件5除以2的余数为1 可写为 5%2==1
if
1.以小组为单位,在学习任务单中根据流程图,将Python程序补充完整。
编写程序,应用枚举法
x<1101
x%3==2 and x%5==3 and x%7==2
x=x+1
2.在计算机中打开Python,输入程序并运行调试,计算出剩余士兵数量。
(提示:在代码的输入的过程中,要注意标点符号与语句缩进。)
编写程序,应用枚举法
假如“韩信点兵”的问题描述修改为:韩信带领1500名士兵去打仗,战后死伤一二百人。剩下士兵中,他命令士兵3人一排,结果多出1人;5人一排,结果多出4人;7人一排,结果多出3人。问剩下的士兵一共多少人?
请用枚举法设计算法,完成流程图、修改代码并运行调试。
作业练习
1.完善流程图
2.修改代码并运行调试
课例程序
作业程序
课堂小结
枚举法
思想
关键
有序地尝试每一种可能的解
1.确定枚举的范围
2.正确解的判断条件
“韩信点兵”
枚举法关键
确定枚举的范围
正确解的判断条件
1000<=x<=1100
x%3==2 and x%5==3 and x%7==2
谢谢观看!
Thanks!
https://www.21cnjy.com/recruitment/home/fine

展开更多......

收起↑

资源预览