2022年全国计算机等级考试四级模拟试题及
答案8
二、论述题(两个论述题可任选其一,并只选其一,多项选择无效,总分值30分。)
论述题1
此题要求设计一个学生试卷成绩输入、查询和成绩单输出系统(简称SRS)的数据构造和算法要点。问题描述如下:
要输入到SRS 系统中的每一份试卷成绩反映一个学生选修一门课程的考试结果,它包括以下数据项:学号、姓名、课程名、成绩。由于实行了敏捷的选课制度,所以每个学生选修多少门课程,选修哪些课程都可以不同。要输入的多份试卷成绩并未按任何数据项排列挨次,它们以任意的挨次被输入到系统中来。
SRS系统要具有以下功能:①试卷成绩插入,将试卷成绩逐个插入到SRS系统的数据构造中。②学生成绩查询,给出学号查该学生所选修的各门课程的考试成绩。③成绩单输出,按学号递增的挨次依次输出全部学生的学号、姓名,及其所选修的各门课程的课程名和成绩。(为简洁起见,假设上述全部工作都在计算机内存中进展。)
请设计SRS系统的数据构造和算法要点,使上述三项操作都有较高的执行效率。从以下方面阐述你的设计:
(1) SRS系统的数据构造(15分)
①数据构造的Pascal语句描述
②数据构造的示意图
③数据构造的简洁文字说明
(2) SRS系统的算法要点(10分)
(只要简洁的文字说明,不必写出Pascal程序)
①试卷成绩插入2022年四级成绩查询入口
②学生成绩查询
③成绩单输出
(3) 简洁陈述你的上述设计的理由(5分)
论述题2
在一个盗窃案件中,已知以下事实:
①甲或乙是窃贼。
②若甲是窃贼,做案时间不会发生在夜间12点钟以前。
③若乙的证词正确,在夜间12点钟时被盗物品所在房间灯光未灭。
④若乙的证词不正确,则做案时间发生在夜间12点钟以前。
⑤夜间12点钟被盗房间灯光灭了。
依据以上事实解答或论证以下各题:
(1) 将①~⑤中所消失的简洁命题符号化,然后用命题符号写出①~
⑤各复合命题的符号化形式。(10分)
(2) 以(1)中给出的5个复合命题为前提,推断甲、乙二人谁是窃贼(以符号形式给出)。(5分)
(3) 用命题规律推理理论写出(2)中结论的推断过程(要求写出每一步所用的推理规章)。(15分)
二、论述题(两个论述题可任选其一,并只选其一,多项选择无效,总分值30分)
论述题1评分参考:
此题可有多种不同的设计方案,下面给出其中一个较好的方案。
(1) 数据构造(15分,其中对三种操作的有效支持各4分,表达的条理性3分。)
①数据构造的Pascal语句描述
TYPE pptr=↑pnode;
pnode=RECORD
cname:string;
score:0..100;
next:pptr
END;
sptr=↑pnode;
snode=RECORD
sno:integer;
sname:string;
llink,rlink:sptr;
plink:pptr
END;
VAR t:sptr;
②数据构造的示意图
③数据构造的简洁文字说明
每个学生结点包含学生的学号和姓名,全部学生结点组织成一棵二叉排序树,用link-rlink法存储。
每份试卷成绩作为一个链表结点,包含课程名和成绩,每个学生的全部试卷成绩结点链接成一个单链表,并且二叉排序树的学生结点中有一个指针指向该单链表的第一个结点。
(2)算法要点(10分,三种操作各3分,表达的条理性1分)
①试卷成绩插入,依据试卷的学号在二叉排序树中查该学生结点。若到,则在该学生结点所指的成绩链表中插入一个成绩结点;若未到,则先在二叉排序树中插入一个新的学生结点,然后再往这个学生结点所指的(空的)成绩链表中插入一个成绩结点。
②学生成绩查询,依据所给学号在二叉排序树中查该学生结点,再在该结点所指的成绩链表中沿着指针读出全部成绩。
③成绩单输出。对二叉排序树进展对称序周游,在访问到每个学生结点时输出该结点指向的成绩链表中的全部成绩。
(3)设计理由(5分)
①学生结点组织成二叉排序树,使三种操作都有较高的效率:插入n 个学生结点O(nlog2n),查一个学生结点O(log2n),输出全部学生结点O(n)。
②每个学生的全部成绩结点组织成链表,动态申请空间,适合于每个学生选修的课程数不等的实际状况,节约空间。
论述题2评分参考:
此题考察考生是否具有较强的规律思维和规律推理力量,并且考察考生是否把握了规律推理的主要步骤和推理规章。
(1)的要点:考察考生命题符号化力量。(1)中含5个简洁命题: p:甲是窃贼,
q:乙是窃贼,
r:做案时间发生在夜间12点钟以前,
s:乙的证词正确,
t:夜间12点钟被盗房间灯光未灭。
(1)中含5个复合命题:
p∨q, p→┐r, s→t, ┐s→r, ┐t,每个复合命题2分,(1)的分值为10。