文档库 最新最全的文档下载
当前位置:文档库 › 国家计算机软考高级程序员历年真题1994

国家计算机软考高级程序员历年真题1994

国家计算机软考高级程序员历年真题1994
国家计算机软考高级程序员历年真题1994

1994年度高级程序员级上午试题

试题1

从供选择的答案中,选出应填入[__n__]内的正确答案,把编号写在答卷的对应栏内。在数据库理论中,关系R和S在第i[__A__]和j[__B__]上的θ-联结(Join)写成,其中θ

是[__C__]。

若R是r元关系,则有:

=[__D__ ]

[__D__]中的运算符X为[__E__]乘积符。

供选择的答案

A,B:①行②列③个记录④张表

C:①算术逗算符,如+,- ②逻辑运算符,如V,Λ

③算术比较运算符,如=、< ④集合运算符,如∪,∩

D:①σ(i+j)θr(R×S)②σ(i≠j)θj(R×S)③σiθ(r+j)(R×S)④σiθj(R×S)

E:①算术②笛卡尔③矢量④逻辑

试题2

从供选择的答案中,选出应填入[__n__]内的正确答案,把编号写在答卷的对应栏内。

在下列程序中:

Program test(input,output);

var i,j:integer;

procedure calc(p1,p2:integer);

begin p2:=p2*p2 p1:=p1-p2;p2:=p2-p1;end{caic}

begin{main}i:=2;j:=3;

calc(i,j); write(j);

end{main}

当参数传递采用引用方式(Call by reference)时,所得结果j=[__A__];

当参数传递采用换名方式(Call by name)时,所得结果j=[__B__];

当参数传递采用赋值方式(Call by value)时,所得结果j=[__C__]。

递归是程序设计中很重要的一种控制结构,通常实现递归时,采用的数据结构是[__D__]。

对那些既可以用递归方式,也可以用循环方式求解的问题,就执行效率而言[__E__]。

供选择的答案

A~C ① 0② 3③ 5④ 6

⑤ 10⑥ 16⑦ 20⑧ 28

D:① 数组② 栈③ 队列④ 循环链表

E:① 难以断定② 两者相同⑧ 循环优于递归④ 递归优于循环

试题3

从供选择的答案中,选出应填入[__n__ ]内的正确答案,把编号写在答卷的对应栏内。

数据库是存储在一起的相关数据的集合,能为各种用户所共享,且[__A__]。在关系数据库中,若关系模式中的每个关系的属性值均是不可分解的,则该关系模式属于[__B__]。

关系代数运算是以[__C__]为基础的运算,其五种基本运算是并、差、[__D__]、投影和选择;规范理论研究中,分解[__E__]主要是消除[__E__]中多余的数据相关性。

供选择的答案

A: ①消除了数据冗余②降低了数据的冗余度

③具有不相容性④由用户控制物理数据的存取方式

B: ①1NF②2NF③3NF④BCNF

C: ①代数运算②关系运算③谓词演算④集合操作

D: ①交②连接③笛卡尔积④自然连接

E: ①内模式②视图③外模式④关系模式

试题4

从下面有关进程的概念和性质叙述中,选出五条正确的叙述,并把编号按从小到大的次序写在答卷的A~E栏内。

①唤醒:挂起→就绪。

②封锁:就绪→挂起。

③调度,就绪→运行。

④超时:运行→挂起。

⑤超时:运行→就绪。

⑥用户进程可激发调度进程。

⑦用户进程可激发唤醒进程。

⑧用户进程可激发超时进程。

⑨进程接近CPU可接纳的限度时,可降低页面出错的频率。

⑩进程具有引用局部性时,可降低页面出错的频率。

试题5

从供选择的答案中,选出应填入[__n__]内的正确答案,把编号写在答卷的对应栏内。

国家标准《计算机软件产品开发文件编制指南GB 8567—88》中规定,在一项软件开发过程中,一般地说应该产生十四种文件,其中管理人员主要使用的有[__A__]、[__B__]、

