Difference between revisions of "Basic Pascal Tutorial/Chapter 3/Boolean Expressions/ja"

From Free Pascal wiki
Jump to navigationJump to search
m (bypass language bar/categorization template redirect [cf. discussion])
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Boolean Expressions}}
+
{{Basic Pascal Tutorial/Chapter 3/Boolean Expressions}}
  
 
3B - ブール演算式 (著者: Tao Yue, 状態: 原文のまま修正なし)
 
3B - ブール演算式 (著者: Tao Yue, 状態: 原文のまま修正なし)
  
[[ブール]] 演算式は2つの値を比較するために利用され、 <tt>true-あるいは-false</tt> の答えをもたらす。
+
[[ブール]] 演算式は2つの値を比較するために利用され、 <tt>true あるいは false</tt> の答えをもたらす。
  value1 '''relational_operator''' value2
+
  value1 '''関係演算子''' value2
  
The following relational operators are used:
+
以下の関係演算子が利用される。
  < less than
+
  < 未満
  > greater than
+
  > 超過
  = equal to
+
  = 等しい
  <= less than or equal to
+
  <= 以下
  >= greater than or equal to
+
  >= 以上
  <> not equal to
+
  <> 等しくない
  
You can assign Boolean expressions to Boolean variables. Here we assign a <tt>true</tt> expression to some_bool:
+
ブール変数に対してはブール演算子を指定することができる。ここでは some_bool に対して <tt>true</tt> 式を割り当てている。
 
  some_bool := 3 < 5;
 
  some_bool := 3 < 5;
  
Complex Boolean expressions are formed by using the Boolean operators:
+
ブール操作を利用することで複雑なブール式を作ることができる。
  not negation (~)
+
  not 否定 (negation) (~)
  and conjunction (^)
+
  and 結合 (conjunction) (^)
  or disjunction (v)
+
  or 選言 (disjunction) (v)
  xor exclusive-or
+
  xor 排他 (exclusive-or)
  
<tt>NOT</tt> is a unary operator — it is applied to only one value and inverts it:
+
<tt>NOT</tt> は単一演算子である。それは単一の値にのみ適用でき、その値を逆転させる。
  
 
* <tt>not true = false
 
* <tt>not true = false
 
* not false = true</tt>
 
* not false = true</tt>
  
<tt>AND</tt> yields <tt>TRUE</tt> only if both values are <tt>TRUE</tt>:
+
<tt>AND</tt> は両方の値が <tt>TRUE</tt> であるときのみ <tt>TRUE</tt> になる。
  
 
* <tt>TRUE and FALSE = FALSE
 
* <tt>TRUE and FALSE = FALSE
 
* TRUE and TRUE = TRUE</tt>
 
* TRUE and TRUE = TRUE</tt>
  
<tt>OR</tt> yields <tt>TRUE</tt> if at least one value is <tt>TRUE</tt>:
+
<tt>OR</tt> は少なくとも1つの値が <tt>TRUE</tt> であるときに <tt>TRUE</tt> になる。
  
 
* <tt>TRUE or TRUE = TRUE
 
* <tt>TRUE or TRUE = TRUE
Line 40: Line 40:
 
* FALSE or FALSE = FALSE</tt>
 
* FALSE or FALSE = FALSE</tt>
  
<tt>XOR</tt> yields <tt>TRUE</tt> if one expression is <tt>TRUE</tt> and the other is <tt>FALSE</tt>. Thus:
+
<tt>XOR</tt> は1つの式が <tt>TRUE</tt> でもう一方の式が <tt>FALSE</tt> である時に <tt>TRUE</tt> となる。
  
 
* <tt>TRUE xor TRUE = FALSE
 
* <tt>TRUE xor TRUE = FALSE
Line 47: Line 47:
 
* FALSE xor FALSE = FALSE</tt>
 
* FALSE xor FALSE = FALSE</tt>
  
When combining two Boolean expressions using relational and Boolean operators, be careful to use parentheses.
+
2つのブール式を関係演算子とブール演算子を用いて結合するときにはカッコの使い方に注意しなければならない。
<syntaxhighlight>
+
<syntaxhighlight lang="pascal">
 
(3>5) or (650<1)
 
(3>5) or (650<1)
 
</syntaxhighlight>
 
</syntaxhighlight>
  
