FreeBASIC マニュアルのトップに戻る

FreeBASIC Doloop

目次→言語リファレンス→命令文→流れ制御命令DO...LOOP←オリジナル・サイト

DO...LOOP 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

繰り返しのための流れ制御命令文

構文:
Do [ { Until | While } condition ]
[ statement block ]
Loop
または
Do
[ statement block ]
Loop [ { Until | While } condition ]

記述:
Do 命令文は、次の statement block 中の命令文を実行します。実行は、condition が true の間 / true になるまで、繰り返されます。

Until を使ったときは、Do 命令文は、condition が true になったときに、statement block の繰り返しを止めます。
While 予約語は、Until と逆の効果があります。condition が false と評価されたときに、繰り返しを止めます。
UntilWhile の両方の condition が省略されると、Do 命令文は無限に繰り返えされます。

statement block の中で、Exit Do 命令文に遭遇すると、繰り返しは終わります。実行は、対応する Loop 命令文のすぐ後ろに続きます。
Continue Do 命令文に遭遇すると、statement block の残りはスキップされます。実行は、Do 命令文から再開します。

最初の構文では、Do 命令文が最初に実行されるときに、condition がチェックされます。condition が満たされると、statement block はスキップされます。
2番目の構文では、statement block が実行された後に、初めて、condition がチェックされます。
これは、statement block は、少なくとも一度は、必ず実行されることを意味します

condition は、式が、False(ゼロ) か True(非ゼロ) に評価できれば、どんな式でもかまいません。

例:
この例は、Do 繰り返しを使って、1〜10 の奇数の総数を数えます。
Don > 10 の条件が満たされるまで、繰り返されます:
Dim As Integer n = 1                            '' チェックする数
Dim As Integer total_odd = 0                    '' 現在の奇数の数
Do Until( n > 10 )
  If( ( n Mod 2 ) > 0 ) Then total_odd += 1    '' n が奇数なら合計に加える (奇数は、2 で割ると余りが出ます)
  n += 1
Loop
Print "奇数の合計数:" ; total_odd             '' '5'と表示されます
Sleep
End 0



ここで、無限 DO 繰り返しを使って、偶数の総数を数えます。
If...Then 命令文を使った条件付きのチェックを、繰り返しの中に置きます。
n > 10 が true になったときに、繰り返しから抜けます:
   Dim As Integer n = 1                            '' チェックする数
   Dim As Integer total_even = 0                   '' 現在の奇数の数
   Do
      If( n > 10 ) Then Exit Do                    '' 10 番号まで走査したら出る
   
      If( ( n Mod 2 ) = 0 ) Then total_even += 1   '' n が偶数なら合計に加える (偶数は、2 で割って余りがありません)
      n += 1
   Loop
   Print "偶数の合計数:" ; total_even           '' '5'と表示されます
   Sleep
   End 0



方言差:

QBからの違い:

参照:
流れ制御命令 に戻る
←リンク元に戻る プログラム開発関連に戻る
ページ歴史:2021-09-28 09:54:34
日本語翻訳:WATANABE Makoto、原文著作者:SysOp

ホームページのトップに戻る

表示-非営利-継承