[__C__]、开发进度月报、项目开发总结报告。开发人员主要使用的有[__A__]、[__B__]、[__D__]、数据要求说明书、概要设计说明书、详细设计说明书、数据库设计说明书、测试计划和[__E__]。维护人员主要使用的有设计说明书、[__E__]和[__C__]。

供选择的答案

A~E: ①软件需求说明书②项目开发计划③可行性研究报告

④模块开发卷宗⑤测试分析报告⑥操作手册

⑦用户手册

试题6

从供选择的答案中,选出应填入[__n__]内的正确答案,把编号写在答卷的对应栏内。

在结构测试用例设计中,有语句覆盖、条件覆盖、判定覆盖( 即分支覆盖 )、路径覆盖等,其中[__A__]是最强的覆盖准则。为了对如下图所示的程序段进行覆盖测试,必须适当地选取测试数据组。若 x,y 是两个变量,可供选择的测试数据组共有 I、Ⅱ、Ⅲ、Ⅳ 四组(如表中给出),

则实现判定覆盖至少应采用的测试数据组是[__B__];实现条件覆盖至少应采用的测试数据组是[__C__];实现路径覆盖至少应采用的测试数据组是[__D__]或[__E__]。

供选择的答案

A:① 语句覆盖② 条件覆盖③ 判定覆盖④ 路径覆盖

B~E:①Ⅰ和Ⅰ组②Ⅰ和Ⅲ组③ Ⅲ和Ⅳ组④ I和Ⅳ组

⑤Ⅰ、Ⅱ和Ⅲ组⑥ Ⅱ、Ⅲ和Ⅳ组⑦Ⅰ、Ⅲ和Ⅳ组⑧Ⅰ、Ⅱ和Ⅳ组

试题7

从供选择的答案中,选出应填入[__n__]内的正确答案,把编号写在答卷的对应栏内。

RAID 是一种经济的磁盘冗余阵列,它采用[__A__]和[__B__]以提高数据传输率。RAID 与主机连接较普遍使用的工业标准接口为[__C__]。

假脱机( Spooling )打印与脱机打印有相似之处,但实际上其输出结果首先送往[__D__]保存,然后再在适当的时候将其调出打印出来。整个过程是由[__E__]控制的。

供选择的答案

A,B: ① 智能控制器② 磁盘镜象③ 磁盘双工技术④ 多磁盘驱动器C:① RS—232 ② FDDI③ SCSI④ ST506

D,E: ① 主存储器② 设备控制器③ 操作系统④ 外部存储器

⑤ 打印机缓冲存储器⑥ 编译程序

试题8

从供选择的答案中,选出应填入[__n__]内的正确答案,把编号写在答卷的对应栏内。

某机器中码字长 15 位(包括信息位和海明校验位),采用了可纠正一位错的海明校验。设码字位从左到右用 b1,b2,……,b15 编号,其海明校验方程式为:

b1⊕b3⊕b5⊕b7⊕b9⊕b11⊕b13⊕b15 = 0

b2⊕b3⊕b6⊕b7⊕b10⊕b11⊕b14⊕b15 = 0

b4⊕b5⊕b6⊕b7⊕b12⊕b13⊕b14⊕b15 = 0

b8⊕b9⊕b10⊕b11⊕b12⊕b13⊕b14⊕b15 = 0

若在供选择的答案中给出的码字最多只有一位错,请找出无错的码字[__A__];第2位b2错的码字[__B__];b4错的码字[__C__];b6错的码字[__D__]和b8错的码字[__E__]。

供选择的答案

A—E: ① 000100101101010② 010100101100010③ 010100111101010

④ 010101101101010⑤ 001111010000111⑥ 001111010001111

⑦ 101111010000111⑧ 001011010000111

试题9

在下列十二组中,每组中有三个词。从该十二组中,选出组内三个词都是与提高计算机硬件处理速度有关的 5 组,将编号依次写在答案的A—E栏内。

