查看全部128种考试
软件水平考试
 考试动态 报考指南 历年真题 模拟试题 复习资料 心得技巧 专业英语 技术文章 软考论坛 考试用书
 程序员 软件设计师 网络管理员 网络工程师 系统分析师 数据库系统工程师
1
2
3
4
5
6
7
8
9
10
xihuyu2000  
【字体: 1992年高级程序员下午试题
1992年高级程序员下午试题
spks.exam8.com 来源:考试吧(Exam8.com) 更新:2005-4-11 23:59:00 软件水平考试 考试论坛

[流程图]

 

 

试题6

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

[程序说明]

本程序根据输入的姓名(字符串),在已有的线性表中查找其相应的通信地址(字符串),并予以输出。

标号为DATPTR的存贮字存放着线性表第一个结点的地址。结点的数据结构定义如下:

第K个结点
+0
+1
+2
+3
 
 
 
指向第K+1个结点
存放姓名字符串长度
存放通信地址字符串长度
自此连续存放姓名和通信地址

最后一个结点的指针字段为空指针( 内容为 0 )。

[程序]

 

START BEGIN
OTlONG DS 1
OTTEXT DS 80
NOlONG DC 10
NOTEXT DC 'NOT FONUD.'
INTEXT DS 80
INLONG DS 1
DATPTR DC FIRST
BEGIN IN INTEXT,INLONG
LEA GR0,0
CPA GR0,INLONG
JZE ENDSCH
LEA GR3,DATPTR
NXTMEM __①__
__②__
JZE NOTFND
LD GR0,1,GR3
CPA GR0,INLONG
JNZ NXTMEM
__③__
LEA GR2,INTEXT
CALL CMPSTR
__④__
LD GR0,2,GR3
ST GR0,OTlONG
__⑤__
__⑥__
LEA GR2,OTTEXT
CAlL CPYSTR
OUT OTTEXT,OTLONG
JMP BEGIN
NOTFND OUT NOTEXT,NOLONG
JMP BEGIN
ENDSCH EXIT
CMPSTR PUSH 0,GR3
CMPNXT LD GR3,0,GR1
CPL GR3,0,GR2
JNZ CMPEND
LEA GR1,1,GR1
LEA GR2,1,GR2
SUB GR0,CONST1
JNZ CMPNXT
CMPEND POP GR3
RET
CONSTl DC 1
CPYSTR PUSH 0,GR3
CPYNXT LD GR3,0,GR1
ST GR3,0,GR2
LEA GR1,1,GR1
LEA GR2,1,GR2
SUB GR0,ONE
JNZ CPYNXT
POP GR3
RET
ONE DC 1
END

 

从下列的4道试题(试题7至试题10)中任选l道解答。 如果解答的试题数超过1道,则解答的前1道有效。

 

试题7

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

[程序说明]

(1)本程序利用辗转相除法求两个均不超过100次的多项式A,B的最大公因式。

例: A(x)=x3一x2+x一1=(x2+1)(x一1)

B(x)=x5一7x4十7x3-3x2+6x+4=(x2+1) (x3-7x2十6x+4)

最大公因式为x2+1。

(2)辗转相除法的算法如下:

用其中的一个多项式去除另一个多项式;然后,将所得余式变成除式,原除式变成被除式。如此反复相除,当余式为。时,当前除式即为最大公因式。

[程序]

#include <stdio.h>

#include <math.h>

#define DECISE.0005

#define MAX_POWER 100

main( )

{ int i,a,b;

float Ca[MAX_POWER+1],Cb[MAX _POWER+1];

void Remainder();

scanf("%d",&a);

for ( i=0;i<=a;i++ )

scanf( "%f",&Ca[i] );

scanf( "%d",&b) ;

for ( i=0;i<=b;i++ )

scanf( "%d",&Cb[i] );

Remainder(Ca,Cb,a,b);

}

