回数の決まっていない繰り返し

DO〜LOOP

DO文とLOOP文は対にして用いられ,その間を繰り返します。

無限ループ

単にDO〜LOOPの構文を書くと,DO文とLOOPの間に書かれた文がいつまでも繰り返し実行されます。次の例では LET と PRINT が繰り返し実行されます。 このプログラムを実行したときは, をクリックするか,実行メニューから中断を選んで実行を打ち切ってください。

LET A=0
DO
   LET A=A+1
   PRINT A
LOOP
END

DO WHILE〜LOOP

条件が成立する間,繰り返しを実行する構文です

LET A=0
DO WHILE A<100
   LET A=A+1
   PRINT A
LOOP
END

WHILE は 以下に書いたことが成立している間と読みます。ここでは A<100 です。Aの値が100になると繰り返しをやめるようになります。

DO WHILE 〜 LOOPは次の形式で書きます。DO WHILEの部分で条件を判断し、成立していればLOOPまでを実行します。LOOPにきたらDOに戻ってもう一度条件を調べます。成立しなくなったらLOOPの後の文に進みます。最初にDOに来たときに条件が成立しなければ、すぐにLOOPの後の文に進みます。

DO WHILE 条件
   繰り返す内容
LOOP

例24

1をどんどん2倍して表示し、10000より大きくなったらやめるプログラムをつくりなさい。10000より大きい数は表示されますか?

結果はこうなるはずです。

 2 
 4 
 8 
 16 
 32 
 64 
 128 
 256 
 512 
 1024 
 2048 
 4096 
 8192 
 16384 

例25

やりかたによってはこうなります。これは DO WHILE と LOOP のあいだの文の順番できまります。前のが2から始まっているのに、こちらが1から始まっているのがヒントです。こちらもプログラムしなさい。

 1 
 2 
 4 
 8 
 16 
 32 
 64 
 128 
 256 
 512 
 1024 
 2048 
 4096 
 8192 

例26

1〜9までの数字を入力して、あらかじめ決めてある秘密の数字と一致したら「あたり」と表示して終わり。そうでなければ「もう一回」と表示して当たるまで入力させるプログラムを作りなさい。もちろん DO WHILE〜LOOP を使います。


聖愛高等学校
http://www.seiai.ed.jp/