Sign in Join
Wiki copytemporary

Basic Pascal Tutorial/Chapter 3/IF/ja: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Basic Pascal Tutorial/Chapter 3/IF/ja

OldNewLine
1+3Ca - IF (著者: Tao Yue, 状態: 原文のまま修正なし)
2+
3+`IF` 文はブール式の結果をもとに分岐を可能にする。 1方向の分岐の形式は次のようになる。
4+
5+``` pascal
6+if ブール式 then
7+ 真の場合の文;
8+```
9+
10+もし、ブール式が `true` と評価されたなら、文が実行される。そうでない場合には、スキップされる。
11+
12+`IF` 文は1つの文のみ受け取る。文の組み合わせで分岐させたいなら、 `begin-end` [[ブロック]] で文を囲む。
13+
14+``` pascal
15+if ブール式 then
16+begin
17+ 文1;
18+ 文2
19+end;
20+```
21+
22+2方向の分岐もある。
23+
24+``` pascal
25+if ブール式 then
26+ 真の場合の文
27+else
28+ 偽の場合の文;
29+```
30+
31+ブール式が `FALSE` と評価されると、 `else` に続く文が実行される。 `else` の前の文にはセミコロンをつけてはいけないことに注意しよう。つけてしまうと、コンピュータはそれを1方向の選択と扱い、 else がどこからきたのかわからないままになってしまうからである。
32+
33+複数選択が必要な場合には、単に `if` 文を入れ子にすればよい。
34+
35+``` pascal
36+if 条件1 then
37+ 文1
38+else
39+ if 条件2 then
40+ 文2
41+ else
42+ 文3;
43+```
44+
45+入れ子にする場合には注意が必要である。しばしばコンピュータはあなたが望んでいることとは違うことを実行するからである。
46+
47+``` pascal
48+if 条件1 then
49+ if 条件2 then
50+ 文2
51+else
52+ 文1;
53+```
54+
55+`else` は常に直前の `if` とマッチする。従って、コンピュータはコードの前のブロックを次のように解釈する。
56+
57+``` pascal
58+if 条件1 then
59+ if 条件2 then
60+ 文2
61+ else
62+ 文1;
63+```
64+
65+空の文(null statement)を使って次のようにするすることもできる。
66+
67+``` pascal
68+if 条件1 then
69+ if 条件2 then
70+ 文2
71+ else
72+else
73+ 文1;
74+```
75+
76+あるいは `begin-end` のブロックを利用することもできる。しかし、コードをきれいにする最良の方法は条件を書き換えることだろう。
77+
78+``` pascal
79+if not 条件1 then
80+ 文1
81+else
82+ if 条件2 then
83+ 文2;
84+```
85+
86+この例は not 演算子を非常にうまく利用している。もし、条件1が次のようなブール式だとすると、 `(not(a < b) or (c + 3 > 6)) and g`、式を反転させるのは NOT をつけるだけでは済まず、より難しいものとなるだろう。
87+
88+プログラムのロジックを人間に伝えるにはインデントがどれほど重要かにも気がついただろう。しかし、コンパイラはインデントは無視してしまうのである。
89+
90+| | | |
91+|----|----|----|
92+| [[Basic Pascal Tutorial/Chapter 3/Boolean Expressions/ja|previous]] | [[Basic Pascal Tutorial/Contents/ja|contents]] | [[Basic Pascal Tutorial/Chapter 3/CASE/ja|next]] |
93+
94+---
95+*From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 3/IF/ja", as it stood on 2022-08-20 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-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).*

Back to history