for文のお勉強

今日は午後の1時から明日の朝9時までバイトなので、そのあいだMATLABの勉強でもしよう。留学生に教えてもらったOpenStax CNXでお勉強。

第1問、 How many times will this program print "Hello World"?

for a=0:50
disp('Hello World')
end

こんぐらいは分かる。0:50は0から50まで1づつ増えていくって習ったぞ!ってなわけで51個!

第2問、How many times will this program print "Guten Tag Welt"?

for a=-1:-1:-50
disp('Guten Tag Welt')
end
これも大丈夫!-1から-50まで-1づつ変化だから50個!!

第3問、How many times will this program print "Hola Mundo"?

for a=10:10:50
for b=0:0.1:1
disp('Hola Mundo')
end
end

for文の中にfor文がある。aは10から50まで10づつ増えるから、5個。bは0から1まで0.1づつ増えるから11個。・・・・・で??
答えは55個らしい。解説を読むと、aはouter loop、bはinner loop。aのそれぞれにbが入ってくるからaとbを掛けて55ってことか??誰かわかる人いたらコメントしてくれーー!!

第4問、What sequence of numbers will the following for loop print?

n = 10;
for j = 1:n
n = n-1;
j
end
Explain why this code does what it does.
まずnが10.jは1からnまで1づつ増える。n=n-1・・・・???  で、jの値はどうなるのかって問題。n=n-1の意味が分からない・・
答えは
j =

1


j =

2


j =

3


j =

4


j =

5


j =

6


j =

7


j =

8


j =

9


j =

10
・・だめだわかんねぇ(泣)とりあえずパス。

第5問、What value will the following program print?

count = 0;
for d = 1:7
for h = 1:24
for m = 1:60
for s = 1:60
count = count + 1;
end
end
end
end
count

countが0。dが1から7。hが1から24。mとsも同様。で、count=count+1・・・これなんだよ意味が分からないのは!!dが1から7でその中にhがあってその中にmがあってその中にsがあるってことかな??だから7*24*60*60で604800??

・・正解!!だけどよくわからん!!

とりあえずここまで。難しい。
にほんブログ村 大学生日記ブログ 大学院生へ