令和6年春期 午前問22

nn1235722さん  
(No.1)
解説の中で座標(7,6)が格納されている番地は先頭から数えて・・

640×縦6+横8=3,848番目と記載されています。
横はわかるのですが縦はy=0からカウントするので7ではないでしょうか?
もし、縦が7であると後述の2(n-1)は成り立ちません。

こちらの問題を一般化すると2(x+640y)ではないかと思いました。

なぜ縦を6とカウントするのか教えてほしいです。
2025.11.28 12:00
こはさん 
(No.2)
令和6年春期 午前問22
https://www.ap-siken.com/kakomon/06_haru/q22.html

縦を7までカウントすると、数え過ぎになるからかなと思います。

目的の画素より手前(上)に6行あります。
なので、640×縦6+横8となりそうです。
2025.11.28 12:31
jjon-comさん 
AP プラチナマイスター
(No.3)
座標(7, 6)自身の位置をn番目とおくから、
座標(7, 6)が格納される位置は先頭から数えて、
 640×縦6+横8=3,848番目

n番目の画素が割り当てられるメモリアドレスの先頭番地は
「(n-1)×2」の式で求めることができます。
という、このサイトの次の解説文のように
座標(7, 6)自身の -1個分 を調整することになります。

それに対して、
座標(7, 6)より前に並んでいる画素数をnとおけば、
座標(7, 6)より前に並んでいる画素数は、
 640×縦6+横7=3,847個

自分より前にn個の画素が並んでいるときのメモリアドレスの先頭番地は
「n×2」の式で求めることができます。
と、より簡単な式にできます。

質問者が挙げた
> こちらの問題を一般化すると2(x+640y)ではないかと思いました。
は、後者の立場(自分より前に並んだ画素に着目)の式になります。


> 縦はy=0からカウントするので7ではないでしょうか?

自分(座標(7, 6))は y=6 の行に位置づけられているので、
自分より前に存在する行数は y=0,1,2,3,4,5 の縦6行分です。
2025.11.28 23:50
nn1235722さん  
(No.4)
ありがとうございました。
理解できました。結局は2(n-1)を変形しているだけですね。
n=x+640yとすると私の一般式とも整合性が取れると思いました。
2025.12.13 09:20

返信投稿用フォーム

※SQL文は全角文字で記載してください。
※宣伝や迷惑行為を防止するため、当サイト、姉妹サイト、IPAサイト以外のURLを含む記事の投稿はできません。

投稿記事削除用フォーム

投稿番号:
パスワード:

その他のスレッド


Pagetop