①数据库双机系统存储器交叉存取

②高速缓冲存储器虚拟计算机并行处理

③存储器交叉存取并行处理先行控制

④流水线高速缓冲存储器存储器交叉存取

⑤双机系统流水线结构化程序设计

⑥高速缓冲存储器存储器交叉存取先行控制

⑦数据库批处理流水线

⑧双机系统并行处理虚拟计算机

⑨先行控制并行处理流水线

⑩流水线并行处理高速缓冲存储器

(11)双机系统流水线结构化程序设计

(12)虚拟计算机批处理存储器交叉存取

试题10

从供选择的答案中,选出应填入[__n__]内的正确答案,把编号写在答卷的对应栏内。

以太网遵循 IEEE802.3 标准,用粗缆组网时每段不能大于[__A__]米。超过上述长度时,要分段,段间用[__B__]相连。同时,整个网的总长度不能大于[__C__]米。若总长度超过上述长度,则需分成两个网,网之间用[__D__]相连。这是在ISO/OSI模型中[__E__]层的连接。

供选择的答案:

A,C:① 50② 100③ 185④ 500

⑤ 1000⑥ 2500

B,D:① 网络适配器② 重发器③ 调制解调器④ 网桥

E:① 物理② 数据链路③ 网络④ 运输

试题11

从供选择的答案中,选出应填入下面英语文句叙述中[__n__]内的正确答案,把编号写在答卷的对应栏内。

Object-oriented DBMS integrated a variety of [__A__] data types-such as business procedures, graphics, pictures, vioce and annotated text.

Object orientation also makes a [ __B__] to application development efficiency. It makes the data, functions, attributes, and relationships an integral part of the [__C__]. In this way, objects can be reused and replicated .

Some leading RDBMS vendors support the concept of integrating object management capabilities with their current line of relational products. That capability enable users to [__D__] the development cycle, since integrity logic and business rules no longer need to be programmed [__E__] each application.

供选择的答案

A~E: ①tool②in⑧idea④contribution

⑤joke⑥short⑦object⑧theoretical

⑨extent⑩shorten(11)real-world (12)into

试题12

从供选择的答案中,选出应填入下面英语文句叙述中[__n__]内的正确答案,把编号写在答卷的对应栏内。

In [__A__] software, one question of near-universal interest is how rapidly Windows NT, which began shipping last summer, will be [__B__] in the marketplace and for what uses. For the most part, observers are [__C__] about the operating system's long term prospects, but expect it to remain on [__D__] rather than desktops during 1994,saying that it won't become a mainstream product until [__E__] PCs typically have 16 to 24 MB of RAM, which is unlikely to happen next yea r.供选择的答案

A~E:①applications②accepted③clients④enthusiastic

⑤servers⑥desktop⑦systems⑧replaced

试题13至试题 14 [略] (日语)

试题15至试题 25 [略] (计算机应用)

1994年度高级程序员级下午试题

试题 l

阅读下列说明和流程图,回答问题 1 至问题 3,将解答写在答卷的对应栏内。

[说明]

流程图 l 描述了某电信局数据通信专线计费业务管理系统的部分处理流程。

1.凡申请专线者,均需填写专线申请表。系统把申请表存储在专线申请登记文件中,等待分配专线号。

2.系统为申请者指定专线号,并根据通信距离( 按地区计算 )、通信速率计算初装费和月租费,然后发初装通知单绐用户,并产生施工单交有关部门施工。同时产生专线处理文件。专线号是专线的唯一标识。

3.施工结束后,系统更新用户文件.并产生专线计费文件,作为以后收费的依据。

4.一个用户可以租用多条专线,用户可用现金或银行托付两种方式支付租金,但一个用户只能使用一种付款方式。系统每月按用户( 而不是专线 )为单位计费出帐。

5.流程图中各数据文件及有关单据所含的数据项如下:

专线申请表及专线申请登记文件:

用户名称,付款卞式,开户银行代码,帐号,主端名称,主端地址,申请号,对端地址,端所在地区,通洁速率,设备接门,申请日期

