平成30年度秋期 問20 / 80

平成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増やす。

問題の図

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:ウ

始点(5, 4)から終点(9, 8)までの直線は,xが1増えるとyも1増える直線なので,x = 7 の画素は座標(7, 6)です。
1画素は16ビット = 2バイトで,メモリは1番地当たり8ビットなので,1画素に2番地を使います。
座標(7, 6)より前にある画素数は 6 × 640 + 7 = 3,847 個なので,先頭アドレスは 3,847 × 2 = 7,694 番地です。

  • ア: 3847番地
    誤り。座標(7, 6)が先頭から何番目の画素か(3,847番目)を求めた値です。1画素は2番地分なので2倍する必要があります。

  • イ: 7680番地
    誤り。y = 6 の行の先頭(座標(0, 6))のアドレス 6 × 640 × 2 = 7,680 番地です。x = 7 の分が加算されていません。

  • ウ: 7694番地
    正しい。座標(7, 6)の画素は (6 × 640 + 7) × 2 = 7,694 番地から割り当てられています。

  • エ: 8978番地
    誤り。(7 × 640 + 9) × 2 = 8,978 であり,座標(9, 7)のアドレスにあたります。x = 7 の画素(7, 6)のアドレスではありません。


答え

ウ: 7694番地

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

平成30年度秋期の他の問題