/cn-tutor-prep-s5-ict-programming-arrays-functions/
/cn-tutor-prep-s5-ict-programming-arrays-functions/
简体版
2
一般查询: info@TutorZone.com.hk
办公时间: 星期一至六 - 上午 9 时至下午 6 时
WhatsApp 星期一至日 - 24 小时
人手接听: +852 6828 1809
实时客服: +852 9061 3106

DSE ICT|程式设计 备课指引(导师用)|阵列索引、函数重用、线性与二分搜索、除错三步

DSE ICT|程式设计 备课指引(导师用)|阵列索引、函数重用、线性与二分搜索、除错三步

  • 2026-11-02

学生写得出 for 循环,但一问“阵列第 3 个元素是边个”就由 1 开始数。这一堂用 5 个分数做同一份数据,把索引、函数与搜索次数绑在同一条可数的线上。

本堂目标 学生能够:① 用由 0 开始的索引取出阵列元素,并讲出越界会发生什么事;② 把重复程式码改写成一个有参数的函数,并讲出传值与传参考的分别;③ 在 5 个元素的阵列上讲出线性搜索最坏要 5 次比较、二分搜索最坏只要 3 次,并用三步法找出程式的错。

01 先备知识(开课前 3 分钟快检)

以下任何一项未过关,本堂就会卡住,先补该项:

技能 快检题 过关标准
变数 一个变数可以同时存几个值 一个,除非用阵列
循环 for i 由 0 跑到 4 会执行几次 5 次
比较运算 大于与大于等于的分别 是否包含相等

02 课堂流程(60 分钟)

时间 环节 导师做什么 学生做什么
0–5 分钟 开场快问 黑板写 42 55 38 61 49,问第 4 个数是边个 举手答,讲出自己点数
5–15 分钟 先备快检 派三条快检题(变数、循环次数、比较运算) 书面作答,即场对答案
15–37 分钟 三幕讲解 照脚本讲阵列与索引、函数与参数、搜索与除错 每幕后用一句话讲出“呢个数字点嚟”
37–49 分钟 题型示范 示范四条题,每条先写“数据→步骤→答案”三段 跟抄并自行重写一次
49–55 分钟 独立练习 巡行,只问“呢题问索引定问次数” 做三题并自行对答案
55–60 分钟 离场检查 收回答案,即场数错几题 书面作答,不准问同学

03 讲解脚本(照着说就可以)

第一幕:第一幕:阵列、索引与越界

“阵列是一排有编号的格,编号由 0 开始。黑板五个分数 42、55、38、61、49,索引就是 0 到 4:索引 0 是 42,索引 3 是 61。学生最常错的是由 1 开始数,于是问‘第 4 个’就答 49,其实索引 3 才对应第四个。讲清楚三个数字:元素总数 5、最大索引 4、越界就是用了索引 5 或以上。第二层是阵列的用途:同一份数据要做总和、平均、最大最小,用阵列加一个循环就搞定,总和 245、平均 49.0、最大 61 在索引 3、最小 38。第三层是边界条件:写循环时 i 由 0 去到 n-1,写成 i<=n 就会读到不存在的格,程式可能直接崩或者读到垃圾值——这一点要学生自己讲一次。”

“如果程式用索引 5 去读五个元素的阵列,会发生什么事?为什么?”

第二幕:第二幕:函数、参数与重用

“函数系一段有名的程式,可以反复叫。未用函数之前,同一个平均计算可能要抄 12 行;写成函数之后,主程式只剩 5 行:准备数据、叫函数、印结果。要学生明白两件事:第一,参数系送入去的资料,回传值系送出嚟的答案;第二,函数入面改的区域变数不会影响出面,除非你传的系整个阵列(传参考)。用数字讲好处:由 12 行减到 5 行,即省 7 行;要改公式只需要改一个地方,不会漏改。第三层系命名与职责:一个函数只做一件事,叫 average(marks) 就不应该同时印表,否则测试不到。”

“点解改公式的时候,用函数会比复制贴上安全?”

第三幕:第三幕:搜索、次数与除错三步

