AP過去問 令和6年度春期 午前 問22
AP過去問 令和6年度春期 午前 問21前の問題へ
AP過去問 令和6年度春期 午前 問23次の問題へ
問22(問題文)
次の方式で画素にメモリを割り当てる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増やす。
ア 3847
イ 7680
ウ 7694
エ 8978
回答・解説
0から数えるのは自分は好きじゃないので、Xは1~640として考えます。でも0から数えるところのつじつまは後でずらすことによって修復します。かるく最初の方の番号について考え方を整理します。1個目(つまりX=0,Y=0ね)は0番地と1番地、2個目は2番地と3番地、3個目は4番地と5番地、4個目は6番地と7番地。1個あたり2個の番地を使うので、この考え方で行くとn個目の番地はn*2-2が番地の最初ということになります。n=1のとき1*2-2=0なので0番地。n=2のとき2*2-2=2なので2番地。n=3のとき3*2-2=4なので4番地、n=4のとき4*2-2=6番地となってn個目の素子の最初の番地を表す式としてn*2-2は正しいことがわかります。
そして、X=7,Y=6の点は単純に何個目にあるかを計算すると、640素子*6列と8個目です。3840と8個目です。3848個目ということですね。あとはさきほど考えた式に当てはめると、3848*2-2=7696-2=7694です。
したがって
ウ 7694
が答えです。
AP過去問 令和6年度春期 午前 問21前の問題へ
AP過去問 令和6年度春期 午前 問23次の問題へ