ループってなに?小学生でも分かる!プログラミングの基本知識

プログラミングの基礎知識

プログラミング学習をするときに必要となる知識はの一つが、
ループ
です。

ループとは英語でLoopと書いて、「繰り返し」という意味だよ。

何度も同じ処理を行うときに使うよ。

小学生でも分かるように、詳しく説明していくから心配しないでね。

 

ループってなに?

 

テレビや映画などのストーリーで、ある特定の1日を永遠に繰り返すというようなストーリー見たこと無いかな?

出口から抜け出すきっかけが見つかるまで、主人公の意思などお構いなしに、ひたすら同じ日を繰り返すんだ。

プログラミングのループ処理も、それと似ているんだよね。

ある特定の条件を満たさない限り、永遠と同じことを繰り返すんだ。

条件については、以下の記事に詳しくまとめたから読んでね。
条件ってなに?小学生でも分かる!プログラミングの基本知識

で、ループ処理には大きく分けて

「 for 」

という書き方(for文と呼ばれる)と、

「 while 」

という書き方(while文と呼ばれる)の2つあるんだよ。

 

forとwhileは何が違うの?

 

for文もwhile文もどちらも、ループ処理なんだけど

for文は

for (カウンタの初期化; カウンタのチェック; カウンタの増加) {
繰り返したい処理
}

となって、実際には、

goukei = 10;
for (int kazu; kazu < 7; kazu++) { goukei += 5;
}

と書きます。「++」のインクリメント演算子については、以下の記事に詳しく書いたから読んでね。
インクリメント演算子・デクリメント演算子とは?小学生でも分かる!プログラミングの基本知識

上の処理は、変数「kazu」が「7よりも小さい間」、変数「goukei」に+5していくという処理なんだ。

だから、

goukei = 10;
goukei += 5;
goukei += 5;
goukei += 5;
goukei += 5;
goukei += 5;
goukei += 5;
goukei += 5;

と同じ結果になるんだ。

while文は、

while (条件式を満たしている) {
繰り返したい処理
}

となって、実際には、

goukei = 10;
while (goukei <= 100) { kazu++;
goukei += 5;
}

と書きます。「<=」の比較演算子については、以下の記事に詳しく書いたから読んでね。 比較演算子とは?小学生でも分かる!プログラミングの基本知識

上の処理は、変数「goukei」が「200以下の間」、変数「goukei」に+5していき、変数「kazu」で回数をカウントしているんだね。

だから、

goukei = 10;
goukei += 5; //15
goukei += 5; //20
goukei += 5; //25
goukei += 5; //30
goukei += 5; //35
goukei += 5; //40
goukei += 5; //45
goukei += 5; //50
goukei += 5; //55
goukei += 5; //60
goukei += 5; //65
goukei += 5; //70
goukei += 5; //75
goukei += 5; //80
goukei += 5; //85
goukei += 5; //95
goukei += 5; //100

と同じ結果になるんだ。

 

結局、何が違うか?というと、

for文は、繰り返す回数が決まっているときに使う

while文は、繰り返す回数が決まっていないときに使う

というのが分かりやすいかな。

でも、繰り返し処理であれば、for文でもWhile文でもどちらでも書くことができるんだ。

さっきfor文で書いた、変数「kazu」が「7よりも小さい間」、変数「goukei」に+5していく処理も

goukei = 10;
while (kazu < 7) { kazu++;
goukei += 5;
}

と書けるし、

さっきWhile文で書いた、変数「goukei」が「200以下の間」、変数「goukei」に+5していき、変数「kazu」で回数をカウントしている処理も

goukei = 10;
for (int kazu; kazu < 50; kazu++) { goukei += 5;
if (goukei > 100){
break;
}
}

と書くことができます。

「break」を使うと、ループ処理を強制的に抜けさせることができるんだ。

つまり本来だと「kazu < 50」、変数「kazu」が50になるまで変数「goukei」に+5の処理をしていかなければならないが、 途中の条件式で「if (goukei > 100)」、変数「goukei」の値が100を超えたらループ処理を抜けるとあるので、変数「goukei」の値は100を超えることはないんだ。

 

無限ループにご用心!

 

テレビや映画では、主人公は毎日同じように感じていた日にも、少しだけ違いがあることに気づき、それをきっかけに無限ループから抜け出すよね?

プログラムでも、ループを抜け出す条件を必ず設定しなければいけないんだ。

そうじゃないと、永遠に同じ処理を繰り返してしまう。

テレビや映画では、登場人物が自ら発見するんだけど、プログラムの場合、そうはいかないよね。

だからこそ、しっかりとループ処理を抜ける条件を書いてあげる必要があるんだ。

よくやっちゃうのが

goukei = 10;
for (int kazu; kasu < 7; kazu++) { goukei += 5;
}

for文の条件を設定する部分が、「 kasu < 7 」になっているよ。 「kazu」と「kasu」を間違えたんだね。 他にも、

goukei = 10;
for (int kazu; kazu > 7; kazu++) {
goukei += 5;
}

for文の条件を設定する部分が、「 kazu > 7 」になっているよ。

変数「kazu」の初期値は「0」、条件は「kazuが7より大きいとき」なので、上記のfor文は一度も処理されることなく、

変数「goukei」は初期値「10」から変わることはないんだ。

これからは、本当に些細なミスで、よく発生するんだよ。

文字が1文字違うだけで、結果が全然違うものになるから、何度も確かめたり、見返すことが大事になるね。

 

まとめ

 

  • ループ処理は、「繰り返し」処理
  • ループ処理には、for文とWhile文がある
  • for文は、繰り返す回数が決まっているときに使う
  • while文は、繰り返す回数が決まっていないときに使う
  • 無限ループにならないように、見返しは大事
この記事を書いた人
asami

小学2年生の女の子と保育園に通う4歳の男の子のママです。
自宅で子どもと一緒にプログラミングが出来たらいいなと思い、ブログをはじめました。
プログラミング学習で子どもが喜んだこと、つまずいたこと等を子ども目線で発信していきたいと思います。

asamiをフォローする
プログラミングの基礎知識
asamiをフォローする
文系ママと娘のプログラミング学習

コメント

タイトルとURLをコピーしました