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

選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ウ
図では、x方向へ画素を並べ、右端まで進むと次のy座標の左端へ移ります。また、始点(5、4)から終点(9、8)までの黒い画素は、xとyがそれぞれ1ずつ増える直線上にあります。傾きは(8-4)÷(9-5)=1なので、x=7のとき、y=4+(7-5)×1=6です。したがって、求める画素は(7、6)です。
この画素より前には、6行分の画素と同じ行の7画素があるので、先頭から数えた画素番号は、6×640+7=3,847です。図のメモリは1番地が8ビットであり、1画素は16ビット、すなわち2番地を使用します。よって、先頭アドレスは3,847×2=7,694番地となり、ウが正解です。
アの3,847は誤りです。これは画素を先頭から数えた通し番号であり、バイト単位のメモリアドレスに変換していません。
イの7,680は誤りです。これはy=6の行の先頭、すなわち(0、6)の画素の先頭アドレスです。
エの8,978は誤りです。これは{7×640+9}×2で求められる(9、7)の画素の先頭アドレスです。
【ポイント】 行方向に連続して配置する場合、画素(x、y)の通し番号は「y×横幅+x」です。 先頭アドレスは、これに1画素当たりのバイト数を掛けて求めます。ビット数を8で割り、バイト数へ直すことを忘れないでください。
出典:令和4年度 春期 応用情報技術者試験 午前 問21
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の80問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる