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

FreeBASIC Ifthen

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

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

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

条件分岐のための、流れ制御命令文

構文:
If expression Then [statement(s)] [Else [statement(s)]] [End If]
または
If expression Then : [statement(s)] [Else [statement(s)]] : End If
または
If expression Then
[statement(s)]
[ Elseif expression Then ]
[statement(s)]
[ Else ]
[statement(s)]
End If

備考: QB のような EndIf (空白なし)も、下位互換のためサポートされています。

記述:
If...Then は、条件により、処理を決定する方法です。
If...Then は、状態が true の場合にだけコードを実行する仕組みです。多くの条件に対応させて、実行する代替コードを指定できます:

expression は、いくつかの形式の一つが、使えます:

複数行の構文も、単行の構文も、どちらもも、If を入れ子にできます。
単行の構文で、End If は、入れ子にされた If がどこで始まって、終わるかを制御するために、役立ちます。

複数行の構文では、複数の Elseif(ただし、Else の後には何もない)を使えます。そして、テストは入れ子にできます(この場合、If と同数の End If が必要です)。
If の条件が真でない場合、Elseif ブロックの条件が続けてテストされます:

-lang fb-lang fblite 方言では、単行で、コロン (:) を、改行の代わりに使って、複数行 If ブロックを構成できます。

注意: If...Then Goto のショートカットとしての、一行 If...Goto 構文は、廃止され、QBとの互換性のためにのみ存在します。

例:
'' これは、判定で、1行、ただし、コロン(:)で拡張された複数のステートメントの
'' if...then を使う単純な「平方根を計算する」コードです。

Dim As Double d , r
r = -1
d = 2
'd = -3

If d > 0 Then r = Sqr(d) : Print d; " の平方根は:" Else r = 0 : Print "square root not computed:"
Print r

Sleep


'' これは、決定に if...then を使った「数を推測する」簡単なゲームです。

Dim As Integer num, guess

Randomize
num = Int(Rnd * 10) + 1 '1から10の間の乱数を作成します...
               
Print "1〜10の数を推測します (CTRL-C で中断します)"

Do '繰り返しを開始

    Input "Guess"; guess 'ユーザが推測した数を入力します

    If guess > 10 OrElse guess < 1 Then  '入力した数が、範囲外
        Print "入力する数は、10を超えても、1未満でも、ダメです!"
    ElseIf guess > num Then  'ユーザの推測値が大きすぎます
        Print "大きすぎです"
    ElseIf guess < num Then  'ユーザの推測値が小さすぎます
        Print "小さすぎです"
    Else                     'ユーザは、正しい数を推測しました!
        Print "正解!"
        Exit Do   '繰り返しを出ます
    End If

Loop '繰り返しの初めに戻ります

Sleep


方言差:
QBからの違い: 参照:
流れ制御命令 に戻る
←リンク元に戻る プログラム開発関連に戻る
ページ歴史:2021-09-28 09:52:12
日本語翻訳:WATANABE Makoto、原文著作者:SysOp

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

表示-非営利-継承