カコモンノート

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

20 / 80問
平成30年度 秋期2018年

次の方式で画素にメモリを割り当てる640×480のグラフィックLCDモジュールがある。座標(x,y)で始点(5,4)から終点(9,8)まで直線を描画するとき,直線上のx=7の画素に割り当てられたメモリのアドレスの先頭は何番地か。

この問題の図
問題に添えられた図。出典は下に書いています。

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 3

解説

正解は3。始点(5,4)から終点(9,8)の直線は、xが1増えるとyも1増える。x=7ならy=4+(7−5)=6で、画素は(7,6)。
メモリは(0,0)からx方向に順に割り当て、1行は640画素。(7,6)は先頭から数えて
6×640+7=3,847番目(0から数えた番号)
の画素になる。1画素16ビット=2バイトで、1番地は8ビットなので、先頭アドレスは
3,847×2=7,694番地。

  • 1の3,847は画素の番号で、1画素が2番地分を使うことを掛けていない。
  • 2の7,680は6×640×2で、行の先頭(x=0)のアドレス。xの7画素分が足りない。
  • 4の8,978は(7×640+9)×2で、画素(9,7)の先頭アドレス。直線上の点ではない。

根拠:グラフィックメモリ(フレームバッファ)のアドレス計算。

KEY POINT
画素のアドレスは(y×1行の画素数+x)×1画素のバイト数。1番地が8ビットか確かめて掛ける。
出典:平成30年度 秋期 応用情報技術者試験 午前 問20(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。元の問題冊子から文字を起こす都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。