AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
繰り返し2(WHILE〜WEND)BASIC(7)
BASICにも、CやPascalの「while()〜」に相当する繰り返し文があります。
WHILE <条件式>
 〜
WEND

WHILE文は、条件式が真である間(条件式が0でない間)、〜の部分を繰り返します。
FOR文は繰り返し回数を指定したい場合によく利用されますが、WHILE文は、条件式が正しい間は繰り返し、条件式が正しくなくなったら繰り返しを終了する、というものです。
 
10 I=1
20 WHILE(I<10)
30 PRINT I;
40 I=I+1
50 WEND
60 PRINT "*"
@10行目で変数Iに1を代入します。
A20行目で条件式「I<10」は正しい(真である)ので、50行目のWENDとの間を繰り返し実行します。(※Iの値が最初100であると、30行目40行目は実行されません
B30行目でIの値、つまり、「1」を表示します。
C40行目で、I+1の計算結果を、Iに入れます。「I=1+1」となりますので、Iには2が入ります。
D50行目でWENDが見つかったので、これと対になるWHILE文のある20行目へ戻ります。
E20行目で条件式「I<10」つまり「2<10」は真なので、30・40行を繰り返し実行します。
・・・
FIの値が10になって20行目に戻り、「I<10」つまり「10<10」は正しくない(真ではない;偽である)ので、30行・40行は実行せず、50行のWENDの次の文、つまり、60行目に飛びます。
G結果的に、「1 2 3 4 5 6 7 8 9*」と表示して終了されます。
 
☆上記は、9で止まりますが、10まで進んで欲しい場合には、条件式を「I<10」ではなく「I<=10」と書けば分かり易いでしょう。
 
 
次に、フラグと呼ばれる変数を利用する手法があります。正しい時には「1」を入れ、正しくない時には「0」を入れます。これを条件式にします。
10 I=1
20 F=1  'フラグ
30 WHILE(F)
40 PRINT I;
50 I=I+1
60 IF I>10 THEN F=0 '終了条件
70 WEND
80 PRINT "*"
90 END
一見行数が多くなりますが、上の例では「実行を続ける条件」を指定しますが、フラグを利用すると、「終了をする条件」を指定出来るようになったり、繰り返しを必ず1回は実行させる、という事が出来るようになったり、こちらの方が(何となく?)分かり易いという人もいたりします。状況・便宜に応じて、使い分けて下さい。
バッチファイル
BASIC
 1 2 3 4 5
 6 7 8 9 A
 B C D E F
 G H I J
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.