---
# System prepended metadata

title: 条件分岐
tags: [Simple]

---

## 条件分岐

ある一定の条件の時だけ処理させたい場合は、`if`文を用います。
以下のコードをREPLに貼り付けて実行してください。
```
var number = 6
if number 2 % 0 =
    print "偶数です"
end if
```
2で割ったら割り切れるのが偶数なので`%`で余りを求めて、それが0に等しいか`=`で等価演算しています。逆ポーランド記法に留意する必要があります。

```
プログラム> if number 2 % 0 =
If分岐>     print "偶数です"
If分岐> end if
ifの条件式を評価します
+-- 式を計算します
| Stack〔 〕←  number
変数numberを読み込みます
| Stack〔6 〕←  2
| Stack〔6, 2 〕←  %
| Stack〔0 〕←  0
| Stack〔0, 0 〕←  =
結果 = true
条件が一致したので、実行します
1行目の〔 print "偶数です" 〕を実行します
標準出力に表示します
+-- 式を計算します
| Stack〔 〕←  "偶数です"
結果 = '偶数です'
[出力]: 偶数です
```
if文は条件が`true`の場合だけ実行します。比較演算子は論理型を返します。
また、論理演算子を用いて複数条件の式を立てる事も出来ます。

|比較演算子|意味|式の例|
|-|:-|:-|
|=|等しい|`10 2 / 5 =`|
|>|大きい|`3 4 * 10 >`|
|<|小さい|`5 3 + 2 4 + < `|

条件に一致しなかった場合に特定の処理を行う事も出来ます。
その様な場合には`else`以降がその処理になります。

コード
```
var number = 5
if number 2 % 0 =
    print "偶数です"
else
    print "奇数です"
end if
```

実行結果
```
結果 = false
条件が一致しなかったので、elseのコードを実行します
1行目の〔 print "偶数です" 〕を実行します
標準出力に表示します
+-- 式を計算します
| Stack〔 〕←  "偶数です"
結果 = '偶数です'
[出力]: 偶数です
```



* チャレンジしよう

- [ ] 変数numberの値を変えて実行してみよう
- [ ] 色々な条件式で分岐処理を組み立てよう