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??
・・正解!!だけどよくわからん!!