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

中五资讯及通讯科技练习卷:程式编写、物件导向与数据库应用(100 分)

中五资讯及通讯科技练习卷:程式编写、物件导向与数据库应用(100 分)

  • 2026-11-12

练习卷 · 资讯及通讯科技 程式编写与数据库

中五资讯及通讯科技练习卷:全卷 6 题 24 部分、100 分、75 分钟,涵盖二进制与二补码换算、位图档案大小、线性与二分搜寻、泡沫排序比较次数、函数与递归追踪、物件导向的类别与封装、SQL 连接与查询、正规化,以及等价类与算法效率比较,每题附评分要点及完整计算步骤。

卷面资料 年级:S5 | 科目:资讯及通讯科技 | 时限:75 分钟 | 总分:100 分 | 题数:24

第 1 题 数据表示:二进制、补码与位图(16 分)

各分题独立作答,须列出换算过程或计算式。

# 题目 答案与评分要点
1 把二进制数 10110110 转换为十进制数。 答案:10110110 = 128 + 32 + 16 + 4 + 2 = 182。(4 分:位值展开 2 分、结果 2 分)
2 把十进制数 200 分别转换为 8 位二进制数及十六进制数。 答案:200 = 11001000(二进制);200 = C8(十六进制)。(4 分:二进制 2 分、十六进制 2 分)
3 以 8 位二补码表示负数,写出 −90 的 8 位二补码。 答案:256 − 90 = 166,即 10100110。(4 分:先求 256 − 90 给 2 分、二进制结果 2 分)
4 一幅 1024 × 768 像素、每个像素 24 位元色彩的未压缩位图,求其档案大小(以 byte 及 MiB 表示,1 MiB = 1 048 576 byte)。 答案:786432 × 3 = 2359296 byte,即 2.25 MiB。(4 分:计算式 2 分、两个单位各 1 分)

第 2 题 算法与程式码追踪(18 分)

只写出最终数值,不用抄写程式码。

# 题目 答案与评分要点
5 程式以循环由 1 累加至 10(包含 10),求累加器的最终值及循环执行次数。 答案:总和 = 55,循环执行 10 次。(4 分:总和 3 分、次数 1 分)
6 在列表 [3, 8, 5, 12, 7] 中以线性搜寻找 12,共需比较多少次? 答案:需比较 4 次(3、8、5、12)。(4 分:答案 3 分、指出比较次序 1 分)
7 对已排序的 16 项资料及 100 项资料分别使用二分搜寻,最坏情况下最多比较多少次? 答案:16 项最多 4 次;100 项最多 7 次。(5 分:16 项 2 分、100 项 2 分、说明每次减半 1 分)
8 泡沫排序处理 6 项及 10 项资料,最坏情况下各需比较多少次?写出比较次数与项数的公式。 答案:6 项需 15 次,10 项需 45 次;公式为 n(n − 1) ÷ 2。(5 分:两个数值各 2 分、公式 1 分)

第 3 题 函数、递归与模组化(18 分)

须写出运算结果或解释,答案须指明变数的范围。

# 题目 答案与评分要点
9 函数 fact(n) 回传 n 的阶乘。求 fact(5) 的回传值及函数被呼叫的次数(只计 fact 本身一次)。 答案:fact(5) = 120;fact 只被呼叫 1 次(以循环实作)。(4 分:数值 3 分、次数 1 分)
10 递归函数 fib(1) = 1、fib(2) = 1、fib(n) = fib(n − 1) + fib(n − 2)。求 fib(7)。 答案:数列为 1、1、2、3、5、8、13,故 fib(7) = 13。(5 分:列出数列 3 分、结果 2 分)
11 主程式设 x = 12,函数内另有区域变数 x = 30。主程式在呼叫函数后印出 x,求印出的值并解释原因。 答案:印出 12;函数内的 x 属区域变数,只在函数内生效,不改变主程式的 x。(4 分:数值 2 分、解释 2 分)
12 把程式分成多个模组有什么好处?写出两项,并各举一个例子。 答案:①易于除错与维护,例如只修改负责计算成绩的模组;②可重复使用,例如同一输入验证模组供多个程式引用。(5 分:每项 2 分、例子共 1 分)

