第二单元 第11课 “韩信点兵”筛选法的实现 课件+教案+学习单+视频 浙教版(2026)信息科技六年级上册

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

第二单元 第11课 “韩信点兵”筛选法的实现 课件+教案+学习单+视频 浙教版(2026)信息科技六年级上册

资源简介

(共31张PPT)
UNIT 2 · LESSON 11 · 算法的效率
浙教版 小学信息科技 · 六年级上册 · 第二单元 算法的效率
“韩信点兵”筛选法的实现
筛选法:一轮一轮筛,越筛越少
主讲教师:×××
学校:×××小学
上一课一个一个试,这一次换成一轮一轮筛。
本课导航
CONTENTS
本课导航
筛一轮,候选少一半。
后面几轮更省力。
01
承接:上一课那把尺子
02
换个办法:一轮一轮地筛
03
筛选法五步:先装进 a
04
三轮筛选:101 → 34 → 6 → 1
05
写成程序,再做一次局部验证
06
练一练,理一理
小浙提示
先看这一课要走的六站,心里有个数。
02
03
本课学习目标
第二单元 算法的效率 · 第 11 课
01
能说出筛选法的做法:一轮一轮地筛,每轮删掉不满足一个条件的数。
02
能按顺序说出筛选法的五个步骤,并说清 a 里装的是什么。
03
能算出每一轮筛完剩几个数:101 → 34 → 6 → 1,答案 1073。
04
能说出对调步骤(2)(4)后结果一样,判断次数却不一样。
一句话:目标没变,还是一样找 1073——换的是找它的办法。
小浙提示
读一遍目标,重点看“每轮剩几个数”这一条。
03
04
承接:上一课那把尺子
第一部分 · 从上一课接到本课
上一课用枚举法把 1073 试了出来。这一课换一个办法,看看能不能少比几次。
上一课
枚举法:一个一个试
101 个数一个一个试过去,每个都要拿三个条件比:最多 303 次判断;1073 是第 74 个被试到的数。
这一课
筛选法:一轮一轮筛
不一个一个试:把范围里的数装进 a,每轮删掉不满足一个条件的数,剩下的进入下一轮。
目标没变,还是找 1073——换个更省的办法。
小浙提示
一句话接上:答案还是 1073,方法换一个。
04
05
读题:题目没变,换的是办法
知识建构 · 问题描述
题目一个字没变:还是那三句话、那个范围;变的是找答案的办法。
范围
1000~1100
一共 101 个数,上一课已经算准了。
条件
三个都不变
x % 3 == 2、x % 5 == 3、x % 7 == 2
答案
还是 1073
上一课用枚举法试出来的那个数。
这一课要回答的是新问题:不一个一个试,怎么把答案“筛”出来?
题目不用重读一遍,直接换个办法接着做。
小浙提示
题目不用重读,直接说清这一课的新问题。
05
06
核心:筛选法怎么筛
核心页 · 本课落点一
筛选法:一轮一轮地筛,每一轮删掉不满足一个条件的数,剩下的进入下一轮。
每一轮
只用一个条件
这一轮只问一句话:满足它吗?别的条件先不管。
满足的
留下来继续
留下的数进入下一轮,再去比下一个条件。
不满足的
当场删掉
删掉的数不用再管,后面几轮就省下来了。
像用筛子筛豆子:筛一次,要的留下、不要的漏掉——我们的“筛子”就是一个条件。
筛三轮,最后剩下的那一个,就是答案。
小浙提示
重点讲第 2 张卡:一轮只用一个条件。
06
07
核心:筛选法的五个步骤
核心页 · 算法设计
算法设计:先想清楚 a 里装什么,再想清楚每一轮删掉谁。
01
① 装进 a
用 a 存储 1000~1100 范围里的数,一共 101 个。
02
② 删一轮
删掉不满足“x 除以 3 余 2”的数,剩 34 个。
03
③ 再删一轮
删掉不满足“x 除以 5 余 3”的数,剩 6 个。
04
④ 再删一轮
删掉不满足“x 除以 7 余 2”的数,剩 1 个。
05
⑤ 输出
找出 a 中剩下的数——它就是答案。
小浙提示
让学生把⑤圈起来:剩下的就是答案。
07
08
核心:第一轮 · 筛“除以 3 余 2”
核心页 · 筛选法第一轮
第一轮只问一句话:x 除以 3 余 2 吗?不满足的,全部删掉。
第一轮:101 个 → 34 个
还剩 34 个
01
留下的
1001、1004、1007 … 1097,一共 34 个。
02
删掉的
1000、1002、1003 … 一共 67 个,不再参与后面两轮。
一轮就砍掉三分之二——后面两轮要比较的数只剩 34 个。
留下的继续,删掉的不用再管。
小浙提示
第一轮砍得最狠,让学生自己算 101 34。
08
09
接着往下筛
第二部分 · 从一轮走到三轮
第一轮筛完,101 个只剩 34 个。第二轮、第三轮就在这 34 个里接着筛。
已经做完
第一轮筛完
101 个 → 34 个,删掉的 67 个不用再管。
接下来
同一把筛子
换成“除以 5 余 3”“除以 7 余 2”,接着筛。
要记住
越筛越少
每筛一轮,要比较的数就少一批——这就是省。
三轮筛完,a 里剩下的数就是答案。
同一把筛子,换一个条件再筛一轮。
小浙提示
先问“接下来在哪几个数里筛”,再往下走。
09
10
核心:第二轮 · 筛“除以 5 余 3”
核心页 · 筛选法第二轮
第二轮只在上一次剩下的 34 个数里筛:x 除以 5 余 3 吗?
第二轮:34 个 → 6 个
还剩 6 个
01
筛前
34 个数,全都是第一轮留下来的。
02
筛后
1013、1028、1043、1058、1073、1088,一共 6 个。
第二轮只在 34 个数里比——同样三个条件,比枚举法省得多。
越往后,要比较的数越少。
小浙提示
第 2 行那 6 个数,让学生数一数是不是 6 个。
10
11
核心:第三轮 · 筛“除以 7 余 2”
核心页 · 筛选法第三轮
第三轮只在 6 个数里筛:x 除以 7 余 2 吗?剩下的就是答案。
第三轮:6 个 → 1 个
还剩 1 个
01
前 4 个数
1013 余 5、1028 余 6、1043 余 0、1058 余 1,都不对。
02
第 5 个数
1073 除以 7 余 2——三句话都满足,它就是答案。
101 → 34 → 6 → 1:越筛越少,最后剩下的那一个就是答案。
同一个答案,这回是“筛”出来的。
小浙提示
第 5 个才是 1073,前面 4 个余数都不对。
11
12
核心:写成程序
核心页 · 筛选法的程序实现
把五步翻译成 Python:a 当筛子,每筛一轮就把 a 换成筛完的结果。
a = list(range(1000, 1101))
a = [x for x in a if x % 3 == 2]
a = [x for x in a if x % 5 == 3]
a = [x for x in a if x % 7 == 2]
print("剩下的士兵数为:", a)
逐行对应
一行就是一步
① 把 1000~1100 装进 a
② 筛“除以 3 余 2”
③ 筛“除以 5 余 3”
④ 筛“除以 7 余 2”
⑤ 输出 a 里剩下的数
运行结果:剩下的士兵数为:[1073] ——和枚举法试出来的一样。
a = [x for x in a if 条件] 就是“符合条件的留下,不符合的删掉”。
小浙提示
读一遍 ⑤ 行:剩下的就是答案。
12
13
核心:局部验证
核心页 · 算法验证
算法验证:先只验证一小步——筛出满足一个条件的数,看对不对。
局部验证:显示满足“除以 3 余 2”的数
x = 1000
while x < 1101:
if x % 3 == 2:
print(x, end=" ")
x = x + 1
看这一行
print(x, end=" ")
print 默认输出完就换行;把 end 写成空格,数就不换行、排成一行。
运行结果:1001 1004 … 1097,一共 34 个数,正好是第一轮剩下的。
教材练习:换成“除以 7 余 2”,输出 1003 … 1094,一共 14 个数。
先验证一小步,整段程序才敢信。
小浙提示
重点看 end=" " 这一行:换行改成空格。
13
14
核心:数一数比了几次
核心页 · 本课落点二
还是上一课那把尺子:数一数两种办法各要比几次。
做法
要比多少次判断
答案怎么出来的
枚举法(第 10 课)
101 个数 × 3 个条件 = 303 次
第 74 个被试到
筛选法(本课)
101 + 34 + 6 = 141 次
第三轮只剩 1 个
第一轮最费劲(要问 101 个数),后面两轮越来越省:一共省下 162 次判断。
越筛越少,才叫省——筛选法省在“后面几轮几乎不用试”。
会算次数,才知道省在哪里。
小浙提示
先问“比几次”,再说 303 和 141 的差。
14
15
活动一:把五步写清楚
学生活动 · 任务单活动一
照着五个步骤,把筛选法的做法填完整。
要做的事
填一填
① 装进 a
a 里装 ______ ~ ______ 的数,一共 ______ 个
② 第一轮
删掉不满足“x 除以 ___ 余 ___”的数,剩 ___ 个
③ 第二轮
删掉不满足“x 除以 ___ 余 ___”的数,剩 ___ 个
④ 第三轮
删掉不满足“x 除以 ___ 余 ___”的数,剩 ___ 个
⑤ 输出
a 里剩下的是 ______
填完对一对:101 → 34 → 6 → 1。
小浙提示
先让学生独立填写,再同桌对一对。
15
16
活动二:跟着筛三轮
学生活动 · 任务单活动二
跟着筛选法往下走:填出每一轮筛完剩下的个数和剩下的数。
轮次
这一轮要满足的条件
筛完剩几个
剩下哪些数
第一轮(已给)
x % 3 == 2
34 个
1001 1004 … 1097
第二轮
x % 5 == 3
______ 个
______
第三轮
x % 7 == 2
______ 个
______
填完想一想:第三轮为什么只要比几个数就够了?
先自己填,再同桌对一对。
小浙提示
第 2 行让学生自己算,别急着报答案。
16
17
活动三:换一道题再筛一遍
学生活动 · 任务单活动三
还是 1500 名士兵,改成“死伤一二百人”,三个余数也换一换。
要做的
先自己填
对一对(填完再看)
范围
1300 ~ 1400,一共 ______ 个数
1500 200 = 1300;1500 100 = 1400
筛三轮
101 → ______ → ______ → ______
101 → 34 → 7 → 1
答案
a 里剩下的是 ______
1354
范围还是 101 个数,三轮筛完剩下的就是答案——办法换了,步骤没变。
换一道题,五个步骤还是那五个。
小浙提示
提醒:范围还是 101 个数,换的是三个余数。
17
18
想一想:把(2)和(4)对调
议一议思维 · 教材想一想
想一想:把步骤(2)和步骤(4)对调,会有什么不同?
筛的顺序
中间剩下几个
一共判断几次
答案
原来的顺序:3 → 5 → 7
101 → 34 → 6 → 1
101 + 34 + 6 = 141 次
1073
对调之后:7 → 5 → 3
101 → 14 → 3 → 1
101 + 14 + 3 = 118 次
1073
结果一样,中间剩下的个数不一样——先筛得狠的那条更省。
先筛“除以 7 余 2”只剩 14 个:一共 118 次判断,比原来少 23 次。
先筛哪一条,得看哪一条砍得最狠。
小浙提示
让学生自己算 101→14→3→1,再说结论。
18
19
辨一辨
练一练
说法
对 / 错
我的理由
筛选法一轮一轮地筛,每轮删掉不满足一个条件的数。
筛选法也要先确定范围,这里还是 1000~1100。
第一轮筛完剩 34 个,第二轮就在这 34 个里筛。
三轮的顺序不能换,换了顺序就找不到答案。
最后一轮只要比 6 个数,比第一轮省力得多。
筛选法靠的是逐轮淘汰,不是把答案和每个数都硬比一遍。
说清理由,比只写一个“对”或“错”更重要。
小浙提示
重点看第 3、4 句,理由要写出来。
19
20
议一议:筛选法还能怎么更省
议一议
同一道题,筛选法能不能再省一点?
调个顺序
先筛最狠的
先筛“除以 7 余 2”,只剩 14 个。
缩小范围
先粗定范围
范围越准,第一轮比得越少。
换个想法
别筛了,直接算
找出规律,用同余法算出来。
同一道题,省的办法不止一种——下一课学同余法,直接把答案算出来。
先把手上的筛选法用熟,再去想更省的办法。
小浙提示
让学生先举例,再说说哪种顺序最省。
20
21
练习与小结:再算一遍账
第三部分 · 练一练,理一理
01
练习
14 题分三层:基础 1—5、提升 6—10、综合 11—14。
02
讲评
重点讲第 6、7、8、9、14 题,说清为什么。
03
小结
理一理:装进 a → 三轮筛 → 输出剩下的 → 数次数。
做完就讲,讲完就理——这一课才算收口。
小浙提示
讲清练习分三层,错了不用急,先看是哪一层。
21
22
随堂练习(一)
基础题 1—5
题号
题目和选项
我的答案
1
用筛选法解决问题,第一步要做的是什么?A 把范围里的数装进 a B 先把程序写出来 C 先猜一个答案
2
筛选法求“韩信点兵”,a 里装的是哪个范围的数?A 0~1500 B 1000~1100 C 1000~1073
3
第一轮筛“x 除以 3 余 2”,用哪个式子判断?A x % 3 == 2 B x / 3 == 2 C x % 2 == 3
4
第一轮筛完,a 里还剩几个数?A 101 个 B 34 个 C 6 个
5
三轮筛完,a 里剩下的数是哪一个?A 1073 B 1097 C 1001
小浙提示
第 1 题让学生说说 a 里装什么。
22
23
随堂练习(二)
提升题 6—10
题号
题目和选项
我的答案
6
第二轮要在多少个数里筛?A 101 个 B 34 个 C 6 个
7
第三轮筛完只剩 1 个数,说明什么?A 算法写错了 B 它就是答案 C 还要再筛一轮
8
筛选法三轮一共比了几次判断?A 303 次 B 141 次 C 101 次
9
把步骤(2)(4)对调之后,一共比了几次?A 118 次 B 141 次 C 303 次
10
第二轮的 6 个数是 1013、1028、1043、1058、1073、1088,1073 排第几?A 第 4 个 B 第 5 个 C 第 6 个
小浙提示
第 8、9、10 题最容易混,让学生说清怎么算的。
23
24
随堂练习(三)
综合题 11—14
题号
题目和选项
我的答案
11
判断:筛选法也要先确定范围,范围定小了同样会漏掉答案。A 对 B 错
12
判断:每一轮可以同时用三个条件筛,这样比一轮一个条件更省。A 对 B 错
13
判断:对调步骤(2)和(4)后,结果一样,中间剩下的个数不一样。A 对 B 错
14
判断:先筛哪一条条件都一样,一共比几次判断也不变。A 对 B 错
小浙提示
判断题也要写理由,重点第 12、14 题。
24
25
参考答案
对一对
题号
1
2
3
4
5
6
7
答案
A
B
A
B
A
B
B
题号
8
9
10
11
12
13
14
答案
B
A
B
A
B
A
B
讲评要点
第 6、7 题:第二轮在 34 个里筛,第三轮只剩 6 个,最后剩的 1 个就是 1073。
第 8、9 题:原顺序 101 + 34 + 6 = 141 次;对调后 101 + 14 + 3 = 118 次,少 23 次。
第 10 题:1073 在 6 个数里排第 5;第 14 题:顺序会影响判断次数。
小浙提示
重点讲评第 6、7、8、9、14 题。
25
26
课堂小结
本课回顾
1
装进 a
把 1000~1100 的 101 个数装进 a,a 就是候选池。
2
第一轮
筛“x % 3 == 2”:101 个 → 34 个。
3
第二轮
筛“x % 5 == 3”:34 个 → 6 个。
4
第三轮
筛“x % 7 == 2”:6 个 → 1 个,剩下 1073。
5
本课落点
越筛越少才叫省:一共 141 次判断,比枚举法的 303 次省。
先筛哪一条,也值得想一想。
小浙提示
一句话:越筛越少,才叫省。
26
27
关键概念
记一记
1
筛选法
一轮一轮地筛:每轮删掉不满足一个条件的数,剩下的进入下一轮。
2
候选池 a
存放还没被删掉的数;每筛一轮,a 里的数就少一批。
3
局部验证
先只验证算法的一小步,比如筛出满足一个条件的数,看结果对不对。
4
print 的 end
print(x, end=" ") 里的 end 指定输出结束符:默认换行,写成空格就排成一行。
一轮筛一个条件;越筛越少,剩下的就是答案。
小浙提示
把这四个词抄进笔记本。
27
28
学习评价
评一评
评价内容
自评
互评
师评
能说出筛选法是怎么做的:一轮一轮筛掉不满足条件的数
☆☆☆
☆☆☆
☆☆☆
能按顺序说出筛选法的五个步骤,说清 a 里装的是什么
☆☆☆
☆☆☆
☆☆☆
能算出每轮剩下的个数:101 → 34 → 6 → 1,答案是 1073
☆☆☆
☆☆☆
☆☆☆
能说出对调步骤(2)(4)结果一样、判断次数不一样
☆☆☆
☆☆☆
☆☆☆
☆☆☆ 能独立完成并说清理由;☆☆ 需要一点提示;☆ 需要同伴帮助。
没到三星的那一项,就是课后的复习重点。
小浙提示
没到三星的,就是复习重点。
28
29
课后作业
分层完成
01
基础(必做)
写出筛选法的五个步骤,算出每轮剩下几个数。
02
提高(选做)
把顺序改成“先 7、再 5、最后 3”,数一数比几次。
03
拓展(选做)
自己编一道“几排多几个”的题,再用筛选法筛一遍。
04
阅读
读《一轮一轮筛,越筛越少》。
程序和数据都用示例,不写真实同学的姓名和隐私信息。
小浙提示
程序和数字都用示例,不写真实姓名。
29
30
拓展阅读
读一读
一轮一轮筛,越筛越少
筛子大家都见过:淘米用的笊篱、工地筛沙子的筛网,都是把不要的漏掉,把要的留下。
筛选法就是这个思路:先圈一个范围,再一轮一轮地问。每轮只问一句,不满足的当场删掉,剩下的进下一轮。
韩信点兵这道题,101 个数筛三轮:34 个、6 个、1 个,最后剩下的就是 1073。
讲究的地方在顺序:先筛“除以 7 余 2”,第一轮只剩 14 个,判断次数从 141 降到 118。
读后想一想:范围写小了会怎样?如果先筛“除以 5 余 3”,1003 到 1098 一共几个数?
小浙提示
读后数一数:1003 到 1098,一共几个?
30
本课结束 谢谢观看
课后想一想:三条条件里,先筛哪一条最省?
浙教版 小学信息科技 · 六年级上册《“韩信点兵”筛选法的实现》教学设计
第二单元 算法的效率 · 第 11 课 · 1 课时(40 分钟) · 配套课件 31 页
课题 “韩信点兵”筛选法的实现 教材版本 浙教版六年级上册
单元 第二单元 算法的效率 课时 1 课时(40 分钟)
执教教师 学校
课型 新授课 授课时间
一、教材分析
《“韩信点兵”筛选法的实现》是浙教版小学信息科技六年级上册第二单元“算法的效率”的第四课,紧接第 10 课《“韩信点兵”枚举法的实现》。它与第 12 课《同余法》一起,构成教材“同一个问题、不同的解法、不同的代价”这条线:题目一个字都不变,换的是找答案的办法。第 10 课用枚举法把 1073 一个一个试了出来;本课改用筛选法,一轮一轮地删,看能不能少比几次。
教材给出的核心内容有四项。一是筛选法的做法:把范围内的数装进 a,每一轮只用一个条件,把不满足这个条件的数删掉,剩下的进入下一轮。二是筛选法的五个步骤:① 用 a 存储 1000~1100 的数;② 删掉不满足“除以 3 余 2”的,剩 34 个;③ 删掉不满足“除以 5 余 3”的,剩 6 个;④ 删掉不满足“除以 7 余 2”的,只剩 1 个;⑤ 找出 a 中剩下的数。三是程序实现:a = [x for x in a if 条件] 就是“符合条件的留下、不符合的删掉”,每一轮把 a 换成筛完的结果。四是算法验证:先做局部验证,只筛出满足一个条件的数,看结果对不对;print(x, end=" ") 里的 end 指定输出结束符,把数排成一行。教材的“想一想”问的是把步骤②和④对调会有什么不同;练习要求显示 1000~1100 里满足“除以 7 余 2”的数,一共 14 个。
二、学情分析
六年级学生已经学过循环、分支和列表,第 10 课又亲手用枚举法算过这道题、数过账,所以本课的难点不在写程序,而在三处转弯。第一处转弯是“换办法不换题”:学生容易以为要重新读题、重新建模,实际上范围、条件、答案都没变,变的只是比法。第二处转弯是“每一轮只用一个条件”:枚举法是把三个条件一起比,筛选法是一轮问一句,学生容易把两种办法混起来。第三处转弯是“数次数”:三轮的判断次数是 101 + 34 + 6 = 141,不是 101 × 3,学生容易拿枚举法的算法去套。
本课的设计要点是“一道题、一条链、两个落点”。全课只做一件事:把上一课那道韩信点兵,改用筛选法筛一遍。第一步,把上一课的账摆出来(303 次判断),问一句能不能少比几次;第二步,读题只花两分钟,说明题目和条件都不变;第三步,讲透筛选法怎么筛(落点一):一轮一个条件、满足的留下、不满足的删掉;第四步,按五个步骤走完三轮,画出同一条刻度上的 101 → 34 → 6 → 1;第五步,把五步翻译成五行程序,再做一次局部验证;第六步,用上一课那把尺子数账(落点二):141 次对 303 次,省下 162 次;第七步,用教材的“想一想”把顺序提出来,再辨析六句话;最后收口成一句:越筛越少,才叫省。每一段后面紧跟一个动笔的活动:活动一填五个步骤,活动二跟着筛三轮,活动三换成“死伤一二百人”再筛一遍。全课数据统一:范围 1000~1100(101 个数)、三轮剩下 34、6、1 个、答案 1073、筛选法 141 次、枚举法 303 次、对调顺序后 118 次。所有数据和程序都是示例数据,不出现真实的未成年人姓名。
三、教学目标
信息意识
· 知道同一个问题可以有不止一种解法,会比较两种办法谁比得少。
· 知道计算机算得快,但办法选得不对照样要多比很多次,愿意关心“这个办法比了几次”。
计算思维
· 能说出筛选法是怎么筛的:一轮一轮地筛,每轮删掉不满足一个条件的数。
· 能按顺序说出筛选法的五个步骤,并说清 a 里装的是什么。
· 能算出每轮筛完剩几个数(101 → 34 → 6 → 1),并算出筛选法一共 141 次判断,比枚举法的 303 次少 162 次。
数字化学习与创新
· 能读懂五行筛选法程序,说出哪一行对应五个步骤里的哪一步。
· 会做一次局部验证:只筛出满足一个条件的数,看结果对不对;知道 print(x, end=" ") 里的 end 是什么意思。
信息社会责任
· 本课的程序与数据都是示例数据(范围 1000~1100、答案 1073、判断次数 141 次),不出现真实同学的姓名与隐私信息。
· 说结论时愿意摆数据、讲道理,不凭感觉说“筛得越多越好”。
四、教学重点与难点
教学重点:能说出筛选法的做法(一轮一轮地筛,每轮删掉不满足一个条件的数,剩下的进入下一轮);能按顺序说出筛选法的五个步骤,说清 a 里装的是什么;能算出每轮筛完剩几个数(101 → 34 → 6 → 1),并说清答案 1073 是三轮筛完剩下的。
教学难点:分清筛选法与枚举法的比法不同——枚举法是一个数比三个条件,筛选法是一轮只问一个条件;理解判断次数怎么数——筛选法是 101 + 34 + 6 = 141 次,不是 101 × 3;理解对调步骤②④后结果一样、判断次数不一样(141 次对 118 次)。
五、教学准备
教师:教学课件(31 页)、核心动画(约 5 分钟,带配音)、筛选条与候选池 a 磁贴(自制)、三轮筛选记录表(自制)、学生活动任务单、学习评价表。
学生:活动任务单、笔、直尺。
六、教学方法与学法指导
教法:任务驱动法、问题链教学法、对比教学法、讨论辨析法。以“同样找 1073,能不能少比几次”这一个问题贯穿全课,用一道题把筛选法的五步走完。
学法:对比观察法、填表记录法、跟着走一遍演示法、数数验证法。学生先看清两种办法的比法不同,再跟着筛三轮把每轮剩下的个数填出来,最后数出三轮一共比了几次。
七、教学过程
环节 教师活动 学生活动 设计意图 时间
一、承接与导入 不重讲第 10 课的过程,只把上一课的账摆出来:101 个数一个一个试,每个都要拿三个条件比,最多 303 次判断,1073 是第 74 个被试到的数。问一句:能不能不比这么多次?出示课题和本课导航的六站,说明全课只做一道题。 说出上一课枚举法比了几次;明确这一课换个办法来找 1073。 一句话接到本课,全课不换情境;把 303 次这个“旧账”当尺子,后面量新办法才有对照。 3 分钟
二、读题与立方法 读题页两分钟走完:让学生自己说出三件事——范围还是 1000~1100(101 个数)、条件还是那三个(除以 3 余 2、除以 5 余 3、除以 7 余 2)、答案还是 1073。再把筛选法正面立起来(落点一):一轮一轮地筛,每一轮只用一个条件,满足的留下来进下一轮,不满足的当场删掉;用筛豆子打比方——我们的“筛子”就是一个条件。 复述“题目没变、条件没变”;把三张卡连起来说一遍:一轮一个条件 → 满足的继续 → 不满足的删掉。 先把“换办法不换题”说清楚,学生才不会重新读题浪费时间;“一轮只问一句”这条标准,是后面辨析第 12 句的依据。 5 分钟
三、五步与三轮筛选 按五行读五个步骤,边读边问“a 里现在有几个数”;再用同一条刻度把三轮画出来:第一轮问 101 个数、剩 34 个;第二轮只在这 34 个里问、剩 6 个;第三轮只在 6 个里问,前 4 个都不对,第 5 个 1073 除以 7 余 2,剩 1 个。落到一句:101 → 34 → 6 → 1,越筛越少,最后剩下的那一个就是答案。随即组织活动一、活动二。 跟着数每轮剩下的个数;在活动一里填完整的五个步骤;在活动二里填出第二、三轮剩下的个数和剩下的数。 本课的主干都在这一环节——五步要能照着写出来,三轮要能一条线看下来。把 101、34、6、1 画在同一条刻度上,“越筛越少”才是看得见的。 8 分钟
四、写成程序与局部验证 把五步翻成五行程序,逐行对应读一遍:a = list(range(1000, 1101)) 装进范围;三行 a = [x for x in a if 条件] 各筛一个条件,每筛一轮 a 就换成筛完剩下的结果;最后一行输出 a。说清运行结果是 [1073]。再做局部验证:只写一小段,筛出满足“除以 3 余 2”的数,看是不是 34 个;顺带讲 print(x, end=" ") 里的 end 是什么意思。教材练习接着做:换成“除以 7 余 2”,输出 14 个数。 读程序并说出每一行对应五个步骤里的哪一步;看局部验证的运行结果,说出它为什么正好是第一轮剩下的那些数。 先验证一小步,整段程序才敢信——这是教材“算法验证”的要求。局部验证的结果和第一轮剩下的一样,也顺便把三轮之间的关系再钉一遍。 5 分钟
五、落点二:数一数比了几次 拿上一课那把尺子算账:枚举法是 101 个数乘 3 个条件,一共 303 次判断;筛选法是 101 加 34 加 6,一共 141 次,省下 162 次。点出筛选法的省法:第一轮最费劲(要问 101 个数),后面两轮几乎不用试。落在“越筛越少,才叫省”。 跟着把两个次数算出来,说出省了多少次;说出筛选法省在“后面几轮要比较的数少了”。 这是本课的价值落点:会算次数,才知道省在哪里。把 141 和 303 摆在一起,上一课的尺子才真正用在了新算法上。 4 分钟
六、学生活动一、二、三 活动一对着五个步骤填完整;活动二跟着筛三轮,填出第二、三轮剩下的个数和剩下的数;活动三换数据不换方法:还是 1500 名士兵,改成“死伤一二百人”,范围 1300~1400,三个余数换成 1、4、3,让学生自己筛一遍(101 → 34 → 7 → 1,答案 1354)。 动手填三张表;同桌互查;在活动二下回答问题:第三轮为什么只要比几个数就够了。 三个活动正好对应本课的三个能力:会说步骤、会跟着筛、会换个题再筛。活动三换数据不换方法,检验的是方法是不是真的学会了。 6 分钟
七、想一想、辨一辨、议一议 把教材的“想一想”提出来:把步骤②和④对调,会有什么不同?摆数据:原来 3 → 5 → 7,中间剩 34 个、6 个,一共 141 次;对调成 7 → 5 → 3,中间只剩 14 个、3 个,一共 118 次——少了 23 次。结论:结果一样,中间剩下的个数不一样,先筛得狠的那条更省。再念辨一辨的六句话,重点问第 4 句;最后议一议“筛选法还能怎么更省”(调顺序、缩范围、换个想法),点一句下一课学同余法。 比较两种顺序的中间个数和判断次数,自己说一句结论;判断题写清理由;听一听三种更省的办法,说说自己最想先试哪一种。 本课的思维含量在这一环节:顺序会影响判断次数。议一议只开个头,把“别筛了、直接算”留给下一课,形成单元内的递进。 4 分钟
八、练习、小结与评价 交代 14 题分三层(基础 1—5、提升 6—10、综合 11—14)与讲评重点(第 6、7、8、9、14 题);对答案后顺着板书理一遍:装进 a → 三轮筛 → 输出剩下的 → 数次数。核对学习评价表,布置分层作业,预告下一课同余法。 独立完成基础题,提升题与综合题同桌互查;对答案后订正;照着板书复述五步;完成自评,记下没到三星的那一项。 用练习检验三件事是否落地:会不会说五步、会不会数每轮剩下的个数、会不会算筛选法的判断次数。整课收口成一句话——越筛越少,才叫省。 5 分钟
八、板书设计
“韩信点兵”筛选法的实现
筛选法:一轮一轮地筛,每轮删掉不满足一个条件的数
五步:① 装进 a → ② 删一轮 → ③ 再删一轮 → ④ 再删一轮 → ⑤ 输出剩下的
a 装 1000~1100 的 101 个数:101 → 34 → 6 → 1,剩下 1073
条件:x % 3 == 2、x % 5 == 3、x % 7 == 2(一轮只问一句)
账:筛选法 101 + 34 + 6 = 141 次;枚举法 101 × 3 = 303 次,省了 162 次
程序(示例,5 行):
a = list(range(1000, 1101))
a = [x for x in a if x % 3 == 2]
a = [x for x in a if x % 5 == 3]
a = [x for x in a if x % 7 == 2]
print("剩下的士兵数为:", a)
运行结果:剩下的士兵数为:[1073]
本课落点:越筛越少,才叫省。
一句话:一轮只问一句,不满足的当场删掉。
九、作业设计(分层)
基础题(必做):在任务单“认一认”里把空补完整;再把筛选法的五个步骤写清楚,算出每轮剩下几个数,并说出答案 1073 是第几轮筛完剩下的。
提高题(选做):把顺序改成“先 7、再 5、最后 3”,数一数中间各剩几个,一共比几次,和原来比少了几次。
拓展题(选做):自己编一道“几排多几个”的题,先定范围,再写条件,最后用筛选法一轮一轮筛出答案。
阅读任务:读《一轮一轮筛,越筛越少》,想一想如果范围写小了会怎样,先筛“除以 5 余 3”又会怎样。
作业要求:程序和数据都用示例,标明“示例数据”;不出现真实同学的姓名和隐私信息。
任务单练习参考答案:
题号 1 2 3 4 5 6 7
答案 A B A B A B B
题号 8 9 10 11 12 13 14
答案 B A B A B A B
讲评要点:第 6、7 题说清第二轮在 34 个里筛、第三轮只剩 6 个,最后剩的 1 个就是 1073;第 8、9 题把两个次数算出来——原顺序 101 + 34 + 6 = 141 次,对调后 101 + 14 + 3 = 118 次,少 23 次;第 10 题提醒 1073 在 6 个数里排第 5,不要把它和答案本身混起来;第 14 题是本课的价值落点——同一道题,筛的顺序会影响判断次数。活动二里学生最容易填错的是第二轮的个数(要从 34 个里筛,不是从 101 个里筛),讲评时把“每一轮只在上一轮剩下的数里筛”再说一遍。
十、学习评价说明
本课采用自评、互评、师评相结合的方式,评价维度包括:能否说出筛选法是怎么做的(一轮一轮筛掉不满足条件的数);能否按顺序说出五个步骤、说清 a 里装的是什么;能否算出每轮剩下的个数(101 → 34 → 6 → 1),并说清答案 1073 是筛出来的;能否说出对调步骤②④结果一样、判断次数不一样。
星级标准:☆☆☆ 能独立完成并说清理由;☆☆ 需要一点提示;☆ 需要同伴帮助。
十一、教学反思
(课后对照以下问题填写)
· 学生能不能自己说出“题目没变、条件没变、变的是比法”,而不是把第 10 课的建模重来一遍?
· 讲筛选法时,有没有学生仍然把三个条件一起比,把筛选法讲成了枚举法?
· 数次数时,有多少学生把 101 + 34 + 6 算成了 101 × 3?
· 活动二里,有多少学生把第二轮写成“在 101 个里筛”?
· 局部验证那一页,学生能不能说出“验证一小步”和“整段程序”的关系?
· 辨析第 4 句时,有没有学生仍然认为“三轮的顺序不能换”,把“结果一样”当成“过程一样”?
· 落点句“越筛越少,才叫省”,学生能不能用自己的话说一遍,并举出省在哪一轮?浙教版小学信息科技六年级上册 · 第 11 课
《“韩信点兵”筛选法的实现》学习任务单
班级:__________ 姓名:__________ 日期:__________
本单的范围(1000~1100)、每轮剩下的个数、答案 1073 和判断次数都是示例数据;请你也只写示例,不出现真实同学的姓名。
认一认 认识筛选法的五个步骤
先填一填:这一课的几个关键点,能自己写出来才算听懂。
要认清的 我填
筛选法:一轮一轮地筛,每一轮删掉不满足___个条件的数。
满足条件的数留下来,进入___轮;不满足的当场___掉。
a 里装的是 1000~1100 的数,一共___个。
三轮筛完分别剩下:第一轮___个,第二轮___个,第三轮___个。
三轮筛完,a 里剩下的是____,它就是答案。
“x 除以 3 余 2”写成式子:__________。
筛选法三轮一共比___次判断;枚举法要___次。
把步骤(2)和(4)对调后,一共比___次,少了___次。
本课落点:越筛越___,才叫___。
我的疑问:________________________。
活动一 把五个步骤写清楚
照着五个步骤,把筛选法的做法填完整。填完对一对:101 → 34 → 6 → 1。
要做的事 填一填
① 装进 a a 里装 ______ ~ ______ 的数,一共 ______ 个
② 第一轮 删掉不满足“x 除以 ___ 余 ___”的数,剩 ___ 个
③ 第二轮 删掉不满足“x 除以 ___ 余 ___”的数,剩 ___ 个
④ 第三轮 删掉不满足“x 除以 ___ 余 ___”的数,剩 ___ 个
⑤ 输出 a 里剩下的是 ______
第一步为什么不能少:____________________。
活动二 跟着筛三轮
跟着筛选法往下走:填出每一轮筛完剩下的个数和剩下的数。记住每一轮只在上一轮剩下的数里筛。
轮次 这一轮要满足的条件 筛完剩几个 剩下哪些数
第一轮(已给) x % 3 == 2 34 个 1001 1004 … 1097
第二轮 x % 5 == 3 ______ 个 ______
第三轮 x % 7 == 2 ______ 个 ______
填完想一想:第三轮为什么只要比几个数就够了?____________________________。
活动三 换一道题再筛一遍
还是 1500 名士兵,改成“死伤一二百人”,三个余数也换一换。五个步骤还是那五个,先自己填一遍。
要做的 先自己填 对一对(填完再看)
范围 1300 ~ 1400,一共 ______ 个数 1500 200 = 1300;1500 100 = 1400
筛三轮 101 → ______ → ______ → ______ 101 → 34 → 7 → 1
答案 a 里剩下的是 ______ 1354
比一比:范围还是 101 个数,步骤也没变,可筛出的答案换了。我的发现:________________________。
辨一辨 下面说法对不对
先判断对错,再写清理由。理由比结论更重要。
说法 对 / 错 我的理由
筛选法一轮一轮地筛,每轮删掉不满足一个条件的数。
筛选法也要先确定范围,这里还是 1000~1100。
第一轮筛完剩 34 个,第二轮就在这 34 个里筛。
三轮的顺序不能换,换了顺序就找不到答案。
最后一轮只要比 6 个数,比第一轮省力得多。
筛选法靠的是逐轮淘汰,不是把答案和每个数都硬比一遍。
练一练 随堂练习
基础题 1—5 全班必做;提升题 6—10、综合题 11—14 同桌互查。拿不准的题,回到“一轮只在上一轮剩下的数里筛”上想。
题号 题目 我的答案
1 用筛选法解决问题,第一步要做的是什么?A 把范围里的数装进 a B 先把程序写出来 C 先猜一个答案
2 筛选法求“韩信点兵”,a 里装的是哪个范围的数?A 0~1500 B 1000~1100 C 1000~1073
3 第一轮筛“x 除以 3 余 2”,用哪个式子判断?A x % 3 == 2 B x / 3 == 2 C x % 2 == 3
4 第一轮筛完,a 里还剩几个数?A 101 个 B 34 个 C 6 个
5 三轮筛完,a 里剩下的数是哪一个?A 1073 B 1097 C 1001
6 第二轮要在多少个数里筛?A 101 个 B 34 个 C 6 个
7 第三轮筛完只剩 1 个数,说明什么?A 算法写错了 B 它就是答案 C 还要再筛一轮
8 筛选法三轮一共比了几次判断?A 303 次 B 141 次 C 101 次
9 把步骤(2)(4)对调之后,一共比了几次?A 118 次 B 141 次 C 303 次
10 第二轮的 6 个数是 1013、1028、1043、1058、1073、1088,1073 排第几?A 第 4 个 B 第 5 个 C 第 6 个
11 判断:筛选法也要先确定范围,范围定小了同样会漏掉答案。A 对 B 错
12 判断:每一轮可以同时用三个条件筛,这样比一轮一个条件更省。A 对 B 错
13 判断:对调步骤(2)和(4)后,结果一样,中间剩下的个数不一样。A 对 B 错
14 判断:先筛哪一条条件都一样,一共比几次判断也不变。A 对 B 错
评一评 学习评价
在对应的星级上打钩,三星表示做得很好。没到三星的那一项,就是课后的复习重点。
评价内容 自评 互评 师评
能说出筛选法是怎么做的:一轮一轮筛掉不满足条件的数 ☆☆☆ ☆☆☆ ☆☆☆
能按顺序说出筛选法的五个步骤,说清 a 里装的是什么 ☆☆☆ ☆☆☆ ☆☆☆
能算出每轮剩下的个数:101 → 34 → 6 → 1,答案是 1073 ☆☆☆ ☆☆☆ ☆☆☆
能说出对调步骤(2)(4)结果一样、判断次数不一样 ☆☆☆ ☆☆☆ ☆☆☆
课后作业
1. 基础(必做):把上面“认一认”的空补完整;再把筛选法的五个步骤写清楚,算出每轮剩下几个数,并说出答案 1073 是第几轮筛完剩下的。
2. 提高(选做):把顺序改成“先 7、再 5、最后 3”,数一数中间各剩几个,一共比几次,和原来比少了几次。
3. 拓展(选做):自己编一道“几排多几个”的题,先定范围,再写条件,最后用筛选法一轮一轮筛出答案。
4. 阅读:读一读《一轮一轮筛,越筛越少》,想一想范围写小了会怎样,先筛“除以 5 余 3”又会怎样。
5. 提醒:程序和数据都要标明“示例数据”,不出现真实同学的姓名和隐私信息。
我的记录区(可以把每轮剩下哪些数、或者自己想到的更省的办法写在这里):
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________

展开更多......

收起↑

资源列表