Basic Pascal Tutorial/Chapter 3/Boolean Expressions/ja: what changed
Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | - | ||
| 2 | - | ||
| 3 | - | ||
| 4 | - | ||
| 5 | - | ||
| 6 | - | ||
| 7 | - | ||
| 8 | - | ||
| 9 | - | ||
| 10 | - | ||
| 11 | - | ||
| 12 | - | ||
| 13 | - | ||
| 14 | - | ||
| 15 | - | ||
| 16 | - | ||
| 1 | + | 3B - ブール演算式 (著者: Tao Yue, 状態: 原文のまま修正なし) | |
| 17 | 2 | ||
| 18 | - | ||
| 3 | + | [ブール](</index.php?title=%E3%83%96%E3%83%BC%E3%83%AB&action=edit&redlink=1> "ブール \(page does not exist\)") 演算式は2つの値を比較するために利用され、 `true あるいは false` の答えをもたらす。 | |
| 4 | + | ``` | |
| 5 | + | value1 **関係演算子** value2 | |
| 6 | + | ``` | |
| 19 | 7 | ||
| 20 | - | ||
| 8 | + | 以下の関係演算子が利用される。 | |
| 9 | + | ``` | |
| 10 | + | < 未満 | |
| 11 | + | > 超過 | |
| 12 | + | = 等しい | |
| 13 | + | <= 以下 | |
| 14 | + | >= 以上 | |
| 15 | + | <> 等しくない | |
| 16 | + | ``` | |
| 21 | 17 | ||
| 22 | - | ||
| 23 | - | ||
| 24 | - | ||
| 25 | - | ||
| 18 | + | ブール変数に対してはブール演算子を指定することができる。ここでは some_bool に対して `true` 式を割り当てている。 | |
| 19 | + | ``` | |
| 20 | + | some_bool := 3 < 5; | |
| 21 | + | ``` | |
| 26 | 22 | ||
| 27 | - | ||
| 23 | + | ブール操作を利用することで複雑なブール式を作ることができる。 | |
| 24 | + | ``` | |
| 25 | + | not 否定 (negation) (~) | |
| 26 | + | and 結合 (conjunction) (^) | |
| 27 | + | or 選言 (disjunction) (v) | |
| 28 | + | xor 排他 (exclusive-or) | |
| 29 | + | ``` | |
| 28 | 30 | ||
| 29 | - | ||
| 30 | - | ||
| 31 | + | `NOT` は単一演算子である。それは単一の値にのみ適用でき、その値を逆転させる。 | |
| 31 | 32 | ||
| 32 | - | ||
| 33 | + | * `not true = false` | |
| 34 | + | ` ` | |
| 35 | + | * `not false = true` | |
| 33 | 36 | ||
| 34 | - | ||
| 35 | - | ||
| 37 | + | `AND` は両方の値が `TRUE` であるときのみ `TRUE` になる。 | |
| 36 | 38 | ||
| 37 | - | ||
| 39 | + | * `TRUE and FALSE = FALSE` | |
| 40 | + | ` ` | |
| 41 | + | * `TRUE and TRUE = TRUE` | |
| 38 | 42 | ||
| 39 | - | ||
| 40 | - | ||
| 41 | - | ||
| 42 | - | ||
| 43 | + | `OR` は少なくとも1つの値が `TRUE` であるときに `TRUE` になる。 | |
| 43 | 44 | ||
| 44 | - | ||
| 45 | + | * `TRUE or TRUE = TRUE` | |
| 46 | + | ` | |
| 47 | + | * TRUE or FALSE = TRUE | |
| 48 | + | * FALSE or TRUE = TRUE | |
| 49 | + | ` | |
| 50 | + | * `FALSE or FALSE = FALSE` | |
| 45 | 51 | ||
| 46 | - | ||
| 47 | - | ||
| 48 | - | ||
| 49 | - | ||
| 52 | + | `XOR` は1つの式が `TRUE` でもう一方の式が `FALSE` である時に `TRUE` となる。 | |
| 50 | 53 | ||
| 51 | - | ||
| 54 | + | * `TRUE xor TRUE = FALSE` | |
| 55 | + | ` | |
| 56 | + | * TRUE xor FALSE = TRUE | |
| 57 | + | * FALSE xor TRUE = TRUE | |
| 58 | + | ` | |
| 59 | + | * `FALSE xor FALSE = FALSE` | |
| 52 | 60 | ||
| 53 | - | ||
| 61 | + | 2つのブール式を関係演算子とブール演算子を用いて結合するときにはカッコの使い方に注意しなければならない。 | |
| 62 | + | ``` | |
| 54 | 63 | (3>5) or (650<1) | |
| 55 | 64 | ``` | |
| 56 | 65 | ||
| 57 | - | ||
| 66 | + | その理由はブール演算子は関係演算子よりも演算の順序が上であるためである。 | |
| 58 | 67 | ||
| 59 | - | ||
| 60 | - | ||
| 61 | - | ||
| 62 | - | ||
| 68 | + | 1. `not` | |
| 69 | + | ` | |
| 70 | + | 2. * / div mod and | |
| 71 | + | 3. + - or | |
| 72 | + | ` | |
| 73 | + | 4. `< > <= >= = <>` | |
| 63 | 74 | ||
| 64 | - | ||
| 75 | + | 従って `3 > 5 or 650 < 1` は `3 > (5 or 650) < 1` のように評価される。これは意味をなさない。なぜなら、ブール演算子 or はブール値のみに働き、整数には機能しないからである。 | |
| 65 | 76 | ||
| 66 | - | ||
| 77 | + | ブール演算子 (`AND, OR, NOT, XOR`) はブール式で簡単に利用できたように、ブール変数に利用できる。 | |
| 67 | 78 | ||
| 68 | - | ||
| 79 | + | できる限り、2つの実数を等号で比較することは避けなさい。小さな丸め誤差が2つの等価式が異なる原因になってしまうかもしれないからである。 | |
| 69 | 80 | ||
| 70 | - | ||
| 71 | - | ||
| 72 | - | ||
| 81 | + | [[Basic Pascal Tutorial/Chapter 3/Sequential control/ja|previous]] | [[Basic Pascal Tutorial/Contents/ja|contents]] | [[Basic Pascal Tutorial/Chapter 3/IF/ja|next]] | |
| 82 | + | ---|---|--- | |
| 73 | 83 | ||
| 74 | 84 | --- | |
| 75 | - | ||
| 85 | + | *From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 3/Boolean Expressions/ja", as the Internet Archive kept it on 2022-09-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
