查看全部128種考試
軟件水平考試
 考試動態(tài) 報考指南 歷年真題 模擬試題 復習資料 心得技巧 專業(yè)英語 技術(shù)文章 軟考論壇 考試用書
 程序員 軟件設計師 網(wǎng)絡管理員 網(wǎng)絡工程師 系統(tǒng)分析師 數(shù)據(jù)庫系統(tǒng)工程師
1
2
3
4
5
6
7
8
9
10
xihuyu2000  
【字體: 1991年程序員下午試卷及答案
1991年程序員下午試卷及答案
spks.exam8.com 來源:考試吧(Exam8.com) 更新:2005-4-10 8:40:00 軟件水平考試 考試論壇

 

試題 12

在 COMET 型計算機上可以使用試卷上所附的 CASL 匯編語言。閱讀下列程序說明和 CASL 程序,把應填入程序中__(n)__ 處的字句,寫在答卷的對應欄內(nèi)。

[程序說明]


本程序?qū)⒁粋漢字的點陣逆時針旋轉(zhuǎn) 90°,并輸出旋轉(zhuǎn)后的點陣字形。

圖12-1是漢字“轉(zhuǎn)”字的 16×16點陣字形。用“0”表示空白位置,用“1”表示非空白位置,“轉(zhuǎn)”字的第一行即可表示為

0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0

若把它看作一個宇的16個Bit,“轉(zhuǎn)”字的第一行就可以用十六進制的 1040 來表示。同理“轉(zhuǎn)”字的第二行可表示為 1040,第三行可表示為1048,……在 COMET 機中,用 16 個字即可存放一個漢字的點陣字形!稗D(zhuǎn)”字的點陣數(shù)據(jù)及字形如圖 12-1 所示。

將一個漢字點陣逆時針旋轉(zhuǎn) 90°,就是把該漢字點陣的最右列作為旋轉(zhuǎn)后點陣的第一行,次最右列作為第二行,依次類推,形成一個旋轉(zhuǎn)后的點陣字形。圖 12-2 是將“轉(zhuǎn)”字逆時針旋轉(zhuǎn) 90° 后的點陣數(shù)據(jù)和字形。

1040 ...x.....x...... 0000 .................
1040 ...x.....x...... 0200 ......x.........
1048 ...x.....x..X... 1640 ...x.xx..x......
FDFC xxxxxx.xxxxxxx.. 32E0 ..xx..x.xxx.....
2040 ..x......x...... 1259 ...x..x..x.xx..x
2844 ..x.x....x...x.. 1246 ....x..x...x..xx.
4BFE .x..x.xxxxxxxxx. FE44 xxxxxxx..x...x..
7C80 .xxxxx..x....... 13C8 ...x..xxxx..x...
0888 ....x...x...x... 1240 ...x..x..x......
09FC ....x..xxxxxxx.. 0200 ......x.........
0C08 ...xxx......x... 1120 ...x...x..x.....
E810 xxx.x......x.... 17FF ...x.xxxxxxxxxxx
4890 .x..x...x..x.... F120 xxxx...x..x.....
0860 ....x....xx..... 1D10 ...xxx.x...x....
0820 ....x.....x..... 1318 ...x..xx...xx...
0810 ..,,x.,....x..., 1010 ...x.,,,...x....
圖 12-1 圖 12-2


    程序中,標號為 OLDPN 起的 16 個字中存放著“轉(zhuǎn)”字的點陣數(shù)據(jù),旋轉(zhuǎn)后的點陣數(shù)據(jù)存放在標號為 NEWPN 起的 16 個字中。程序的前半部分,將該點陣數(shù)據(jù)逆時針旋轉(zhuǎn)90°;程序的后半部分,將旋轉(zhuǎn)后的點陣數(shù)據(jù)加以編輯。用字符“.”表示值為 0 的位,用字符“*”表示值為 1 的位。從而將新的點陣字形按行輸出。

[問題]

在程序中的①~⑧處各填入一條正確的指令,以完成此程序。除非必要,標號欄不要填寫。

[程序]

