情報科学概論
Aクラス 小テスト 2006.01.23

Back


以下の設問の解答は所定の解答用紙に記入 して添付書類として提出して下さい.その際に,ファイル名 を必ず自分にあったものに変更することと学生番号と氏名を記入すること を忘れないようにして下さい.

提出は合図があるまで勝手にしないこと!指示に従って 作業を行うこと.

設問

次に示す多重の配列の全ての要素の和を求めるスクリプトを繰り返しを利用して 作成せよ.flatten というメソッドをオブジェクトに作用させると,多重配列を ばらして単純な配列に変更するので,それを使用する.また,繰り返しの回数は,要素の数を返すメソッドである size を, 今日の授業の中で示したように利用して決めることが可能である.

array = [2, 3, 5, [3, 6, 8], [4, 7, [5, 1, 5]], [1, 5, 9], 2, 4, [8, 9, 1], 4, 6, 9, [5, 3, 1, 2, 7], 7, 8, [6, [3, 5, 8, [9, 3], 4], 4, 2], 8, 4, 2, 5]

上記の配列の和だけを求めるスクリプトではなく,一般的な多重配列なら何でも 求められるようなスクリプトとすること.


解答例

array = [2, 3, 5, [3, 6, 8], [4, 7, [5, 1, 5]], [1, 5, 9], 2, 4, [8, 9, 1], 4, 6, 9, [5, 3, 1, 2, 7], 7, 8, [6, [3, 5, 8, [9, 3], 4], 4, 2], 8, 4, 2, 5]

sum = 0

ary = array.flatten

for i in 0..ary.size-1
  sum += ary[i]
end

printf "Sum of all element in array is %d.\n", sum


情報科学概論
Bクラス 小テスト 2006.01.23


以下の設問の解答は所定の解答用紙に記入 して添付書類として提出して下さい.その際に,ファイル名 を必ず自分にあったものに変更することと学生番号と氏名を記入すること を忘れないようにして下さい.

提出は合図があるまで勝手にしないこと!指示に従って 作業を行うこと.

設問

次に示す多重の配列の全ての要素の和を求めるスクリプトを繰り返しを利用して 作成せよ.flatten というメソッドをオブジェクトに作用させると,多重配列を ばらして単純な配列に変更するので,それを使用する.また,繰り返しの回数は,要素の数を返すメソッドである size を, 今日の授業の中で示したように利用して決めることが可能である.

array = [2, 3, 8, [3, 6, 7], [4, 7, [5, 1, 8]], [1, 8, 9], 2, 4, [7, 9, 1], 4, 6, 9, [5, 3, 1, 2, 7], 7, 7, [6, [3, 8, 7, [9, 3], 4], 4, 2], 7, 4, 2, 5]

上記の配列の和だけを求めるスクリプトではなく,一般的な多重配列なら何でも 求められるようなスクリプトとすること.


解答例

array = [2, 3, 8, [3, 6, 7], [4, 7, [5, 1, 8]], [1, 8, 9], 2, 4, [7, 9, 1], 4, 6, 9, [5, 3, 1, 2, 7], 7, 7, [6, [3, 8, 7, [9, 3], 4], 4, 2], 7, 4, 2, 5]

sum = 0

ary = array.flatten

for i in 0..ary.size-1
  sum += ary[i]
end

printf "Sum of all element in array is %d.\n", sum


Back