基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成16年 春期 基本情報技術者 午後 問13
問13   CASL

設問1 ,2に答えよ。

〔プログラムの説明〕

10 進数の文字列を,編集して出力する副プログラム EDOUT である。

(1) 主プログラムは,GR1 にパラメタの先頭番地を格納して EDOUT を呼び出す。 パラメタの内容は,次のとおりである。

(2) 文字列は,“0”〜“9”の数字だけからなる。

(3) 文字列中の各文字は,連続する語の下位 8 ビットに格納され, 上位 8 ビットにはすべて 0 が格納されている。

(4) EDOUT は文字列に対して次の編集を行い,18 語の連続する領域 OUTB に右詰めで格納する。

 @ 文字列の右端から3文字ごとに,“,”を挿入する。

 A @ の結果を,1 文字ずつ OUTB の各語の下位 8 ビットに格納する (上位 8 ビットには,すべて 0 を格納する)。

 B @ の結果が 18 文字未満の場合,OUTB の残りの語には,間隔文字を格納する。

 C @ の結果が 19 文字以上の場合は,右から 18 文字分だけを格納する。

(5) 副プログラムから戻るとき,GR1 〜 GR7 の内容は元に戻す。

〔プログラム〕

(行番号)
 1 EDOUT START
 2       RPUSH
 3        LD     GR0,0,GR1    ; 先頭の数字のアドレスを GR0 へ
 4        ST     GR0,ADDRS
 5        LD     GR1,1,GR1    ; 文字列の長さを GR1 へ
 6        ADDL   GR1,ADDRS
 7        LAD    GR1,-1,GR1   ; 最後の数字のアドレス
 8        LD     GR2,OUTLNG   ; 出力領域の添字
 9        LAD    GR3,3        ; 位取りカウンタ初期化
10 LOOP   SUBA   GR2,=1       ; 出力領域の最後か?
11        
12        CPL    GR1,ADDRS    ; 先頭の数字か?
13        JMI    SPACIN
14        SUBA   GR3,=1       ; 位取りの判断
15        
16        LD     GR0,0,GR1
17        LAD    GR1,-1,GR1
18        JUMP   MOVCHR
19 RANK   
20        LAD    GR3,3        ; 位取りカウンタ再初期化
21        JUMP   MOVCHR
22 SPACIN LD     GR0,SPACE
23 MOVCHR 
24        JUMP   LOOP
25 OUTPUT OUT    OUTB,OUTLNG
26        RPOP
27        RET
28 OUTB   DS     18
29 ADDRS DS     1
30 COMMA DC     ','
31 SPACE DC     ' '
32 OUTLNG DC     18
33        END

基本情報技術者試験


設問1 プログラム中の に入れる正しい答えを,解答群の中から選べ。

a,b に関する解答群

ア JMI  MOVCHR    イ JMI  OUTPUT    ウ JMI  RANK

エ JNZ  MOVCHR    オ JNZ  OUTPUT    カ JNZ  RANK

キ JZE  MOVCHR    ク JZE  OUTPUT    ケ JZE  RANK

c,d に関する解答群

ア LAD  GR0,0,GR1      イ LD   GR0,COMMA

ウ LD   GR0,SPACE      エ ST   GR0,OUTB,GR1

オ ST   GR0,OUTB,GR2    カ ST   GR1,OUTLNG

キ ST   GR2,OUTLNG

解答 a ←クリックすると正解が表示されます

解答 b ←クリックすると正解が表示されます

解答 c ←クリックすると正解が表示されます

解答 d ←クリックすると正解が表示されます

基本情報技術者試験


設問2 次の記述中の に入れる正しい答えを,解答群の中から選べ。

入力文字列を“ 1 2 3 4 5 6 7 8 9 0 ”とし,プログラムの行番号 16 の命令を 実行する直前の GR1 が指すメモリの内容が“6”のとき,GR0 の値は , GR2 の値は ,GR3 の値は である。

e に関する解答群

ア #0030    イ #0031    ウ #0032    エ #0033    オ #0034

カ #0035    キ #0036    ク #0037    ケ #0038    コ #0039

f に関する解答群

ア #0009    イ #000A    ウ #000B    エ #000C    オ #000D

カ #000E    キ #000F    ク #0010    ケ #0011    コ #0012

g に関する解答群

ア #0000    イ #0001    ウ #0002    エ #0003    オ #FFFF

解答 e ←クリックすると正解が表示されます

解答 f ←クリックすると正解が表示されます

解答 g ←クリックすると正解が表示されます


[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]