专线处理文件:

申清号,专线号,用户名称,付款方式,开户银行代码,帐号,初装费,月租费,完工日期初装费收据:专线号,初装费,交费日期

施工单:

施工单号,专线号,主端名称,主端地址,对端地址,对端所在地区,通信速率,设备接口,申请日期,施工期限完工单:施工单号,专线号,完工日期

用户文件:

用户编号,用户名称,付款方式,开户银行代码,帐号

专线计费文件:

专线号,用户编号,月租金,开通日期

[问题 1]

专线价目文件由哪些数据项组成。

[问题 2]

为了避免在用户尚未支付初装费时就去施工,有人提议将图中从处理 2 产生施工单改成从处理 3 产生施工单。试问从处理 3 能否产生施工单? 为什么?

[问题 3]

当一个用户租用多条专线时,若允许该用户对其中的一些专线采用现金支付,对另一些专线采用银行托付方式,则在尽量减少数据冗余的前提下,应如何调整有关的数据文件。

[流程图1]

试题 2

阅读下列说明和流程图,回答问题1和问题2,把解答写在答卷的对应栏内。

[说明]

流程图 2-1 用来实现在数组 A(n) 中寻找第K大的元素。算法思想是通过比较和交换,在区间 1~n 中找到一个 m,使 A(1)~A(m-1) 的值均大于 A(m), A(m+1)~A(n) 的值均小于A(m)。若 m=K,则 A(m) 即为第 K 大的元素,否则调整查找区间,继续上述查找。

[问题 1]

填充流程图 2-l 中的①~⑤,使之成为完整的流程图。

[问题 2]

若将流程图 2-1 中的虚框部分改成图 2-2 所示的框图,则当 A(1) 为数组 A 的最大元素时,修改后的流程图能否正常运行? 为什么?

[流程图 2-1]

试题 3

阅读下列说明和流程图,回答问题 1 和问题 2,把解答写在答卷的对应栏内。

[说明]

流程图 3 用来将数组 A 中的n( n≥2 ) 个数经变换后存储到数组B中。变换规则如下:

1.若 A 中有连续 t 个相同的元素( t>1 ),则在 B 中存入 t 和该元素的值;

2.若 A 中有连续 t 个元素( t≥1 ),其中每个元素都与相邻的元素不相同,则在 B 中存入 -t 和这 t 个元素的值。

例如:

A = { 3,3,3,3,5,5,7,6,3,6,2,2,2,2,1,2 } 则变换后

B = { 4,3,2,5,-4,7,6,3,6,4,2,-2,l,2 } 流程图中,逻辑变量

C 用来区分正在进行连续相同元的计数还是连续不等元的计数,K1 用来记录数组 B 中存放 t 或 -t 的元素的下标。

[问题 1]

填充流程图中的①~⑤,使之成为完整的流程图。

[问题 2]

如果删除流程图中的判断框 t+1,那末,当数组 A={ 5,5,4,4 }时,经改变后的流程图的变换,数组 B 将会有什么样的元素值?

[流程图3]

试题4

阅读下列说明和流程图,回答问题 1 至问题 3,把解答写在答卷的对应栏内。

[说明]

流程图 4-1 用于把文件 A 和文件 B 合并成按上升顺序分类(排序)的文件 C。已知文件A 和 B 中的关键码均小于 M。

[问题 1]

为使流程图 4-1 能正确工作,文件 A 和文件 B 诸记录的关键码必须满足什么条件? [问题2]

按流程图 4-1 的处理方式,分别指出文件 A 和文件 B 至少应含有的记录个数。

[问题3]

若将流程图 4-1 中的虚线部分改成框图 4-2,则图中的“判断条件”应是什么?

[流程图 4-1 ]

试题5

阅读下列说明和 E—R 图,回答问题,把解答写在答卷的对应栏内。

[说明]

