(cache) 条件の書き方
条件の書き方
IF文で使用している条件の書き方とその意味は以下の通りです。
(この条件は、EVALUATE文、PERFORM文、SEARCH文でも使用するが、使い方は同じである)
条件は、成立すればその値は真(TRUE)であり、不成立ならばその値は偽(FALSE)である。
- 比較条件
| 2つの作用対象の大小比較 |
| より大きい | > | GREATER |
| より小さい | < | LESS |
| 等しい | = | EQUAL |
| より大きくない | not > | NOT GREATER |
| より小さくない | not < | NOT LESS |
| 等しくない | not = | NOT EQUAL |
| より大きいか等しい | > = | GREATER OR EQUAL |
| より小さいか等しい | < = | LESS OR EQUAL |
項目の条件
| 作用対象の項目 |
| 正である | POSITIVE | 正でない | NOT POSITIVE |
| 負である | NEGATIVE | 負でない | NOT NEGATIVE |
| ゼロである | ZERO | ゼロでない | NOT ZERO |
| 英字である | ALPHABETIC | 英字でない | NOT ALPHABETIC |
| 数字である | NUMERIC | 数字でない | NOT NUMERIC |
条件名条件
ソースプログラムをより解り易くする為に、条件名というものを使用する。
書き方
88 条件名 [VALUE] {定数1 〔(THRU)定数2〕・・・・.
88 条件名 [VALUES] {定数1 〔(THROUGH)定数2〕・・・・.
(※VALUE句は、ファイル節には書くことが出来ないが、
この条件名を定義するときだけは書くことができる。)
例題
データ部に次のように宣言する。
10 SHIKEN-KEKKA PIC 9(3).
88 FUGOUKAKU VALUE 0 THRU 59.
そうすると手続き部では、
IF FUGOUKAKU ・・・・
と書くことができる。
これは、IF SHIKEN-KEKKA < 60と記述した場合と同じ意味になる。
解説
レベル番号88の後ろに書く名前を条件名という。
条件名とは、データ項目のある特別な値、あるいは値の範囲に付けた名前である。
条件名の付けたデータ項目(例題の場合SHIKEN-KEKKA)を条件変数という。
IF文の、条件に相当する部分に条件名を書くと、このデータ項目のその時の値がこの条件名の値、
あるいは値の範囲と一致すると真、不一致の時は偽になる。
条件の論理結合
条件を、論理演算子や括弧を用いて書くことができる。
論理演算子には次のようなものがある。
AND(論理積)、OR(論理和)、NOT(否定)
論理演算子の結合の強さの優先順位は次の通りである。
NOT → AND → OR
括弧を使って結合の強さを変えることができる。
| 条件 | 条件とその値 |
| A | B | A AND B | A OR B | A NOT B |
| 真 | 真 | 真 | 真 | 偽 |
| 真 | 偽 | 偽 | 真 | 偽 |
| 偽 | 真 | 偽 | 真 | 真 |
| 偽 | 偽 | 偽 | 偽 | 真 |
連続した比較条件の略記法
比較条件を連続して書く場合、2回目以降の1部を略記することができる。
このことを略記組み合わせ比較条件という
- 比較条件の主語(左辺)の省略
いくつかの比較条件を論理演算子で繋いで書いた場合、2回目以降の比較条件の主語(左辺)を
省略する事ができる。
この場合比較条件の主語のうち最後の主語が省略されたものとする。
例題
IF A = B OR > C AND < D
は、
IF A = B OR A > C AND A < Dを略記したものです。
- 比較条件の主語(左辺)と比較演算子の省略
主語(左辺)と比較演算子を元に省略する事ができる。
主語は、1で述べた規則で処理される
比較演算子は、それ以前に現れた比較演算子のうち最後のものが省略される。
例題
IF A = 24 OR 36 OR 48
は、
IF A = 24 OR A = 36 OR A = 48略記したものです。
反復型のプログラムに進む
前画面に戻る
目次に戻る