標號 操作碼 操作數(shù)
START BEGIN
BEGIN ST GR4,SPSAVE
LEA GR2,0
NEWLN LEA GR3,0
ST GR3,NEWPN,GR2
NEWCL ST GR3,WORK
LD GR0,OLDPN,GR3
__①__
AND GR0,NUM01
LEA GR1,15
SUB GR1,WORK
SLL GR0,0,GR1
__②__
ST GR0,NEWPN,GR2
__③__
LEA GRl,0,GRl
JNZ NEWCL
__④__
CPA GR2,NUMl6
JMI NEWLN
GETLN LD GR2,NEWPN,GR1
LEA GR3,15
SETLN LEA GR4,0,GR2
AND GR4,NUM01
__⑤__
ST GR0,OUTLN,GR3
SRT * GR2,1
__⑥__
JPZ SETLN
OUT OUTLN,NUMl6
__ ⑦__
LEA GR0,-16,GR1
JNZ GETLN
__⑧__
EXIT
OUTLN DS 16
NEWPN DS 16
NUM01 DC 1
WORK DS 1
NUMl6 DC  16
CHRET DC '.X’
OLDPN DC #1040
DC #1040
DC #1048
DC #FDFC
DC #2040
DC #2844
DC #4BFE
DC #7C80
DC #0888
DC #09FC
DC #1C08
DC #E810
DC #4890
DC #0860
DC  #0820
DC #08101
SPSAVE DS 1
END

*老頑童注:此指令有錯,疑為 SRL

 

試題13

閱讀下列程序說明和 C 程序,將應填入程序中__(?)__處的字句,寫在答卷紙的對應欄內(nèi)。

[程序說明]


本程序?qū)⒁粋給定漢字的點陣逆時針旋轉(zhuǎn)90度,并輸出旋轉(zhuǎn)前后的點陣數(shù)據(jù)及字形。

附圖是漢字"轉(zhuǎn)"字的 16×16 點陣字形,用數(shù)字 '0' 表示空白位置,用數(shù)字 '1' 表示非空白位置,“轉(zhuǎn)”字的第一行機即可表示成如下的{0,1}序列:

0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0

如果把它看作一個字的 16 個位,“轉(zhuǎn)”字的第一行可以用 16 進制數(shù)的 1040 來表示.同理,"轉(zhuǎn)"字的第二行可以表示為1040 ,第三行可以表示為 1048,...等等。依次類推,用16個雙字節(jié)整型數(shù)即可存放一個漢字點陣字形。"轉(zhuǎn)"字的點陣數(shù)據(jù)及字形如附圖的左半部分所示.將一個漢字逆時針旋轉(zhuǎn)90度,就是把該漢字點陣的最右列作為旋轉(zhuǎn)后點陣的第一行,次右列作為旋轉(zhuǎn)后點陣的第二行,...,來形成一個旋轉(zhuǎn)后的點陣字形。

附圖的右半部分就是將"轉(zhuǎn)"字旋轉(zhuǎn) 90 度后的點陣數(shù)據(jù)和字形。

程序中,數(shù)組 old 中存放著“轉(zhuǎn)”字的點陣數(shù)據(jù).函數(shù) turnleft 將該點陣數(shù)據(jù)逆時針旋轉(zhuǎn) 90 度,旋轉(zhuǎn)后的點陣數(shù)據(jù)存放在數(shù)組 new 中.函數(shù) display 將旋轉(zhuǎn)前后的點陣數(shù)據(jù)加以編輯,用字符 '.' 表示值為0的位,用字符 'x' 表示值為 1 的 位,從而將旋轉(zhuǎn)前后的點陣按行輸出其 16 進制數(shù)據(jù)及字形,如同圖 13-3 和圖 13-2 所表示的那樣。

1040 ...x.....x...... 0000 .................
1040 ...x.....x...... 0200 ......x.........
1048 ...x.....x..X... 1640 ...x.xx..x......
FDFC xxxxxx.xxxxxxx.. 32E0 ..xx..x.xxx.....
2040 ..x......x...... 1259 ...x..x..x.xx..x
2844 ..x.x....x...x.. 1246 ....x..x...x..xx.
4BFE .x..x.xxxxxxxxx. FE44 xxxxxxx..x...x..
7C80 .xxxxx..x....... 13C8 ...x..xxxx..x...
0888 ....x...x...x... 1240 ...x..x..x......
09FC ....x..xxxxxxx.. 0200 ......x.........
0C08 ...xxx......x... 1120 ...x...x..x.....
E810 xxx.x......x.... 17FF ...x.xxxxxxxxxxx
4890 .x..x...x..x.... F120 xxxx...x..x.....
0860 ....x....xx..... 1D10 ...xxx.x...x....
0820 ....x.....x..... 1318 ...x..xx...xx...
0810 ..,,x.,....x..., 1010 ...x.,,,...x....
圖 13-1 圖 13-2