第 4 题 物件导向设计(16 分)

以类别、属性、方法及物件等词语作答。

# 题目 答案与评分要点
13 类别 Student 有 3 个属性及 2 个方法。若建立 4 个 Student 物件,共有多少个属性值? 答案:每个物件 3 个属性值,4 个物件共 12 个。(4 分:计算式 2 分、结果 2 分)
14 父类 Person 有 3 个方法,子类 Teacher 新增 2 个方法并覆写 1 个父类方法。Teacher 物件可呼叫多少个不同的方法? 答案:5 个(父类 3 个中 1 个被覆写,仍算 1 个方法,加上新增 2 个)。(4 分:结果 3 分、解释 1 分)
15 解释“封装”的意思,并说明为何要把属性设为私有。 答案:封装是把资料与操作资料的方法包在同一类别内,只透过公开方法存取;属性设为私有可防止外部程式直接改动资料,确保资料经检查后才更新。(4 分:定义 2 分、理由 2 分)
16 一个程式有 3 个类别,每个类别有 2 个公开方法,另有 1 个主程式呼叫这些方法。若每个公开方法都被呼叫 2 次,求方法呼叫总次数。 答案:3 × 2 × 2 = 12 次。(4 分:计算式 2 分、结果 2 分)

第 5 题 数据库与 SQL(18 分)

资料表 Student(SID, Name) 有 4 列,资料表 Score(SID, Mark) 有 7 列,每列分数均对应 Student 内的一位学生。

# 题目 答案与评分要点
17 指出 Student 资料表的主键,并说明 Score 资料表中的 SID 是什么键。 答案:Student 的主键是 SID;Score 的 SID 是外键,参照 Student 的主键。(4 分:主键 2 分、外键及参照说明 2 分)
18 两表以 SID 连接(join)后,结果共有多少列?解释原因。 答案:7 列;因每列分数只对应一位学生,一对多连接后列数等于 Score 的列数。(5 分:列数 3 分、解释 2 分)
19 执行 SELECT COUNT(*) FROM Score WHERE Mark 大于或等于 60;分数依次为 82、57、65、48、90、73、60。求结果。 答案:结果为 5(合资格分数:82、65、90、73、60)。(5 分:结果 3 分、列出合资格分数 2 分)
20 一个未正规化的成绩表同时记录学生姓名、科目名称及分数,并出现重复组。把它正规化至第三正规形,最少要分成多少个资料表?写出各表名称。 答案:最少 3 个表,即 Student、Subject 及 Score(Score 存放 SID、SubjectID 及分数)。(4 分:数量 2 分、表名及分工 2 分)

第 6 题 系统开发、测试与效率(14 分)

答案须写出计算过程或比较理由。

# 题目 答案与评分要点
21 一个程式有 3 个有效等价类及 2 个无效等价类,每个等价类测试上界与下界两个边界值。求最少测试个案数目。 答案:(3 + 2) × 2 = 10 个测试个案。(4 分:计算式 2 分、结果 2 分)
22 比较黑箱测试与白箱测试,各写出一项用途。 答案:黑箱测试只看输入与输出,用于核对功能是否符合需求;白箱测试检查程式内部路径与分支,用于确保每条路径都被执行。(4 分:每项 2 分)
23 写出一项能减低程式日后难以维护的做法,并说明它如何帮助测试。 答案:在关键步骤加上注释及使用有意义的变数名称,测试人员可据此判断每段程式的作用,较易找出错误所在。(3 分:做法 2 分、与测试的关联 1 分)
24 算法甲的时间复杂度为 n 的平方,算法乙为 n log2 n。当 n = 1000 时,求两者的运算次数,并求甲是乙的多少倍。 答案:甲 = 1000000 次,乙 = 10000 次,甲为乙的 100 倍。(3 分:每项 1 分)

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

TutorZone 练习卷|题目与文章为原创,并非任何学校或出版社的教材。

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