LESSON 13 ・ ループ
ループ
繰り返して書く問題
print(0)
print(1)
print(2)
// ...
print(9999)
0から9999までの数字を順番に出力することを考えます。print(0)からprint(9999)まで書けばもちろんできますが、10000行のコードになってしまい大変です。
var a = 0
print(a)
a += 1
print(a)
a += 1
print(a)
// ...
変数を使って書けばprint(a)とa += 1のコピー&ペーストで書くことができますが、それでも大変です。
whileで繰り返す
var a = 0
while a < 10000 {
print(a)
a += 1
}
同じ処理を繰り返すにはwhileを使います。whileはifに似ていますが、ブロックの実行が終わるともう一度a < 10000の条件がチェックされます。そして、もし条件が正しければ、もう一度whileのブロックが実行されます。このようにして、条件が正しい間は処理が繰り返されます。
このような繰り返しをループ(loop)と言います。
PRACTICE
演習問題
コードを自分で書いて実行してから、答えと解説を確認しましょう。
問題1
whileを使って、0から4までの数字を順番に表示してください。
答えと解説を見る
模範解答
var a = 0
while a < 5 {
print(a)
a += 1
}
aを0から始め、表示するたびに1増やします。aが5になると条件が偽になり、ループが終わります。
問題2
whileを使って、5から1までの数字を順番に表示してください。
答えと解説を見る
模範解答
var a = 5
while a > 0 {
print(a)
a = a - 1
}
今回はループ変数を1ずつ減らします。aが0になるとa > 0が偽になり、ループが終わります。
問題3
whileを使って、1から10までの整数の合計を求め、最後に合計だけを表示してください。
答えと解説を見る
模範解答
var number = 1
var total = 0
while number < 11 {
total += number
number += 1
}
print(total)
numberを1ずつ増やしながら、その値をtotalに足します。ループが終わるとtotalは55になります。