学生画得出流程图,但一问第三次迭代时变数等于几就停手。这一堂要把画图变成可以逐步执行的指令。
本堂目标 学生能够:① 用循序、选择、迭代三种结构把文字题拆成步骤;② 用正确符号画流程图,每条出口都标条件;③ 用追踪表逐步执行,讲出每个变数在每次迭代后的值,并判断会否无穷循环。
01 先备知识(开课前 3 分钟快检)
以下任何一项未过关,本堂就会卡住,先补该项:
| 技能 |
快检题 |
过关标准 |
| 变数 |
x ← x + 1 之后,x 的值变成什么 |
原本的值加一,右边先计再写回左边 |
| 条件 |
IF 与 WHILE 的分别是什么 |
IF 只判断一次;WHILE 重复直到条件为 false |
| 符号 |
菱形与平行四边形分别代表什么 |
菱形=判断;平行四边形=输入或输出 |
02 课堂流程(60 分钟)
| 时间 |
环节 |
导师做什么 |
学生做什么 |
| 0–5 分钟 |
开场快问 |
写三行虚拟码,问“边一行会重复执行” |
举手答并指出条件 |
| 5–15 分钟 |
先备快检 |
派三条快检题(赋值、IF 与 WHILE、符号) |
书面作答,即场对答案 |
| 15–37 分钟 |
三幕讲解 |
照脚本讲三种结构、符号与线、追踪表 |
每幕后用一句话复述 |
| 37–49 分钟 |
题型示范 |
示范四条题,边做边画追踪表每一行 |
跟抄并自行填最后两行 |
| 49–55 分钟 |
独立练习 |
巡行,只问“这一步执行完,哪个变数变了” |
做三题并自行对答案 |
| 55–60 分钟 |
离场检查 |
收回答案,即场数错几题 |
书面作答,不准问同学 |
03 讲解脚本(照着说就可以)
第一幕:第一幕:所有程式只有三种结构
“任何程式,拆到最后只有三种:循序、选择、迭代。先写虚拟码,再画图。虚拟码只用五个字:INPUT、SET、IF、WHILE、OUTPUT。写完之后问自己一句:这几行有没有一个出口?如果条件永远不会变成 false,就是无穷循环,这是最常见的失分位。”
“这段虚拟码的条件几时会变成 false?如果永远不会呢?”
第二幕:第二幕:符号与线,出口要标条件
“椭圆代表开始同结束,平行四边形代表输入输出,长方形代表处理,菱形代表判断。菱形一定要有两条出口,一条标 Yes 一条标 No,不标就等于没答。迭代的回头箭嘴一定要指回判断菱形,不可以指回中间任何一个长方形,否则追踪表会对不上。”
“菱形有几条出口?你标了条件没有?”
第三幕:第三幕:追踪表,一行只做一步
“追踪表开四栏:迭代次数、每个变数、输出、条件结果。每一行只做一步,不可以跳。最后一行系条件变成 false 𠮶行,要写出来,因为考评就系看你有无走到出口。效率比较:一千笔资料,线性搜寻最多一千次比较;二分搜寻因为每次减半,只需十次,因为二的十次方是一千零二十四,刚刚够覆盖一千。”
“一千笔用二分搜寻要几次?为什么是十而不是八?”
04 必教题型与步骤
| 题型 |
例子 |
步骤 |
答案 |
| 流程图填空 |
图中留空两三个框,要求补上。 |
① 读上下文找缺的是处理还是判断;② 判断框要有两条出口;③ 补完后口头执行一次。 |
例:找最大值 → 缺的判断是“x > max?”。 |
| 追踪表填值 |
给虚拟码与初始值,填每次迭代。 |
① 抄初始值;② 一行一步;③ 条件 false 那行也要写;④ 对照输出。 |
例:x 由 1 加到 5,追踪表五行,第六行条件 false。 |
| 虚拟码改流程图 |
把文字步骤转图。 |
① 标开始;② 输入;③ 处理;④ 判断连两出口;⑤ 输出与结束。 |
例:输入三个数找最大 → 三个 IF 或一个迭代。 |
| 效率比较题 |
比较两个算法的比较次数。 |
① 写资料量 n;② 线性为 n;③ 二分为 log2 n 向上取整;④ 用实数例子说明差距。 |
例:n = 1000 → 线性 1000 次,二分 10 次。 |
合理性检查(一定要教):合理性检查:一千笔线性搜寻上限 1000 次;二分搜寻需 10 次,因为 2 的 10 次方 = 1024,刚好大于 1000;一百笔则需 7 次。学生若答“二分十次所以快十倍”就要纠正:差别是 1000 对 10,即一百倍。另外追踪表行数要等于迭代次数加一(最后一行条件 false),少一行即漏了出口。
05 独立练习三题
| 题目 |
答案 |
想观察什么 |
| 写出“输入 n,累加 1 到 n”的虚拟码与追踪表(n = 4)。 |
SET sum ← 0;SET i ← 1;WHILE i ≤ 4:sum ← sum + i;i ← i + 1。追踪表 5 行,sum = 10。 |
看 i 有没有在循环内加一;没有就是无穷循环。 |
| 把同一题画成流程图,标明每个菱形的两个出口。 |
开始 → 输入 n → sum ← 0、i ← 1 → 判断 i ≤ n → Yes 累加并 i+1 回头 → No 输出 sum → 结束。 |
看回头箭嘴是否指回判断菱形,以及 Yes/No 是否都标。 |
| 一千笔资料用线性与二分搜寻,各要多少次比较? |
线性最多 1,000 次;二分 10 次(2^10 = 1024)。 |
看有没有写出 2 的次方依据,只写答案不给理由即不完整。 |
06 学生常见错误与纠正句
| 错误 |
学生通常这样写 |
导师这样说 |
| 菱形只画一条出口 |
判断框只有一条线往下。 |
“判断一定有两个结果。Yes 去边,No 去边?补上,否则执行不到出口。” |
| 循环内没有更新变数 |
WHILE i ≤ 4 里面没有 i ← i + 1。 |
“i 永远系 1,条件永远 true。这叫无穷循环,考试一定扣分。” |
| 追踪表跳步 |
一行写了两次迭代的结果。 |
“一行只做一步。你想快,但考评看的系边一步出错,跳步就追不到。” |
| 混淆比较次数与资料量 |
答“二分搜寻要一千次”。 |
“一千系资料量,不系比较次数。二分每次减半,所以系十次。” |
07 家课建议(直接指到练习卷题号)
08 离场检查(最后 5 分钟)
| 题目 |
答案 |
判定 |
| 三种控制结构是什么? |
循序、选择、迭代 |
答不出=重讲第一幕 |
| 菱形要有几条出口? |
两条,各标条件(Yes/No) |
答不出=重讲第二幕 |
| 一千笔资料二分搜寻要几次比较? |
10 次,因 2^10 = 1024 |
答不出=重讲第三幕 |
09 导师常问
这一章适合哪个年级?
中五 ICT 必修部分为主,中四下学期若已教变数亦可先用。
需要电脑吗?
不需要。纸笔画图与追踪表已足够,重点是逐步执行。
有无配套练习?
家课栏连到中学 ICT 章节索引,可与程式循环一章并排教。
立即免费找导师导师登记 →
本页为 TutorZone 导师备课指引,内容由 TutorZone 团队编写;题目与流程为原创,并非任何学校或出版社的教材。