设有下列关于学生成绩管理系统的 E—R 图。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体间的联系。假定已通过下列 SQL 语言建立了基本表:CREATE TABLE STUDENT

( SNO CHAR(6)NOT NULL,

SNAME CHAR(20),

DEPT CHAR(20),

AGE SMALLINT);

CREATE TABLE COURSE

( CNO CHAR(6)NOT NULL,

CNAME CHAR(20),

HOUR SMALLINT);

CREATE TABLE S—C

( SNO CHAR(6),

CNOefIAR(6),

GRADE SMALLINT );

为了答题的方便,图中的实体和属性同时给出了中英两种名字,回答问题时只须写出英文名即可。

[E-R]图

[问题]

填充下列 SQL 程序 5.1~5.4 中的①~⑥,使它们分别完成以下查询功能:

程序 5.1:检索选读所有课程的学生姓名。

程序 5.2:给出全体学生人数。

程序 5.3:按学号给出每个学生的平均成绩。

程序 5.4:按学号给出每个学生选读课程的门数。

[程序 5.1]

SELECT STUDENT.SNAME

FROM STUDENT

WHERE[__①__]

( SELECT *

FROM COURSE

WHERE[__②__]

( SELECT *

FROM S-C

WHERE[__③__]))

[程序 5.2]

SELECT [__④__]

FROM STUDENT

[程序 5.3]

SELECT [__⑤__]

FROM S-C

GROUP BY SNO

[程序 5.4]

SELECT [__⑥__]

FROM S-C

GROUPBY SNO

试题6

在 COMET 型计算机上可以使用试卷上所附的 CASL 汇编语言。阅读下列程序说明和 CASL 程序,把应填入其中[__n__]处的字句,写在答卷的对应栏内。

[程序说明]

