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

テクノロジ系・一部改変

ア 3847

なぜ違う: 画素番号そのもので、1画素2バイトを掛けていない。

イ 7680

なぜ違う: x(=7)の加算を落とした値(6×640×2)。

ウ 7694
エ 8978

なぜ違う: yの値などを取り違えた値。

正解: ウ

要点: 直線は y=x−1。x=7→y=6。画素番号(6×640+7)=3847、×2バイト=7694番地。

始点(5,4)・終点(9,8)を結ぶ直線は傾き1で y=x−1。x=7 のとき y=6。画素は y×640+x の順に並ぶので、(7,6) の画素番号は 6×640+7=3847。1画素=2バイトなので先頭アドレスは 3847×2=7694 番地。

関連キーワード: グラフィックメモリ・アドレス計算・直線描画・計算

同じ回の前後の問題

テクノロジ系の他の問題

アプリで弱点分析つきの演習ができます

App Store

応用情報技術者の学習アプリ(応用情報トレ)

出典:令和6年度 春期 応用情報技術者試験 午前 問22