![見出し画像](https://assets.st-note.com/production/uploads/images/32905629/rectangle_large_type_2_60d793c7db32b847b3c5a710a239d0d7.png?width=1200)
はじめてみよう。プログラミング - 繰り返し - For-In Loops , While。
繰り返しです。プログラミングの真骨頂。勝手に繰り返してくれます。一番めんどくさい、単純作業ですが機械では正確に早くやってくれます。
1. 決まった数の繰り返し、For-In Loops
単純に10回"Hello"を表示します。
for _ in 0...10{
print("Hello")
}
print("Hello")
これを10回繰り返します。for と inの間は"_"を使うことで単純に任意の回数を繰り返すだけとなります。
次に"1"から"10"まで足し算してみます。合計"55"と出ます。for と inの間は"i"とします。
var sum = 0
for i in 1...10{
sum += i
print(sum)
}
"i"には"1...10"となっているので順番に1,2,3,・・10と入っていきます。
ここで"1..<10"とすると順番に1,2,3,・・9となります。
sum += i
sumに順番に足していきます。結果、"55"となります。
少し変形させます。"1...10"の部分を "stride(from: 0, to: minutes, by: minuteInterval)"にしてみます。
let minutes = 30
let minuteInterval = 5
for tickMark in stride(from: 0, to: minutes, by: minuteInterval) {
print(tickMark)
}
0、5、10、15、20、25、と間隔"5"で出力されます。
from: 0
"0"から
to: minutes もしくは through: minutes (上記は"to"を使用)
minutes(今回は"30")まで繰り返す。(注意:"to:"は"30"は含まない。"through:"だと"30"を含む)
by: minuteInterval
"minuteInterval"で、今回は"5"間隔で、実行します。
2. 条件に合致している間繰り返す命令、"while"文
while 条件{
なんらかの処理。
}
となっていて、条件が成立しているときのみ実行します。このときの条件が最初から成立していない場合は実行されません。
例えば
var sum = 10
があります。
while sum > 3{
print("Hello")
sum -= 1
}
とあるとき、まず最初に"sum"が3より大きいか判定します。この場合成立せいているので、以下の処理、"Hello"が出力されます。そして、"sum"から"1"を引きます。"sum"は"9"となります。このように処理を続けて、"sum"が"3"なった時に
sum > 3
が成立しなくなり処理が止まることになります。
whileにはもう一つ書き方があり、
repeat {
なんらかの処理
} while 条件
これは最初使い方
while 条件{
なんらかの処理。
}
が最初に条件の成否を判断するのと違い、
まず、実行してから成否を判定するということです。
var sum = 5
repeat{
print("Hello")
sum -= 1
}while sum > 10
このコードは1回だけ実行されます。
"sum > 10"なので条件には合いませんが最初に実行されるので1回のみ実行されます。
どこで条件判定がされるかで実行する、しないが別れます。