本文へ移動

基本情報技術者試験 · 学習ガイド

2010年度 秋期 午後の問題・解答解説

旧制度の午前・午後と、2023年度以降の科目A・科目Bの公開問題を区別しています。現在の試験対策では現行シラバスと科目Bの形式を確認してください。公開問題は本試験の全出題を網羅する資料ではありません。

2010年度 秋期 午後の概要
30:00

問題番号から選ぶ

温度モニタのシステム制御と表示処理

ハードウェア · 7セグメントLED / 入出力ポート制御 / A/D変換 / BCDコード

温度モニタシステムのハードウェア構成と制御プログラムに関する記述を読み、設問1〜3に答えよ。 〔システムの概要〕 温度の検出範囲は0〜99℃で、対応するA/D変換器の出力値は0〜99の16ビット符号なし2進数である。60秒間隔のタイマ割込みによって割込みプログラムが起動され、A/D変換器を介して温度データを取り込み、2個の7セグメントLEDからなる表示器に10進数2桁(00〜99)で表示する。LEDの各セグメントは出力ポートのビット値が1のとき点灯し、0のとき消灯する。 〔ポートの動作仕様〕 ・ポート1:形状データを書き込むと、LEDの各セグメントの点灯・消灯が行われる。 ・ポート2:値1を書き込むとA/D変換が開始される。読み込んだ値が0ならば変換中を示し、0以外ならば変換が完了して出力値が確定していることを示す。 ・ポート3:A/D変換完了後に読み込むと、A/D変換器の出力値(0〜99)が得られる。 〔設問1〕 下位けたの7セグメントLEDに数字“5”を表示したい。図1の配線(ビット7:上横, ビット6:右上縦, ビット5:右下縦, ビット4:下横, ビット3:左下縦, ビット2:左上縦, ビット1:中央横, ビット0:DP)に従い、出力ポートのビット7〜0に設定すべき形状データ(16進数)として正しいものを群から選べ。 〔設問2〕 タイマ割込み処理の流れ(図3)における空欄 a , b に入れる正しい命令の組合せを群から選べ。 〔設問3〕 手続 DISPLAY の仕様および実行例において、出力ポートに書き込むGRの内容(図5)が16進数表記で FEFC であったとき、BCD値を格納していた図4のGRの内容 c 、および割込みプログラムから DISPLAY に渡されたGRの内容 d (16進数表記)をそれぞれ選べ。

設問1 ア
66
設問1 イ
B6
設問1 ウ
BE
設問1 エ
DA
設問1 オ
F2
設問2 ア
INPUT 1
設問2 イ
INPUT 2
設問2 ウ
OUTPUT 1
設問2 エ
OUTPUT 2
設問2 オ
OUTPUT 3
設問3 c ア
0008
設問3 c イ
0309
設問3 c ウ
0800
設問3 c エ
0903
設問3 c オ
0907
設問3 d ア
0008
設問3 d イ
0027
設問3 d ウ
0050
設問3 d エ
005D
設問3 d オ
0061
解答・解説を表示

解答

設問1: イ, 設問2 a: エ, 設問2 b: イ, 設問3 c: ウ, 設問3 d: ウ

解説

まず要点:7セグメントLED(数字を出すための7本の光る棒)の制御では、どの棒が何番目のビットに対応するかを図どおり正しく読み取ることが基本です。入出力の命令(INPUT/OUTPUT)は、ポート番号ごとの役割と正しく組み合わせます。また数値は、ふつうの2進数、2進化10進数(BCD。各けたを4ビットで表す方式)、セグメントの点灯パターン(形状データ)の3つを区別して考えます。

解き方

  1. 設問1:数字5に必要なセグメント(上・左上・中央・右下・下)を確かめ、図1の配線からビット7・5・4・2・1を1、残りを0として1011 0110を作り、16進数のB6を求めます。
  2. 設問2:表1と表2から、A/D変換の開始はポート2への書き込み(OUTPUT 2)、変換中かどうかの確認はポート2からの読み込み(INPUT 2)だと特定します。
  3. 設問3:形状データFEFCを上のFEと下のFCに分け、点灯パターンから表示温度が80℃だと特定し、BCDの0800と、10進数80を16進数にした0050を求めます。

小問ごとの答え

小問 設問1:イ
図1の回路配線をたどると、ビット7=上横、ビット6=右上縦、ビット5=右下縦、ビット4=下横、ビット3=左下縦、ビット2=左上縦、ビット1=中央横、ビット0=DP(小数点)に接続されています。数字“5”を表示するには、上横(ビット7)、右下縦(ビット5)、下横(ビット4)、左上縦(ビット2)、中央横(ビット1)を点灯(1)させ、右上縦(ビット6)、左下縦(ビット3)、DP(ビット0)を消灯(0)させます。したがって、ビット7〜0の並びは「1011 0110」の2進数となり、これを16進数に変換すると「B6」となります。
小問 設問2 a:エ
表1より、番号2のI/Oポートに値1を書き込むことでA/D変換が開始されます。直前の処理でレジスタGRに1が設定(GR←1)されているため、GRの値をポート2へ書き込む命令である「OUTPUT 2」が入ります。
小問 設問2 b:イ
表1より、ポート2から読み込んだ値が0ならば変換中、0以外ならば変換完了を示します。図3の判定ブロックでは「GR = 0」でYes(変換中ループ)に進む仕様となっているため、ポート2の状態をレジスタGRに読み込む命令である「INPUT 2」が入ります。
小問 設問3 c:ウ
出力ポートに書き込むGRの内容が16進数「FEFC」の場合、上位8ビットは「FE」、下位8ビットは「FC」です。配線仕様より、FE(1111 1110_2)はDP(ビット0)のみ消灯で全セグメント点灯となるため数字「8」を表し、FC(1111 1100_2)は中央横(ビット1)とDP(ビット0)が消灯となるため数字「0」を表します。したがって検出温度は80℃です。図4のBCD形式は、ビット11〜8に上位けたのBCD(8=1000_2)、ビット3〜0に下位けたのBCD(0=0000_2)、ビット15〜12および7〜4に0000_2を格納するため、16進数表記では「0800」となります。
小問 設問3 d:ウ
手続DISPLAYに渡されるGRの内容は、検出された温度(0〜99℃)をそのまま表す16ビット符号なし2進数です。表示される温度が80℃であるため、10進数80を16進数に変換すると、80 = 5 × 16 + 0 より「0050」となります。

覚えるポイント

  • 7セグメントLEDは配線図を見てどのビットがどのセグメントに対応しているか1本ずつ追跡すること
  • A/D変換器制御では開始トリガ(出力)と完了ポーリング(入力)の区別が必須
  • BCDは10進数の各桁を4ビットの2進数で表現する形式である

間違えやすいところ

  • 問題の図1に書かれた配線どおりに読み、一般的なa〜gの配置を勝手に決めつけないこと。
  • 状態を読むINPUTと、制御を書き込むOUTPUTを取り違えないこと。
  • BCDの0800と、ふつうの2進数の16進表記0050を混同しないこと。

出題の前提:平成22年度秋期基本情報技術者試験午後問題 問1

出典:IPA『2010年度 秋期 午後』
公式問題冊子 p.5 ↗(www.ipa.go.jp) / 公式問題冊子 p.6 ↗(www.ipa.go.jp) / 公式問題冊子 p.7 ↗(www.ipa.go.jp) / 公式問題冊子 p.8 ↗(www.ipa.go.jp)

2010年度 秋期 午後

参照した公式資料

IPAが公開した2010年度 秋期 午後の問題・解答資料です。