您现在的位置:学赛首页 > 计算机等级考试 > 模拟试题 > 正文
计算机等级三级数据库历年真题论述题详解[1]
http://www.educity.cn 作者:希赛网 来源:希赛网 2006年12月8日 发表评论 进入社区

(1997年)

  本题要求设计一个学生试卷成绩输入、查询和成绩单输出系统(简称SRS)的数据结构和算法要点。问题描述如下: 
  要输入到SRS系统中的每一份试卷成绩反映一个学生选修一门课程的考试结果,它包括以下数据项:学号、姓名、课程名、成绩。由于实行了灵活的选课制度,所以每个学生选修多少门课程,选修哪些课程都可以不同。要输入的多份试卷成绩并未按任何数据项排列顺序,它们以任意的顺序被输入到系统中来。 
SRS系统要具有以下功能:①试卷成绩插入,将试卷成绩逐个插入到SRS系统的数据结构中。②学生成绩查询,给出学号查找该学生所选修的各门课程的考试成绩。③成绩单输出,按学号递增的顺序依次输出所有学生的学号、姓名,及其所选修的各门课程的课程名和成绩。(为简单起见,假设上述所有工作都在计算机内存中进行。) 
  请设计SRS系统的数据结构和算法要点,使上述三项操作都有较高的执行效率。从以下方面阐述你的设计: 
  (1)SRS系统的数据结构(15分) 
  ①数据结构的Pascal语句描述 
  ②数据结构的示意图 
  ③数据结构的简单文字说明 
  (2)SRS系统的算法要点(10分) 
  (只要简单的文字说明,不必写出Pascal程序) 
  ①试卷成绩插入 
  ②学生成绩查询 
  ③成绩单输出 
  (3)简单陈述你的上述设计的理由(5分) 

答案: 
  本题可有多种不同的设计方案,下面给出其中一个较好的方案。 
  (1)数据结构(15分,其中对三种操作的有效支持各4分,叙述的条理性3分。) 
  ①数据结构的Pascal语句描述 
  TYPEpptr=↑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; 
  VARt:sptr;

[1]  [2]  [3]  [4]  [5]