情報科学概論
期末試験問題
2006.02.06
Back to index page
期末試験に関する注意事項をよく読んでおくこと!
- 初期値 a(0) が1,第1項が2,第 n 項が次式で表され
る数列がある.このとき,第1000項の値および初項から第1000項までの総
和を求め,表示するスクリプトを作
成せよ.
a(0) = 1
a(1) = 2
a(n-1) - a(n-2)
a(n) = -----------------
2
|
解答では途中経過を表示することは決してしないこと.必ず,結果だけを表示するスクリ
プトとすること.
解答例
a = [1, 2]
for i in 2..1000
a[i] = (a[i-1] - a[i-2]) / 2.0
end
sum = 0
for i in 0..1000
sum += a[i]
end
printf "a(1000) = %e\nsum = %f\n", a[1000], sum
|
- 以下に示すような規則的な66個の数の並びを表示するスクリプトを作成せよ.なお,そのスクリ
プトの中には if や unless, case-when などの条件分岐は一切使用しないこと.また,繰り返しの実行回数
はもっとも内側のループで合計66回となるようにすること.
0 0 0 1 1 1 2 2 2 3 3
1 1 1 2 2 2 3 3 3 4 4
2 2 2 3 3 3 4 4 4 5 5
0 0 0 1 1 1 2 2 2 3 3
1 1 1 2 2 2 3 3 3 4 4
2 2 2 3 3 3 4 4 4 5 5
|
解答例
for i in 3..8
for j in 0..10
printf "%3d ", i % 3 + j / 2
end
printf "\n"
end
|
- 10以下の正の整数の乱数を20回発生させる.その乱数一覧とそれらの積を以
下の例のように表示するスクリプトを作成せよ.
乱数一覧:10 6 7 1 5 1 4 7 9 5 6 7 8 10 2 9 3 4 7 3
積:40327580160000
|
解答例
ary = []
pro = 1
printf "乱数一覧:"
for i in 0..19
ary[i] = rand(10) + 1
pro *= ary[i]
printf "%2d ", ary[i]
end
printf "\n 積:%d\n", pro
|
目次ページに戻る