20. 問題 4-2 解答例1
# multiple.rb
for i in 1 .. 20
puts i * 5
end
21. 問題 4-2 解答例2
# multiple.rb
for i in 1 .. 100 # 1から100まで全ての整数
if i % 5 == 0 # 5の倍数かチェック
puts i
end
end
22. 和を計算する
1 # sumsquare.rb
2 n = ARGV[0].to_i
3 sum = 0
4 for i in 1 .. n
5 sum += i
6 end
7 puts sum
繰り返し処理は数の和を計算する時によく使われます
1からある数まで足し合わせるプログラムを見てみましょう
23. 和を計算する
1 # sumsquare.rb
2 n = ARGV[0].to_i
3 sum = 0
4 for i in 1 .. n
5 sum += i
6 end
7 puts sum
範囲オブジェクトの終値をコマンドラインから取得(2行目)
数を足し合わせていくための変数を用意(3行目)
(最初は0を代入しておく)
24. 和を計算する
1 # sumsquare.rb
2 n = ARGV[0].to_i
3 sum = 0
4 for i in 1 .. n
5 sum += i
6 end
7 puts sum
あとは 1からn までの範囲で for ループにより
sum += i
の計算を繰り返す(4~6行目)
25. 和を計算する
1 # sumsquare.rb
2 n = ARGV[0].to_i
3 sum = 0
4 for i in 1 .. n
5 sum += i
6 end
7 puts sum
足し合わされた合計値を出力(7行目)
27. 問題 4-3 解答例
# odd_sum.rb
n = ARGV[0].to_i
sum = 0
for i in 1 .. n
sum += 2 * i - 1
end
puts sum
28. for の二重ループ
1 # 9x9.rb
2 for i in 1 .. 9
3 for j in 1 .. 9
4 print “#{i * j} “
5 end
6 puts
7 end
forループの中に別のforループを使っている例
九九の計算をする場合について考えてみましょう
29. for の二重ループ
1 # 9x9.rb 第1ループ
2 for i in 1 .. 9 第2ループ
3 for j in 1 .. 9
4 print “#{i * j} “
5 end
6 puts
7 end
第1ループはループ変数が i
第2ループはループ変数が j
30. for の二重ループ
1 # 9x9.rb
2 for i in 1 .. 9 #i=1
3 for j in 1 .. 9
4 print “#{i * j} “
5 end
6 puts
7 end
i = 1 に対して 1×1, 1×2, ..., 1×9と順に計算され
(3~5行目)、次の段に行く前に改行(6行目)