平成28年 春期 基本情報技術者 午後 問12
問12 CASL次のアセンブラプログラムの説明及びプログラムを読んで,設問1〜4に答えよ。 〔プログラムの説明〕 10,000 m競走に,1チーム 8 名で,9 チーム 72 名が参加し,各チームの合計タイムを競う。 プログラム RACE は,個人別のタイムを所属するチーム番号とともに入力し, チーム別合計タイムを求め,チーム別合計タイムの昇順に,チーム番号とそのチームの 1名当たりの平均タイムを出力する。 (1) 個人ごとの入力データ及びチームごとの出力データの形式は図1のとおりとする。 ここで,60 分以上のデータはないものとする。
図1 入出力データの形式 (2) プログラム RACE の入力データと出力結果の例を図2に示す。
図2 入力データと出力結果の例 (3) データの入力処理と出力処理は,それぞれ副プログラム INPUT と OUTPUT を呼び出して行う。
(4) 副プログラム INPUT は,呼ばれるごとに図1に示す形式の個人のデータを1件読み込む。
読み込んだデータのチーム番号及び秒数に変換したタイムを2進数で,
それぞれ GR1 と GR2 に設定し,GRØ には正の値を設定して,呼出し元に返す。
(5) 副プログラム OUTPUT は,GR1 と GR2 のそれぞれに2進数で設定されたチーム番号と 平均タイム(1秒未満を切り捨てた秒数)を,図1に示す形式に変換して書き出す。 〔プログラム1〕 RACE START LOOP11 CALL INPUT LD GRØ,GRØ JMI IEND ADDA GR2,TOTAL,GR1 ; タイム ST GR2,TOTAL,GR1 JUMP LOOP11 IEND LD GR3,=9 LD GRØ,=#7FFF ; 最大値 LOOP12 LD GR2,GRØ LD GR4,=9 LOOP13 CPA GR2,TOTAL,GR4 JPL CHANGE JUMP NEXT CHANGE LD GR2,TOTAL,GR4 ; GR2←新たなタイムの最小値 LD GR1,GR4 ; GR1←そのチーム番号 NEXT SUBA GR4,=1 SRL GR2,3 ; 平均タイム CALL OUTPUT ST GRØ,TOTAL,GR1 ; 処理済みとして最大値を設定 SUBA GR3,=1 RET TOTAL DC Ø,Ø,Ø,Ø,Ø,Ø,Ø,Ø,Ø,Ø ; (チーム数+1) 個の領域 END
解答群 オ JUMP LOOP12 カ JUMP LOOP13 キ JZE LOOP12 ク JZE LOOP13
同じ合計タイムのチームが複数ある場合, 。 解答群 イ チーム番号の降順に出力される ウ どのチームが先に出力されるかは時々で異なる
〔プログラム2〕 (行番号) 1 OUTPUT START 2 RPUSH 3 OR GR1,=#ØØ3Ø 4 ST GR1,TEAM 5 LAD GR3,TIME 6 LD GR4,=Ø 7 LD GR5,=3 ; ループ回数 8 LOOP21 LD GR6,DIVISOR,GR4 ; GR6 ← 除数 9 LD GR7,=Ø ; GR7 ← 商 1Ø LOOP22 CPA GR2,GR6 11 JMI SETTIME 12 SUBA GR2,GR6 13 ADDA GR7,=1 14 15 SETTIME OR GR7,=#ØØ3Ø 16 ST GR7,Ø,GR3 17 ADDA GR4,=1 18 ADDA GR3,=1 19 SUBA GR5,=1 2Ø 21 OR GR2,=#ØØ3Ø 22 ST GR2,Ø,GR3 23 OUT TERM,LEN 24 RPOP 25 RET 26 TEAM DS 1 27 DC ' ' 28 TIME DS 4 29 LEN DC 6 3Ø DIVISOR DC 6ØØ,6Ø,1Ø 31 END d に関する解答群 オ JUMP LOOP22 カ JZE LOOP22 e に関する解答群 オ JZE LOOP21 カ JZE LOOP22
出力されたデータが次のとき,プログラム2の行番号 12 の SUBA 命令は 回実行された。
解答群
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| ||||||||