問題

問8 次のプログラムの説明及びプログラムを読んで,設問に答えよ。
※共通に使用される擬似言語の記述形式

〔プログラムの説明〕
 64(8×8)画素からなる表示領域がある。この表示領域中の一つの画素を指定して,その画素を含む同じ色の領域を,指定した色で塗り替えるプログラムである。

 ある一つの画素について,その画素の上下左右の4方向に隣接した画素の中に同じ色のものがあれば,それらの画素は同じ色の領域内にあるものと判定する。このようにして領域内にあると判定された隣接する各画素について,同様の判定を繰り返し,指定した色で塗り替えていく。

(1)大きさ10×10の2次元配列Image(各添字の範囲は0~9)を用意する。各画素の色は,配列Imageの一部(各添字の範囲は1~8)に保持する。
(2)色は,黒,灰,白の 3色で,それぞれを値1,2,3で表す。
(3)塗り替えたい領域中の開始点を示す一つの画素を,変数VSとHSで指定する。VSとHSは,その画素に対応する配列Imageの要素の縦と横方向の添字である。
(4)塗り替えたい色を,変数NCで指定する。
(5)プログラムは,Image[VS, HS]から現在の画素の色を取得し,その画素を含む同じ色の領域を,色NCで塗り替える。
(6)大域変数 Image,NC,VS,HSには,正しい値が設定されているものとする。
(7)配列VPos,HPosの添字は,1から始まる。
(8)図1は,VS=5,HS=3として,Image[5,3]を塗り替えたい領域内の開始点に指定し,NC=1として,塗り替える色を黒に指定した場合の,プログラムの実行例である。