while文のお勉強
if文に引き続き、while文のお勉強。helpを見ると、whileの使い方は、
WHILEステートメントの一般的な書式は、つぎのようになります。
WHILE expression
statements
END
・・・・わかんねぇよ!!さっそくいつものサイトでお勉強。
第1問、How many times will this loop print 'Hello World'?
n = 10;
while n > 0
disp('Hello World')
n = n - 1;
end
nは10.nが10より大きかったら、Hello Worldを表示!for文はある決まった回数のみ繰り返し、while文は条件を満たすまでループする。(らしいよ)
n=n-1はどうやら1づつ減らすらしい。n=10だから、10,9,8,・・・1と。だから10回!
正解!
第2問、What values will the following code print?
a = 1
while a < 100
a = a*2
end
aは1、a<100まで、a*2をするってことかな??だから99*2=198!!どうだ?
答え。
a =
1
a =
2
a =
4
a =
8
a =
16
a =
32
a =
64
a =
128
全然違う!!最初a=1,これはa<100だから次のループに行って、a=2,これもa<100だから次のループ、・・・・a=64、これもa<100だから次のループに行ってa=128、ここでa<100じゃなくなるからループがストップってことかしらねぇ。
まぁ次、
第3問、What values will the following code print?
a = 1;
n = 1;
while a < 100
a = a*n
n = n + 1;
end
最初はa=1、n=1、次は、nが2aも1増えてa=2*2=4??ってなると、aもnも1づつ増えて、その積が100を超えるまでループってことかな??ってことで、
a=1
a=4
a=9
・
・
a=81
となると予想。どうだ??
a =
1
a =
2
a =
6
a =
24
a =
120
ぜんぜん違うよ俺は馬鹿か!でも少し分かってきたぞ。最初は1、次はaは1でnは2だからかけて2.次はaは2でnは2+1の3だからかけて6、次はaは6でnは3+1=4でかけて24、これを続けてaが100を超えたら終わりってわけね。難しい。けど昨日よりはわかってきたぞ。