JavaScriptで、1+2+3+4,,,で50まで足した時の和と求めたりするときによく使うのが
sum+=i だ。
下はsum=1+2+3+4+,,の合計が50以下になるまで繰り返す式だ。
1 2 3 4 5 6 7 8 | <script> var i = 0; //iが変数であることを宣言 var sum=0; //sumが変数であることを宣言 while (sum <= 50) { //sumが50になるまで↓の式を繰り返すって意味 i++ //変数iに+1をするって意味 sum+=i;//sum=sum+iって意味 } </script> |
ちなみにJavaScriptでは
//~以降はコメントになるから、
「あれ?このコードって何のためだっけ?」
ってわからなくなるのを防ぐためにメモをする。
whileは()内の条件がfalse(不正解!ってイメージ)となるまで{}内の式を繰り返すものだ。
sum+=iの意味とは?
sum+=i がすごくわかりにくいんだけど、
sum=sum+i
と全く同じ意味だ。
ただこれでもプログラミング小僧は最初この意味がいまいち理解できなかった。
だけど、数字を実際に入れてみたらわかりやすかった。
i=1の時
sumは最初
sum=0だから
sum+=i
は
sum=sum+1
→sum=0+1
→sum=1
という意味になる。
i=2の時
i=2になったら、今度は
sum+=iは
sum=sum+2
という意味になる。
さっきsum=1だったから
sum=1+2
→sum=3
ってことだ。
3まで入れたら、やっとプログラミング小僧はちゃんと理解できた(笑)
i=3の時
i=3
sum+=i
は
sum=sum+3
sumはさっきsum=3になっていたから
sum=3+3
→sum=6
sum=6を分解すると
sum=1+2+3
って式になるから、1+2+3+4+,,,の式を合計和を求める式になっているわけだ。
初心者にはなかなか難しかったが、
分かりにくい時は実際に数字に当て込むと良いってことを学べた。
ちなみに数学の感覚が残っているプログラミング小僧は
sum=sum+i
に対し、
「なんで=なのに、左と右でsumが違う値なんだよ!」
って思っていたが、プログラミング言語では
「=」の意味としては、右の値を左に代入するって意味らしいのだ。
つまりsum=sum+i
は右側(sum+i)を左側(sum)に代入するって意味なのだ。
いや~難しい(笑)