void Remainder(Pointer A,Pointer B,a,b)

float *Pointer A,*Pointer B;

int a,b;

{ float x,y,*Temp;

int i,j,F1ag=1;

while ( Flag )

{ i=0;

while ( PointerB[i]==0 )

{ i ++;b一-;

__①__ ;

}

x=Pointer[i];

while ( i<=b )

PointerB[i++]/=x;

for ( i=0;i<=a-b;i++ )

{ __②__ ;

for(j=0;j<b ; j++) 

{ y = PointerA[i+l+j]一x * PointerB[j+1];

PointerA[ __③__ ]=

( y<DECISE&&-y<DECISE )?0.0;y;

}

}

Temp=Pointer A;

PointerA=PointerB; ·

PointerB = __④__ ;

a=b--;

for ( Flag=0,i=0;i<b && Flag==0;i++ )

if ( PointerB[i] !=0.0 ) Flag=1;

}

printf( "The Greatest Common Factor is:\n");

for ( i=0;i<a;i++ )

if ( PointerA[i]!= 0.0)

printf( "%5.3f *x ∧%d%s",

PointerA[I],a-i,( PointerA[i+1]<0.0 ) ?"":"+" );

printf( "%5.3f\n",PointerA[a] );

}

 

 

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

 

                                                答案

试题一

[问题1]

电话费单价文件

[问题2]

电话号码,国内通话次数,国内金额,国际通话次数,国际金额

[问题3]

① 第一关键项是用户编码,第二关键项是电话号码 ② 电话号码

试题二

[问题1]

① H→HW[NW] ② 'false'→W ③ W:'false' ④ H→HW[NW] ⑤ 'false'→W ⑥ 0→H ⑦ HW[1]:-1

[问题2]

⑧ NW:0 ⑨ HW[NW]:-1

试题三

[问题1]

① A(3,61)→J ② I+1→I ③ A(I,J-T-S+1):A(I,J-S+1) ④ A(I,J)+1→A(I,J) ⑤ J→A(I,61)

[问题2]

⑥ A(I,J-T-S+1):A(I,J-S+1)  ⑦ S:T  ⑧ S+1→S

试题四

判定覆盖④ 条件覆盖③ 判定/条件覆盖⑥ 多重条件覆盖⑧ 路径覆盖⑦

试题五

[问题1]

① k→J  ② ≥  ③ <  ④ I+1→I  ⑤ <  ⑥ ≥  ⑦ J-l→J

[问题2]

1 4 9;

2 3 8;

5 6 7

试题六

(1)LD GR3,0,GR3
(2)LEA GR3,0,GR3
(3)LEA GR1,3,GR3
(4)JNZ NXTMEM
(5)LEA GR1,3,GR3
(6)ADD GR1,1,GR3

试题七

(1) PointerB += i--

(2) x=PointerA[j]

(3) i+1-j

(4) (a>=b)? Temp+a—b-l:Temp

上一页  [1] [2] [3] 

转帖于:软件水平考试_考试吧
文章搜索  
看了本文的网友还看了:
软件水平考试权威辅导教材: 订书电话:010-62168566  更多>>>
网友评论
昵 称: *  评 分: 1分 2分 3分 4分 5分
标题:   匿名发表    (共有条评论)查看全部评论>>
版权声明 -------------------------------------------------------------------------------------
  如果软件水平考试网所转载内容不慎侵犯了您的权益,请与我们联系,我们将会及时处理。如转载本软件水平考试网内容,请注明出处。
关于本站  网站声明  广告服务  联系方式  付款方式  站内导航  客服中心  友情链接  考试论坛  网站地图
Copyright © 2004-2008 考试吧软件水平考试网 All Rights Reserved    
中国科学院研究生院权威支持(北京) 电 话:010-62168566 传 真:010-62192699
百度大联盟黄金认证  十佳网络教育机构  经营许可证号:京ICP060677