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を超えたら終わりってわけね。難しい。けど昨日よりはわかってきたぞ。
にほんブログ村 大学生日記ブログ 大学院生へ