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

试题 2

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

[程序说明]


这是一个在某项比赛中计算每一位选手最终得分的子程序。计分办法如下:

(1)十名评委,在 0~100 的整数范围内给选手评分。

(2)十个得分中,除去一个最高分(如有同样两个以上最高分也只除去一个),除去一个最低分( 如有同样两个以上最低分也只除去一个 ),剩下的八个得分取平均值为该选手的最终得分。(平均值按四舍五入原则取成整数)

进入此子程序时,GR1 内存放十个评委评分的起始地址。返回主程序时,该选手的得分存放在 GR0 内,GR1~GR3中的值均保持不变。

[问题]

在程序中的 ①~⑧ 处各填入一条正确的指令,以完成此程序。除非必要,标号栏不要填写。

[程序]

标号 操作码 操作数
FINAL START
PUSH 0,GR1
PUSH 0,GR2
PUSH 0,GR3
LD GR0,0,GR1
ST GR0,MAX
ST GR0,MIN
__①__
NEXT LEA GR2,-1,GR2
JZE MEAN
__②__
LD GR3,0,GR1
__③__
CPA GR3,MAX
JMI GOONl
ST GR3,MAX
GOONl CPA GR3,MIN
JPZ GOON2
ST GR3,MIN
GOON2 __④__
MEAN SUB GR0,MAX
SUB GRO,MIN
__⑤__
SRA GR0,3
__⑥__
__⑦__
__⑧__
RET
MAX DS 1
MIN DS 1
FOUR DC 4
END

 

试题 3

阅读下列程序说明和 C 程序,将应填入程序中__?__处的字句写在答卷纸的对应栏内。

[程序说明]


函数 vr6174 是对卡布列克运算的验证程序。

所谓卡布列克运算,是指任意一个四位数,只要它们各个位上的数字不全相同,就有这样的规律:

(1)把组成这个四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数; 

(2)把组成这个四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数( 如果四个数字中含有 0,则此数不足四位 );

(3)求出以上两数之差,得到一个新的四位数。

重复以上过程,总能得到最后的结果是 6174。

如果当 n=5346 时调用 vr6174(n),便会输出以下结果:

6543-3456=3087 8730-378=8352 8532-2358=6174

函数 vr6174 采用了递归算法,并调用 parse_sort 和 max_min 函数。其中 parse_sort 函数把所给的四位数分解为四个一位数字,并将其从小到大排序,放入数组 each;max_min 函数根据 each 的值形成所要求的最大四位数和最小四位数。

[程序]

vr6147( num )

int num;

{ inteach[4],max,min;

if ( num!=6174&&num )

{ parse_sort( num,each );

max_min( __①__);

num = max_min;

printf( "%d-%d=%d",max,min,num ),

vr6174( nurn );

}

else printf( ".\n" );

return;

}

parse_sort( num,each )

int num,*each;

{ int i,*j,*k,temp;

for ( i;0;i<4;i++ )

{ j=each+3-i;

__②__;

hum=num/10;

}

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

for ( j-each,k=each+1;;j<each+3-i;__③__ )

{ if ( *j>*k )   { temp=*j; *j=*k; *k=temp;

}

}

retrun;

}

max_min( each,max,min )

int *each,*max,*min;

{ int *j;

min=0

for ( i;each;i<each+4;i++ )

*min=__④__;

*max=0;

for ( i;each+3;i>=each;i-- )

*max=__⑤__;

return;

}

 

试题 7

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

[程序说明]


从语言音素粗分类的角度出发,可以对任一个英文单词产生一个四字符的声音相似码。

其处理方式如下:

(1)保留单词中的首字母作为声音相似码的首字符。若首字母为小写字母,则需先改为大写字母才能被保留。

(2)对首字母以后的字母按下表中出现的对应关系变换为‘0’~‘6’的数字。

字母

A

a

B

b

C

c

D

d

E

e

F

f

G

g

H

h

I

i

J

j

K

k

L

1

M

m

N

n

O

o

P

p

Q

q

R

r

S

s

T

t

U

u

V

v

W

w

X

x

Y

y

Z

z

对应
数字

0

1

2

3

0

1

2

0

0

2

2

4

5

5

0

1

2 6

2

3

0

1

0

2

0

2


    (3)若字母变换而得的数字为'0',则不出现在声音相似码中;若相邻的字母产生相同的数字,则在声音相似码中只保留一个数字。

(4)遇到下列情况之一程序执行终止:

① 输入的第一个字符不是英文字母,程序返回,输出 '0000'。

② 已产生四个字符的声音相似码( 包括第一个字母 )时,程序不再处理其余字符。

③ 单词已处理完( 以非字母符为结束标志 ),若声音相似码不足四字符,则程序以字符'0'补足四个字符。

例:

输入字符串 输出
computer# 'C513'
an# 'A500'
5sohware# '0000'

 英文字母,'A'~'Z','a'~'z'的 ASCII 码的十进制值为 65~90,97~122;字符 '0'的十进制值为 48。

[问题]

在程序中的 ①~⑥ 处各填入一条正确的指令,以完成此程序。除非必要,标号栏不要填写。

[程序]

标号 指令码 操作数
START
IN STR,LENG
__(1)__
LEA GR0,48
ST GR0,0,GR1
ST GR0,1,GR1
ST GR0,2,GR1
ST GR0,3,GR1
LEA GR2,STR
CALL GETCH
JMP L4
LEA GR1,0
L1 ST GR3,SOUT,GR1
LEA GR1,1,GR1
__(2)__
JZE L4
L2 ST GR3,RESV
L3 __(3)__
CALL GETCH
JMP L4
__(4)__
LD GR3,TABLE,GR3
__(5)__
JZE L2
CPL GR3,RESV
JZE L3
JMP L1
L4 EXIT
GETCH LD GR3,0,GR2
LEA GR0,-97,GR3
JMI G1
LEA GR3,-32,GR3
G1 LEA GR0,-65,GR3
JMI G2
LEA GR0,-91,GR3
JPZ G2
LD GR0,0,GR4
__(6)__
ST GRO,0,GR4
G2 RET
RESV DS 1
SOUT DS 4
STR DS 80
LENG DS 1
TABLE DC '0123012002245'
DC '5012623010202'
TWO DC 2
END


试题 8

阅读下列程序说明和 C 程序,将应填入程序中__(n)__ 处的字句,写在答卷纸的对应栏内。

[程序说明]

本程序实现变元为 x,y,z 的两个整系数多项式的相加。用一个循环链表表示多项式,表中每个节点表示该多项式中的一项,格式如图1所示。它表示项 coef *xiyjzk,其中 coef 表示项系数;项指数 index=i*100+j*lO+k( i,j,k皆为整数,且0≤i,j,k≤9 );next 为指向下一个节点的指针。链表中设置一个表头节点,其值如图2所示。它指向多项式的首项。表中其余节点按 index 值的降序排列。例如,多项式 3x6-5x5y2+6y6z 可表示为图3。


    本程序定义两个多项式 (p) 和 (q),通过调用 blist 构成两个循环链表 p* 和 q·* 将 (p) 加到 (q) 上,其结果,表 p ·不变,表 q 为两多项式 (p) 和 (q) 之和。两多项式相加通过调用 polyadd 来实现。

算法:比较 (p) 和 (q) 的项指数,如相等,则项系数累加进 (q) 的对应项系数;如 (p) 的项指数小于 (q) 的项指数,则比较 (q) 的下一项;如 (p) 的项指数大于 (q) 的项指数,则将 (p) 的该项插入 (q) 中。如项系数相加后值为 0,则从 (q) 中删除该项。

 

[1] [2] 下一页

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