【GAS基礎編14】基本を覚える_ループ_for文
おはようございます!MARIEです(`・ω・´)ゞ
宿題の答え合わせ
前回出題した宿題は無事に完了しましたでしょうか?
宿題は以下でした。
「Javascript 配列」、「Javascript array」で検索をして、便利な道具をググってみてくださいm(_ _)m
私が調べた結果はこうでした。
上記以外にもたくさんありましたが、やはりすべてを今覚えるのはとても大変なので、実際に活用する際に調べて使えるということを実践的に行っていけたらと思います(`・ω・´)ゞ
ループ(繰り返し)について
本日は、ループ(繰り返し)について学んでいきたいと思います!
ループとは、「処理の繰り返し」のための構文であり、
for文とwhile文があります。GASで繰り返しをしたいときによく使われるのがfor文です。今回の章では、for文をちゃんと理解できるところまで私と一緒に覚えていっていただけたら幸いです!
例えば、1~10の整数を小さい順に出力するプログラムを書くとしたら、
こんな感じになりますよね。
function loop() {
console.log(1);
console.log(2);
console.log(3);
console.log(4);
console.log(5);
console.log(6);
console.log(7);
console.log(8);
console.log(9);
console.log(10);
}
ちなみに実行結果はこうです。
今は1~10だからまだいいですけど、これが1~1000、もしくは10000みたいな数字になった場合、いちいちプログラムを書いていたらそれだけで日が暮れちゃいます。業務効率化をしたくてGASを覚えているのに元も子もなくなっちゃう((+_+))
for文について
そんな時に使えるのが「for文」です!
実際にfor文を使ったプログラムを書いてみます!
function loop() {
for (let i = 1; i <= 10; i++ ) {
console.log(i);
}
}
【解説①】
let i = 1; //「繰り返しのカウンター」の初期値を決める
( i じゃなくてもいいが i が定番らしいです!)
i <= 10; //「いつまで繰り返すかの条件」を決める
(trueになる間は繰り返す)
i++ //「1回の処理が終わった後にすること」i に1を増やす
ちょっと難しいですね。
では、for文を使わないバージョンのプログラムを見てみましょう。
function loop() {
let i = 1;
console.log(i);
i = 2;
console.log(i);
i = 3;
console.log(i);
i = 4;
console.log(i);
i = 5;
console.log(i);
i = 6;
console.log(i);
i = 7;
console.log(i);
i = 8;
console.log(i);
i = 9;
console.log(i);
i = 10;
console.log(i);
}
①iに1を代入して、処理をする
②iに1を代入して、処理をする ・・・
やりたいことは「繰り返しのカウンター」の初期値を1と決め、「いつまで繰り返すかの条件」を10として、1~10までの処理を繰り返すということです。そして処理が終わるたびにiに1を足していくという動作です。
それが簡単に実現できるのが先ほども書いたfor文を使った以下のプログラム。
function loop() {
//iを1から始めて、iが10以下になるまで 「処理」を繰り返す。処理が終わるたびに、iに1を足す
for (let i = 1; i <= 10; i++ ) {
console.log(i);
}
}
プローチャートにするとこんな感じ(゜-゜)
いかがでしょうか?for文の基本については理解できましたか?
for文についてさらに理解を深めよう!
1~10までの「合計」を出力するプログラム
以下プログラムを書いて、実行をしてみてください。
function oneTen() {
let total = 0;
for (let i=1; i<=10; i++) {
total = total + i;
}
console.log(`合計は ${total} です`);
}
結果はこうなりました。
つまり、1+2+3+4+5+6+7+8+9+10を計算して、答えの55を出力するというプログラムの内容になっています。
さらに詳しく説明をすると「total」という変数の中身に「0」を代入する。その後for文を使って、「i」に繰り返しの初期値(1)と終了値(10)を代入します。
1回目のループの時点ではtotalの中身は0ですよね。なので「0+1=1」という結果になります。そして「i++」でi に1づつ増やしていくという構文となっているので、例えば2回目のループの時点ではtotalの中身は「1」となっているので、「1+2=3」という計算がされるということです。
初期値の1~終了値の10が終わるまで繰り返し足し算をしていってくださいという内容になっているのです。
なお、「total = total + i;」の式は、右辺の計算結果を左辺に代入するという意味を持ちます。
どうですか?for文ちょっと難しいですね(゜-゜)
理解したのかしてないのか私も正直自信がありません。
なので、宿題をやることで理解を深めていきたいと思います。
では宿題です
for文を使って九九の表を作成してください。
宿題は以上です。
今日行ったことをもう一度振り返る、そしてわからなかったらググるを実践すれば、きっとできるはずです!
ではまた次回よろしくお願いいたします(`・ω・´)ゞ