This is because the Boolean operators are higher on the order of operations than the relational operators:
+
その理由はブール演算子は関係演算子よりも演算の順序が上であるためである。
  
 
# <tt>not
 
# <tt>not
Line 59: Line 59:
 
# < > <= >= = <></tt>
 
# < > <= >= = <></tt>
  
So <tt>3 > 5 or 650 < 1</tt> becomes evaluated as <tt>3 > (5 or 650) < 1</tt>, which makes no sense, because the Boolean operator or only works on Boolean values, not on integers.
+
従って <tt>3 > 5 or 650 < 1</tt> <tt>3 > (5 or 650) < 1</tt> のように評価される。これは意味をなさない。なぜなら、ブール演算子 or はブール値のみに働き、整数には機能しないからである。
  
The Boolean operators (<tt>AND, OR, NOT, XOR</tt>) can be used on Boolean variables just as easily as they are used on Boolean expressions.
+
ブール演算子 (<tt>AND, OR, NOT, XOR</tt>) はブール式で簡単に利用できたように、ブール変数に利用できる。
  
Whenever possible, don't compare two real values with the equals sign. Small round-off errors may cause two equivalent expressions to differ.
+
できる限り、2つの実数を等号で比較することは避けなさい。小さな丸め誤差が2つの等価式が異なる原因になってしまうかもしれないからである。
  
 
{|style=color-backgroud="white" cellspacing="20"
 
{|style=color-backgroud="white" cellspacing="20"
|[[Sequential_control|previous]]   
+
|[[Basic Pascal Tutorial/Chapter 3/Sequential control/ja|previous]]   
|[[Contents|contents]]  
+
|[[Basic Pascal Tutorial/Contents/ja|contents]]  
|[[IF|next]]
+
|[[Basic Pascal Tutorial/Chapter 3/IF/ja|next]]
 
|}
 
|}

Latest revision as of 15:18, 20 August 2022

български (bg) English (en) français (fr) 日本語 (ja) 中文(中国大陆)‎ (zh_CN)

3B - ブール演算式 (著者: Tao Yue, 状態: 原文のまま修正なし)

ブール 演算式は2つの値を比較するために利用され、 true あるいは false の答えをもたらす。

value1 関係演算子 value2

以下の関係演算子が利用される。

<	未満
>	超過
=	等しい
<=	以下
>=	以上
<>	等しくない

ブール変数に対してはブール演算子を指定することができる。ここでは some_bool に対して true 式を割り当てている。

some_bool := 3 < 5;

ブール操作を利用することで複雑なブール式を作ることができる。

not	否定 (negation) (~)
and	結合 (conjunction) (^)
or	選言 (disjunction) (v)
xor	排他 (exclusive-or)

NOT は単一演算子である。それは単一の値にのみ適用でき、その値を逆転させる。

  • not true = false
  • not false = true

AND は両方の値が TRUE であるときのみ TRUE になる。

  • TRUE and FALSE = FALSE
  • TRUE and TRUE = TRUE

OR は少なくとも1つの値が TRUE であるときに TRUE になる。

  • TRUE or TRUE = TRUE
  • TRUE or FALSE = TRUE
  • FALSE or TRUE = TRUE
  • FALSE or FALSE = FALSE

XOR は1つの式が TRUE でもう一方の式が FALSE である時に TRUE となる。

  • TRUE xor TRUE = FALSE
  • TRUE xor FALSE = TRUE
  • FALSE xor TRUE = TRUE
  • FALSE xor FALSE = FALSE

2つのブール式を関係演算子とブール演算子を用いて結合するときにはカッコの使い方に注意しなければならない。

(3>5) or (650<1)

その理由はブール演算子は関係演算子よりも演算の順序が上であるためである。

  1. not
  2. * / div mod and
  3. + - or
  4. < > <= >= = <>

従って 3 > 5 or 650 < 13 > (5 or 650) < 1 のように評価される。これは意味をなさない。なぜなら、ブール演算子 or はブール値のみに働き、整数には機能しないからである。

ブール演算子 (AND, OR, NOT, XOR) はブール式で簡単に利用できたように、ブール変数に利用できる。

できる限り、2つの実数を等号で比較することは避けなさい。小さな丸め誤差が2つの等価式が異なる原因になってしまうかもしれないからである。

previous contents next