IPA過去問ドリル

平成30年度 秋期 応用情報技術者試験 午前 問20

テクノロジ/ハードウェア

次の方式で画素にメモリを割り当てる640×480のグラフィックLCDモジュールがある。座標(x, y)で始点(5, 4)から終点(9, 8)まで直線を描画するとき,直線上のx=7の画素に割り当てられたメモリのアドレスの先頭は何番地か。 〔方式〕 ・メモリは0番地から昇順に使用する。 ・1画素は16ビットとする。 ・座標(0, 0)から座標(639, 479)まで連続して割り当てる。 ・各画素は,x=0からx軸の方向にメモリを割り当てていく。 ・x=639の次はx=0とし,yを1増やす。

平成30年度 秋期 応用情報技術者試験 午前 問20の図

出典:平成30年度 秋期 応用情報技術者試験 午前 問20

正解:ウ

解説

始点(5,4)から終点(9,8)への直線はx,yともに1ずつ増加するため,x=7のときy=6です。1画素当たり16ビット(2バイト)なので,アドレス=(y×640+x)×2で計算できます。(6×640+7)×2=(3840+7)×2=3847×2=7694番地となります。

選択肢ごとの解説

  • 誤り。3847は(y×640+x)の値そのものであり,1画素2バイトの掛け算を忘れた場合の値です。
  • 誤り。7680は6×640×2=7680で,x=7の分の加算を忘れた場合の値です。
  • 正しい。(6×640+7)×2=7694番地が,x=7の画素に割り当てられたメモリアドレスの先頭です。
  • 誤り。8978は,yの値を7として計算した場合など,直線の対応関係を誤った場合に得られる値です。
応用情報技術者の過去問を演習モードで解く