![]()
平成15年 春期 基本情報技術者 午後 問06
問06 C言語次のCプログラムの説明及びプログラムを読んで,設問1,2に答えよ。 〔プログラムの説明〕 (1) 2次元配列を利用して,規則性のある図形を生成するプログラムである。 このプログラムでは,表の行0に示した初期値から, 図に示すフラクタル図形(シェルピンスキーのギャスケットと呼ばれる)を出力する。 ここでは,配列の行数及び列数は33としている。
表 生成される状態値
(2) 2次元配列 s には,状態を示す値(0又は1)が格納される。 上の表に示すように,行0に格納されている初期値から,次の規則によって, 行1以降の行の状態値を生成する。 @ i 行 j 列の状態値を s[i][j] で表す。 A 列0の値はすべて0である。 B s[i+1][j] の値(j≧1)は,s[i][j-1] 及び s[i][j] の状態値を基にして, 次の表に従って生成する。
(3) 2次元配列 s の列0及び行 32 の値は,出力の対象としない。 〔プログラム〕 #include <stdio.h> #define ALIVE 1 #define DEAD 0 #define SZ 33 int stschk( int, int ); main() { int s[SZ][SZ], i, j; for ( i=0; i<SZ; i++ ) s[i][0] = DEAD; for ( j=2; j<SZ; j++ ) s[0][j] = DEAD; s[0][1] = ALIVE; for ( i=0; i<SZ-1; i++ ) { for ( j=1; j<SZ; j++ ) { 設問1
プログラム中の
解答群 ア s[i-1][j-1] イ s[i-1][j] ウ s[i-1][j+1] エ s[i][j-1] オ s[i][j] カ s[i][j+1] キ s[i+1][j-1] ク s[i+1][j] ケ s[i+1][j+1]
設問2 関数 stschk の if 文を変更したところ,次のような図形を出力した。 この結果になる if 文を解答群の中から選べ。
解答群 ア if (( s1==ALIVE ) || ( s2==ALIVE )) return ALIVE;
else return DEAD; イ if (( s1==ALIVE ) && ( s2==ALIVE )) return ALIVE;
else return DEAD; ウ if (( s1==DEAD ) || ( s2==DEAD )) return DEAD;
else return ALIVE; エ if ((( s1==ALIVE )&&( s2==DEAD ))||
(( s1==DEAD )&&( s2==ALIVE ))) return ALIVE;
else return DEAD;
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| |||||||||||||||||