文法/制御構文 / もし *

条件分岐の「もし」文 *

処理を分岐させるときは「もし」文を利用します。

[書式]
もし、(比較式)ならば
  # ここに真のときの処理
違えば
  # ここに偽のときの処理
ここまで

比較式は、次のような不等号を記述した式です。

比較式 意味
a = b aとbが等しいか
a > b aがbより大きいか
a >= b または a ≧ b aがb以上か
a < b aがbより小さいか
a <= b または a ≦ b aがb以下か
a <> b または a ≠ b aとbが異なるか

利用例を見てみましょう。

   v3.5.1

この時「違えば」のブロックは省略できます。

   v3.5.1

もしの単文について *

また、条件分岐の処理が一文(句点や改行まで)で記述できる場合には、「ここまで」を省略することができます。

[書式]
もし、(比較式)ならば、***。

簡単な使い方は以下のようになります。

   v3.5.1

v3.2.27以前では単文の「違えば」文も記述できますが、将来的には廃止予定です。(提案1 / 作業)

『もし、AがBならば』構文 *

また、「もし」構文の中では「もしAがBならば」と書くと「もし、(A=B)ならば」と書くのと同じ意味になります。ただし、この記述方法は、「もしAが30ならば」とか「もしBが100ならば」とか、最も簡単な比較の時のみ使えます。(というのも、関数呼び出しと区別がつかなくなってしまう可能性が高くなってしまうので。)

   v3.5.1

もし、複数の条件を「(式A)かつ(式B)」や、「(式A)または(式B)」のように並べて記述したい場合、比較式を記述する際、(比較式)のようにカッコで括る必要があります。

   v3.5.1

「かつ」や「または」を利用しつつ、不等号を使わないで比較するには「AがBと等しい」関数を使うと良いでしょう。

   v3.5.1

『もし、(比較式)でなければ』構文 *

また、比較式の否定形「もし...でなければ」あるいは「もし...なければ」書くと「もし、!(比較式)ならば」と書くのと同じ意味になります。

   v3.5.1

「もし」が連続する場合 *

   v3.5.1

「もしそうならば...」「もしそうでなければ...」 *

条件判定を書いた後、「もしそうならば」「もしそうでなければ」を記述できます。

   v3.5.1

「もし」構文で「もし」の省略について *

「もし…ならば」構文の「もし」を省略できる場合があります。それは『等しい』や『一致』命令を使って条件式を記述する場合です。以下のように記述できます。

   v3.5.1

短文であれば、以下のように記述できます。以下は、変数Aが偶数か奇数かを判定して表示するプログラムです。

   v3.5.1

参考 *

リンク *