平成14年 秋期 基本情報技術者 午後 問13
問13 CASL設問1〜5に答えよ。 〔プログラムの説明〕 除算を行う副プログラム DIVIDE である。 (1) GR1 に被除数,GR2 に除数が格納されて,主プログラムから渡される。 被除数,除数ともに符号なしの正の整数( 1 〜 32767 )とする。 (2) 副プログラム DIVIDE は,GR3 に商,GR0 に剰余を設定して,主プログラムに戻る。 (3) 副プログラム DIVIDE の実行において,GR1 の内容は保存されない。
〔プログラム〕 (行番号) 1 DIVIDE START 2 LAD GR3,0 3 L1 CPL GR1,GR2 4 JMI FIN 5 6 LAD GR3,1,GR3 7 JUMP L1 8 FIN LD GR0,GR1 9 RET 10 END 設問1 プログラム中の に入れる正しい答えを, 解答群の中から選べ。 解答群 ア ADDL GR1,GR2 イ ADDL GR2,GR3 ウ SLL GR1,0,GR3 エ SLL GR2,0,GR3 オ SUBL GR1,GR2 カ SUBL GR2,GR3 設問2 GR1 に 32,GR2 に 1 を格納して主プログラムから呼び出したとき, 行番号3の命令を実行する回数として正しい答えを,解答群の中から選べ。 解答群 ア 30 イ 31 ウ 32 エ 33 オ 34 設問3 元のプログラムと異なるアルゴリズムによって除算を行う副プログラム DIVIDE2 を, 新たに作成した。 プログラム中の に入れる正しい答えを, 解答群の中から選べ。このプログラムの動作は,次のとおりである。 (1) 除数を倍々にしてゆき,被除数以下で最大の値 m(除数×2n)を求め, このときの 2n を商に加える。 (2) 被除数から m を引いたものを新しい被除数とする。 (3) 新しい被除数 < 除数となるまで (1),(2) を繰り返す。 繰返しが終了したときの被除数が,剰余となる。 ここで,副プログラム DIVIDE2 の実行において,GR1,GR4 及び GR5 の内容は保存されない。
(行番号) 1 DIVIDE2 START 2 LAD GR3,0 3 L1 LAD GR5,1 4 5 L2 CPL GR1,GR4 ; 被除数 <(除数×2n)? 6 JMI ADJ 7 SLL GR5,1 ; GR5 ← 2n 8 SLL GR4,1 ; GR4 ← 除数×2n 9 JUMP L2 10 ADJ SRL GR5,1 11 JZE FIN 12 SRL GR4,1 ; GR4 ← m 13 ADDL GR3,GR5 14 ; 新しい被除数を設定 15 JUMP L1 16 FIN LD GR0,GR1 17 RET 18 END a に関する解答群 ア LD GR2,GR4 イ LD GR4,GR2 ウ SLL GR1,0,GR4 エ SUBL GR1,GR2 オ SUBL GR1,GR4 b に関する解答群 ア LD GR1,GR4 イ LD GR4,GR1 ウ SLL GR1,0,GR4 エ SUBL GR1,GR2 オ SUBL GR1,GR4
設問4 設問3の DIVIDE2 を,GR1に32,GR2 に1を 格納して主プログラムから呼び出したとき,行番号 10 の命令を最初に実行する直前の GR4 の値として正しい答えを,解答群の中から選べ。
解答群 ア 16 イ 32 ウ 48 エ 64 オ 128 設問5 GR1 に 32,GR2 に1を格納して主プログラムから呼び出したとき, 元のプログラム DIVIDE と設問3の DIVIDE2 の実行される命令数の差に最も近い値を, 解答群の中から選べ。
解答群 ア 70 イ 85 ウ 100 エ 115 オ 130
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
|