[程序]

#include <stdio.h>

#define EMPTY '.'

#define NONEMPTY 'X'

#define LEFT 0

#define RIGHT 1

main ()

{ static unsigned old[16]=

{ 0x1040,0x1040,0x1048,0xFDFC,0x2040,0x2844,

0x4BFE,0x7C80,0x0888,0x09FC,0x1C08,0xE810,

0x4890,0x0860,0x0820,0x0810

};

unsigned new[16];

trunleft( old,new );

display( old,new );

}

turnleft( old,new) 

unsigned old[],new[];

{ int row,k;

for ( row=0;row<16;row++ )

for ( k=0, __(1)__ ;k<16;k++ )

new[row]|=(( old[k]>> __(2)__ ) &1) << __(3)__ ;

}

display( old,new )

unsigned *old,*new;

{

char out[2][17],letter[2];

int row,col;

letter[0] = EMPTY;

letter[1] = NONEMPTY;

out[LEFT][16]=out[RIGHT][16]=__(4)__;

for ( row = 0;row<16;row++,old++,new++ )

{ for ( col = 0;col<16;++col )

{ out[LEFT][col] = letter[ ( __(5)__) &1];

out[RIGHT][col] = letter[ (__(6)__) &1];

}

printf("\n %4x %s ",*old,&out[LEFT][0]);

printf(" %4x %s",*new,&out[RIGHT][0]);

}

}

 
                                         答案
 

C語言

試題3

(1)*++pa

(2)*++pa

(3)*pa

(4)return(total)

(5)n<3 || n>MAXNUM

(6)p+n

試題8

(1)*decode()

(2)(num==255)?num:hum-1

(3)CODE *

(4)p→forward

(5)p→forward

(6)p→backward

(7)*s++

試題13

(1)new[row]=0

(2)row

(3)15-k

(4)'\0'

(5)*old>>(15-col)
(6)*new7>>(15-col)

    CASL

    試題2

    (1)SLL GR0,3

    (2)ADD GR0,A

    (3)LEA GR0,5,GR2

    (4)LEA GR2,0

    (5)LEA GR2,1,GR2

    (6)SUB GRO,WORK

    試題7

    (1)LD GR1,HXFFFF

    (2)LEA GR1,1,GR1

    (3)JMI ONEONE

    (4)JZE ENDPGM

    (5)ST GR0,UNPACK,GR2

    (6)EOR GR3,HXFFFF

    (7)ST GRO,UNPACK,GR2

    (8)JPZ LOOP2

    試題12

    (1)SRL GR0,0,GR2

    (2)OR GR0,NEWPN,GR2

    (3)LEA GR3,1,GR3

    (4)LEA GR2,1,GR2

    (5)LD GR0,CHRET,GR4

    (6)LEA GR3,-1,GR3

    (7)LEA GR1,1,GR1

    (8)LD GR4,SPSAVE

    上一頁  [1] [2] 

    轉(zhuǎn)帖于:軟件水平考試_考試吧
    文章搜索  
    看了本文的網(wǎng)友還看了:
    網(wǎng)友評論
    昵 稱: *  評 分: 1分 2分 3分 4分 5分
    標題:   匿名發(fā)表    (共有條評論)查看全部評論>>
    版權(quán)聲明 -------------------------------------------------------------------------------------
      如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系,我們將會及時處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。
    關(guān)于本站  網(wǎng)站聲明  廣告服務  聯(lián)系方式  付款方式  站內(nèi)導航  客服中心  友情鏈接  考試論壇  網(wǎng)站地圖
    Copyright © 2004-2008 考試吧軟件水平考試網(wǎng) All Rights Reserved    
    中國科學院研究生院權(quán)威支持(北京) 電 話:010-62168566 傳 真:010-62192699
    百度大聯(lián)盟黃金認證  十佳網(wǎng)絡教育機構(gòu)  經(jīng)營許可證號:京ICP060677