子程序 DIVIDE 将真分数 a/b ( 0

子程序从栈中接受参数。参数的入栈顺序为:分子 (a)、分母 (b) 和小数位数 (N)。进入子程序已保证 0

由于需要将结果输出,所以子程序中计算出每一位小数后直接用字符方式顺次存放在标号OUTPUT 之后的存储区域中。数字字符 0~9 的 ASCII 编码依次是 48~57。

[程序]

START DIVIDE

DIVIDE LEA GR3,2

LD GRl,l,GR4

LEA GRl,2,GRl

ST GRl,OUTLEN

LD GR0,[__1__]

DICIT LEA GR2,48

SLA GR0,1

ST GR0,WORK

SLA GR0,2

ADD GR0,WORK

SUBST CPA GR0,[__2__]

JMI GOOD

[__3__]

[__4__]

JMP SUBST

GOOD ST GR2,OUTPUT,GR3

LEA GR3,1,GR3

SLL [__5__]

JZE OUT

CPA GR3,OUTLEN

JMI DIGIT

OUT ST GR3,OUTLEN

OUT OUTPUT,OUTLEN

RET

OUTPUT DC '0·'

DS 20

OUTLEN DS 1

WORK DS 1

END

试题7

阅读下列程序说明和 C 程序,把应填入其中[__n__]处的字句,写在答卷的对应栏内。[程序说明]

由二叉树的前序遍历和中序遍历两个遍历序列能唯一确定

一棵二叉树。

前序遍历为:访问根结点、访问左子树、访问右子树;

中序遍历为:访问左子树、访问根结点、访问右子树。

如右图所示的二叉树,其前序和中序遍历序列分别为:

pred[ ]:A、B、D、E、C、F、G。

inod[ ]:D、B、E、A、C、G、F。

本程序实现已知某二叉树的前序遍历和中序遍历序列,生成一棵链接表示的二叉树。

构造二叉树的算法要点是:由前序遍历序列,该序列的第一个元素是根结点元素( 例中为A )。该元素将中序遍历序列分成左、右两部分,那些位于该元素之前的元素是它的左子树上的元素 ( 例中为D 、B、E ),位于该元素之后的元素是它的右子树上的元素( 例中为 C、G、F )。对于左、右子树,由它们的前序遍历序列的第一个元素可确定左、右子树的根结点,参照中序遍历序列又可进一步确定子树的左、右子树元素。如此递归地参照两个遍历序列,最终构造出二叉树。

两个遍历序列作为主函数 main( )的参数。为简单起见,程序假定两个遍历序列是相容的。主函数调用函数 restore( ) 建立二叉树。函数 restore( ) 以树( 子树 )的前序遍历和中序遍历两序列及序列长为参数,采用递归方法建立树( 子树 )。函数 postorder( )实现二叉树的后序遍历序列输出,用来验证函数restore( )建立的二叉树。

[程序]

#include (stdio.h>

#include

#define MAX 100

typedef struct node{

char info;

struct node * llink,*rlink;

} TNODE;

charpred[MAX],inod[MAX];

TNODE * restore( Char * ,char *,int );

main( int argc,Char * * argv )

{

TNODE * root;

if ( argc<3 ) exit(0);

strcpy( pred,argv[l] );

strcpy( inod,argv[2] );

root = restore( pred,inod,strlen( pred )) postorder( root );

printf(”\n\n”);

}

TNODE * restore( Char * ppos,char * ipos,int n )

{

TNODE * ptr;

Char * rpos;

int k;

if ( n <= 0 ) return NULL;

ptr = ( TNODE * ) malloc( sizeof( TNODE ));

ptr->info = [__1__] ;

for ( [__2__];rpos < ipos+n;rpos++ )

if ( *rpos == * ppos ) break;

k = [__3__];

ptr->llink = restore( ppos+1,[__4__],k );

ptr->rlink = restore( [__5__] + k,

[__6__] + 1,

n-1-k );

return ptr;

}

postorder( TNODE * ptr )

{ if ( ptr == NULL ) return;

postorder( ptr->llink );

postorder( ptr->r1ink );

prinft( ”%c”,ptr->info );

}

试题8~10 略(COBOL、FORTRAN、PASCAL)

1994年高级程序员级试题答案

上午试题答案

注:*表示可交换

下午试题答案

试题一

[问题1]

对端所在地区,通信速率,初装费,月租费

[问题2]

不能,因为处理3的输入文件及单据中缺少施工单位所需的主端名称,主端地址,对端地址,对端所在地区,通信速率,设备接口等数据项。

[问题3]

在专线计费文件中加上付款方式数据项,取消用户文件中的付款方式数据项。

试题二

[问题1]

① i+1→i 或m+1→i

② i:j

③ j-1→j 或 m-1→j

④ m+1→low

⑤ m-1→high

[问题2]

不能,因为A(1)为数组A的最大元时,修改后的流程图将始终执行j-1→j;以致数组下标越界。

试题三

[问题1]

① 1→t

② 1-t

③ 'tree'→C

④ 'false'→C

⑤ -t→B(K1)

[问题2]

B={2,5,0,2,4}

试题四

[问题1]

文件A和文件B必须均按升序排列,并且文件A的最后一个记录的关键码应小于或等于文件B的最后一个记录的关键码。

[问题2]

文件A至少有零个记录;当文件A非空时,文件B至少有1个记录;当文件A为空时,文件A至少有零个记录,…

[问题3]

A的关键码等于M并且B的关键码等于M。

试题五

① NOT EXISTS

② NOT EXISTS

③ STUDENT.SNO=S-C.SNO AND https://www.wendangku.net/doc/d714100949.html,O=https://www.wendangku.net/doc/d714100949.html,O

④ COUNT(*)

⑤ SNO,AVG(GRADE)

⑥ SNO,COUNT(CNO)

试题六

(1)3,GR4

(2)2,GR4

(3)SUB GR0,2,GR4

(4)LEA GR2,1,GR2

(5)GR0,0

试题七

(1) *ppos 或 ppos[0]

(2) rpos=ipos

(3) rpos-ipos

(4) ipos 或 rpos-k

(5) ppos+1

(6) rpos 或 ipos-k

相关文档