戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

応用情報技術者 2022年 春期 午前2 問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増やす。
応用情報技術者 2022年 春期 午前2 問21の問題画像

選択肢

ア:3847
イ:7680
ウ:7694(正解)
エ:8978

🔒 解説は解答すると表示されます

画素座標からのアドレス計算【午前2解説】

正解の理由

始点 (5, 4) と終点 (9, 8) を結ぶ直線は、x が1増えると y も1増える傾き1の直線で、 です。したがって直線上の x=7 の画素は (7, 6) です。メモリは座標 (0, 0) から x 軸方向に連続して割り当てられ、1行は640画素、1画素は16ビット=2バイトなので、画素 (x, y) の先頭アドレスは
です。(7, 6) を代入すると となり、ウが正解です。

解法ステップ

  1. 直線の式を求める:傾き 、 より 。
  2. x=7 のとき y=6。対象の画素は (7, 6)。
  3. (7, 6) までに割り当てられた画素数: 個(y=0〜5 の6行分と、y=6 の行の x=0〜6 の7画素)。
  4. 1画素は2バイトなので、先頭アドレスは 番地。

選択肢別の誤答解説

  • ア: 3847
    画素の通し番号で、1画素が2バイトであることを考慮していません。
  • イ: 7680
    で、x=7 の分(14バイト)を加えていません。
  • ウ: 7694
    正しいアドレスです。
  • エ: 8978
    で、y と x を取り違えるなど座標を誤った場合の値です。

よくある誤解

  • 画素の通し番号とメモリの番地を混同すること。番地はバイト単位なので、通し番号に1画素当たりのバイト数(2)を掛けます。
  • 1行の画素数を480とすること。x 軸方向(横)が640画素なので、y が1増えるごとに640画素分進みます。

補足コラム

一般に、横 W 画素の画面で1画素 B バイトのとき、画素 (x, y) の先頭アドレスは です。このようにメモリを行単位で連続して割り当てる方式を、行優先(ロウメジャー)の配置といいます。

FAQ

Q. なぜ番地はバイト単位なのですか?
A. 図のメモリは1番地当たり8ビット(1バイト)なので、16ビットの画素は2番地分を使います。

関連キーワード: フレームバッファ、画素、アドレス計算、行優先
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者を
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について