試題 2
在 COMET 型計算機上可以使用試卷上所附的 CASL 匯編語言。閱讀下列程序說明和 CASL 程序,把應填入程序中__(n)__ 處的字句,寫在答卷的對應欄內(nèi)。
[程序說明]
這是一個在某項比賽中計算每一位選手最終得分的子程序。計分辦法如下:
(1)十名評委,在 0~100 的整數(shù)范圍內(nèi)給選手評分。
(2)十個得分中,除去一個最高分(如有同樣兩個以上最高分也只除去一個),除去一個最低分( 如有同樣兩個以上最低分也只除去一個 ),剩下的八個得分取平均值為該選手的最終得分。(平均值按四舍五入原則取成整數(shù))
進入此子程序時,GR1 內(nèi)存放十個評委評分的起始地址。返回主程序時,該選手的得分存放在 GR0 內(nèi),GR1~GR3中的值均保持不變。
[問題]
在程序中的 ①~⑧ 處各填入一條正確的指令,以完成此程序。除非必要,標號欄不要填寫。
[程序]
標號 | 操作碼 | 操作數(shù) | |
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 程序,將應填入程序中__?__處的字句寫在答卷紙的對應欄內(nèi)。
[程序說明]
函數(shù) vr6174 是對卡布列克運算的驗證程序。
所謂卡布列克運算,是指任意一個四位數(shù),只要它們各個位上的數(shù)字不全相同,就有這樣的規(guī)律:
(1)把組成這個四位數(shù)的四個數(shù)字由大到小排列,形成由這四個數(shù)字構(gòu)成的最大的四位數(shù);
(2)把組成這個四位數(shù)的四個數(shù)字由小到大排列,形成由這四個數(shù)字構(gòu)成的最小的四位數(shù)( 如果四個數(shù)字中含有 0,則此數(shù)不足四位 );
(3)求出以上兩數(shù)之差,得到一個新的四位數(shù)。
重復以上過程,總能得到最后的結(jié)果是 6174。
如果當 n=5346 時調(diào)用 vr6174(n),便會輸出以下結(jié)果:
6543-3456=3087 8730-378=8352 8532-2358=6174
函數(shù) vr6174 采用了遞歸算法,并調(diào)用 parse_sort 和 max_min 函數(shù)。其中 parse_sort 函數(shù)把所給的四位數(shù)分解為四個一位數(shù)字,并將其從小到大排序,放入數(shù)組 each;max_min 函數(shù)根據(jù) each 的值形成所要求的最大四位數(shù)和最小四位數(shù)。
[程序]
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)__處的字句,寫在答卷的對應欄內(nèi)。
[程序說明]
從語言音素粗分類的角度出發(fā),可以對任一個英文單詞產(chǎn)生一個四字符的聲音相似碼。
其處理方式如下:
(1)保留單詞中的首字母作為聲音相似碼的首字符。若首字母為小寫字母,則需先改為大寫字母才能被保留。
(2)對首字母以后的字母按下表中出現(xiàn)的對應關系變換為‘0’~‘6’的數(shù)字。
字母 |
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)若字母變換而得的數(shù)字為'0',則不出現(xiàn)在聲音相似碼中;若相鄰的字母產(chǎn)生相同的數(shù)字,則在聲音相似碼中只保留一個數(shù)字。
(4)遇到下列情況之一程序執(zhí)行終止:
① 輸入的第一個字符不是英文字母,程序返回,輸出 '0000'。
② 已產(chǎn)生四個字符的聲音相似碼( 包括第一個字母 )時,程序不再處理其余字符。
③ 單詞已處理完( 以非字母符為結(jié)束標志 ),若聲音相似碼不足四字符,則程序以字符'0'補足四個字符。
例:
輸入字符串 | 輸出 |
computer# | 'C513' |
an# | 'A500' |
5sohware# | '0000' |
英文字母,'A'~'Z','a'~'z'的 ASCII 碼的十進制值為 65~90,97~122;字符 '0'的十進制值為 48。
[問題]
在程序中的 ①~⑥ 處各填入一條正確的指令,以完成此程序。除非必要,標號欄不要填寫。
[程序]
標號 | 指令碼 | 操作數(shù) | |
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)__ 處的字句,寫在答卷紙的對應欄內(nèi)。
[程序說明]
本程序?qū)崿F(xiàn)變元為 x,y,z 的兩個整系數(shù)多項式的相加。用一個循環(huán)鏈表表示多項式,表中每個節(jié)點表示該多項式中的一項,格式如圖1所示。它表示項 coef *xiyjzk,其中 coef 表示項系數(shù);項指數(shù) index=i*100+j*lO+k( i,j,k皆為整數(shù),且0≤i,j,k≤9 );next 為指向下一個節(jié)點的指針。鏈表中設置一個表頭節(jié)點,其值如圖2所示。它指向多項式的首項。表中其余節(jié)點按 index 值的降序排列。例如,多項式 3x6-5x5y2+6y6z 可表示為圖3。
本程序定義兩個多項式 (p) 和 (q),通過調(diào)用 blist 構(gòu)成兩個循環(huán)鏈表 p* 和 q·* 將 (p) 加到 (q) 上,其結(jié)果,表 p ·不變,表 q 為兩多項式 (p) 和 (q) 之和。兩多項式相加通過調(diào)用 polyadd 來實現(xiàn)。
算法:比較 (p) 和 (q) 的項指數(shù),如相等,則項系數(shù)累加進 (q) 的對應項系數(shù);如 (p) 的項指數(shù)小于 (q) 的項指數(shù),則比較 (q) 的下一項;如 (p) 的項指數(shù)大于 (q) 的項指數(shù),則將 (p) 的該項插入 (q) 中。如項系數(shù)相加后值為 0,則從 (q) 中刪除該項。
轉(zhuǎn)帖于:軟件水平考試_考試吧
- 推薦給朋友
- 收藏此頁
·2008年下半年軟考信息系統(tǒng)項目管理師試題(下午II) (2008-12-21 22:39:30)
·2008年下半年計算機軟考網(wǎng)絡工程師試題(下午) (2008-12-21 22:26:13)
·2008下半年軟考系統(tǒng)分析師考試試題(下午)II (2008-12-21 22:20:49)
·2008年下半年計算機軟考程序員試題(下午) (2008-12-21 22:18:18)
·2008年下半年計算機軟考程序員試題(上午) (2008-12-21 22:11:38)
如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系,我們將會及時處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。