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

2016年7月10日

repeat

前回も説明した繰り返し処理ですが、もう一つの書き方があります。

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 基礎の基礎、次の記事はこちら

ちなみに前の記事はこちらから

EasyLanguage

Posted by auto-ts.net