“搜索要讲次数,不系只讲‘找到’。5 个元素,线性搜索由头扫到尾,最坏要 5 次比较;二分搜索每次砍一半,最坏 3 次就够,因为 2 的 3 次方是 8,已经大过 5。但二分搜索有前设:数据要先排序,未排序就乱用一定错。第三层系除错三步:一、重现错误并写低输入;二、在关键位置印中间值,看边一步开始不对;三、改一处、再跑一次,不好一次改五样。用最大值的例子:如果程式答 49,就在循环印 i 同 marks[i],会见到比较条件写成小于,于是永远留住最后一个值。”

“二分搜索快这么多,系不系所有情况都应该用?”

04 必教题型与步骤

题型 例子 步骤 答案
索引追踪题 marks = [42,55,38,61,49],问 marks[3] 的值。 ① 由 0 开始数;② 数到第 4 个;③ 写出值;④ 讲明不是由 1 开始。 例:61(索引 3)。
总和平均题 同上阵列,求总和与平均。 ① 循环累加;② 除以元素数;③ 平均保留一位小数;④ 对照合理范围。 例:总和 245、平均 49.0。
搜索次数题 5 个已排序元素,线性与二分搜索最坏各几次比较? ① 线性=元素数;② 二分=ceil(log2 n);③ 讲明二分要先排序;④ 写单位“次比较”。 例:线性 5 次、二分 3 次。
除错题 程式求最大值却回传 49,找出错误。 ① 重现并写低输入;② 印中间值;③ 指出比较符号错;④ 改一处再跑。 例:条件用了小于,应改为大于。
合理性检查(一定要教):合理性检查:索引 5 才是第五个元素,答 marks[5] 就是越界。总和 245 要对得上逐个加,平均 49.0 一定落在最小 38 与最大 61 之间,若算出的平均大过 61 就是除错数。二分搜索 3 次要对得上 2 的次方关系,答 1 次就系把 n 当成 1。函数改写后行数由 12 减到 5 是省 7 行,不可以写成“省一半”而无计算。除错只改一处,一次改多处就无法判断边个修改有效。

05 独立练习三题

题目 答案 想观察什么
写出读取阵列最后一个元素的索引式。 marks[4],即长度减一。 看有没有写成 marks[5]。
把三段重复的平均计算改写成函数,讲出参数与回传值。 参数是阵列,回传值是平均数;主程式只叫一次。 看有没有把印表动作放入函数。
5 个元素中找 61,线性搜索要几次比较? 4 次,因为 61 在索引 3,由头数起第 4 个。 看有没有答成 1 次。

06 学生常见错误与纠正句

错误 学生通常这样写 导师这样说
索引由 1 开始 答 marks[4] 是第五个元素。 “索引系由 0 起,所以第五个系索引 4,不系 5。用 5 就系越界。”
搜索次数当答案 答“二分搜索找到就得,不关次数事”。 “考题要的系比较次数。5 个元素,二分最坏 3 次,因为每次砍一半。”
二分搜索未排序 在未排序阵列上用二分搜索。 “二分搜索前设系已排序。未排序就要先 sort,不系就会漏找。”
函数副作用 函数同时计算又印表又改全域变数。 “一个函数做一件事,测试先有意义。印表留返主程式做。”

07 家课建议(直接指到练习卷题号)

08 离场检查(最后 5 分钟)

题目 答案 判定
五个元素的阵列,最大索引系几多? 4 答不出=重讲第一幕
函数的两个核心部分是什么? 参数与回传值 答不出=重讲第二幕
二分搜索的前设是什么? 数据已排序 答不出=重讲第三幕

09 导师常问

这一章适合哪个年级?

中五 ICT 程式设计单元;中四学过循环之后亦可作延伸。

需要指定用哪种语言吗?

概念通用;示例用伪码,学生用 Python 或 Java 都可以对照。

一定要教二分搜索吗?

DSE 会比较线性与二分搜索的效率,两者的次数都要讲得出口。

立即免费找导师导师登记 →

本页为 TutorZone 导师备课指引,内容由 TutorZone 团队编写;题目与流程为原创,并非任何学校或出版社的教材。

招募导师及兴趣班教练|学术、乐器、体育、艺术、STEM,免费登记,招生与配对交给平台。 了解详情 →