EasyLanguage 基礎の基礎 プログラムの書き方⑥繰り返し

前回も説明した繰り返し処理ですが、もう一つの書き方があります。
While文
前回はFor文でしたが、今回はWhile文というのを習ってみます。
While 条件式 Begin
繰り返したいこと;
End;
「条件式」がtrueの時に、「繰り返したいこと」が実行されます。
「条件式」がfalseになってしまうと、繰り返しはされません。
例
例えば、前回のように1〜10の総和を求めるプログラムはこのようになります。
Vars:kekka(0),count(1);
While count<=10 Begin
kekka = kekka + count;
count = count +1;
End;
さあ、やってみましょう。
1回目の繰り返し
変数kekkaには0が、countには1が入っています。
- count<=10 なので繰り返しする!
- kekka = kekka(0が入っている) + count(1が入っている)
→kekkaには1が入る- count = count(1が入っている) +1;
→countには2が入る
2回目の繰り返し
- count<=10 なので繰り返しする!
- kekka = kekka(1が入っている) + count(2が入っている)
→kekkaには3が入る- count = count(2が入っている) +1;
→countには3が入る
3回目の繰り返し
- count<=10 なので繰り返しする!
- kekka = kekka(3が入っている) + count(3が入っている)
→kekkaには6が入る- count = count(3が入っている) +1;
→countには4が入る
こうして11回の繰り返しでは
countには11が入っている状態です。
- count<=10 ではない!
→もう繰り返しがされない
というように、繰り返しが終わります。
無限ループに気をつけよう
皆さんは、「無限ループ」というのを聞いたことがあるでしょうか。
読んで字のごとく、「無限にループして永遠に終わらない」というものです。実はWhile文は、書き間違えて無限ループになってしまいやすい文なのです。
無限ループの例
Vars:kekka(0),count(1);
While count<=10 Begin
kekka = kekka + count;
End;
先ほどと、どこが違うでしょうか?
count = count +1;
そう、この行が抜けていますよね。すると、この繰り返しは永遠に「count<=10」を満たしているので、永遠に繰り返しを行ってしまいます。
パソコンが壊れたりするわけではないので大丈夫ですが、注意してくださいね!
EasyLanguage 基礎の基礎、次の記事はこちら
ちなみに前の記事はこちらから