COBOL言語の正負条件、字類条件について理解しよう!|基礎ガイド
COBOL(コボル)言語の判断処理で使用する正負条件、字類条件とは
COBOL(コボル)言語の正負条件とは?
COBOL(コボル)言語の正負条件とは、その名の通りデータ項目が正なのか(0より大きい)、負なのか(0より小さい)、0なのかを判断する事です。他のプログラミング言語と同様に「>(大なり)、<(小なり)、=(イコール)」といった記号と「0」との比較で表現する事もできますが、人が理解しやすい言葉でも表現する事ができるため、今回はこの書き方について覚えておきましょう。
書き方:
データ項目 IS POSITIVE :データ項目が「ゼロより大きい」
データ項目 IS NEGATIVE :データ項目が「ゼロより小さい」
データ項目 IS ZERO :データ項目が「ゼロとイコール」
使用例:
使用例は、正(1)、ゼロ(0)、負(-1)という数字のデータ項目を、正負条件を使って判断処理を行い、結果「真」であれば画面にその数字を表示するというプログラムになっています。この使用例のように、条件式を言葉で表現する事で、無駄のない、見やすいプログラムを作成する事ができます。
実行結果:
COBOL(コボル)言語の字類条件とは?
プログラムの判断処理には、正負条件以外にもそのデータ項目が数字であるかどうか、英文字であるかどうかを判断する字類条件というものがあります。例えばあるデータ項目を使った演算処理を行う場合、その項目に英文字が入ってしまっていると正しい演算が行えないため、数字でない場合、エラー処理を行ったり、そのデータを読み飛ばす事が必要になりますが、そのような場面で便利に利用できます。では、この字類条件についてもしっかり覚えていきましょう。
書き方:
データ項目 IS NUMERIC :データ項目が「数字」
データ項目 IS ALPHABETIC :データ項目が「英文字」
使用例:
使用例は、画面から入力される2桁の数字、英文字のデータ項目を、字類条件を使って判断処理を行い、結果「真」であれば画面に文字を表示するというプログラムになっています。数字、英文字のチェックは実際にプログラムで実現しようとした場合、このように1行で記述する事は難しいので、この表現がいかに簡潔にプログラムを記述できるかが理解いただける事と思います。
実行結果:
正負条件、字類条件のCOBOL(コボル)言語における基本事項や注意事項
- 正負条件「データ項目 IS POSITIVE(NEGATIVE、ZERO)」の間の空白や改行は、自由に設定できます。
- 字類条件「データ項目 IS NUMERIC(ALPHABETIC)」の間の空白や改行は、自由に設定できます。
- 正負条件、字類条件は「ANDやOR等」の論理演算子を組み合わせる事で複数条件指定できます。
- 正負条件は数字以外の項目でも使用できますが、予期せぬ結果になりますので、使用しないように注意しましょう。
字類条件を使ったCOBOL(コボル)プログラムの活用法
プログラムの中で文字列を比較する際、大文字、小文字を区別して比較したい場合はよくあります。
このような場合、COBOL言語では、そのデータ項目が大文字で構成されているのか小文字で構成されているのか判断する字類条件が用意されています。ここでは先にご紹介した字類条件のサンプルプログラムを変更し、大文字、小文字入力の判断処理後、入力した文字を画面表示する簡単なプログラムをご紹介します。
サンプルプログラム:
- IDENTIFICATION DIVISION.
- PROGRAM-ID. JIRUI_SAMPLE02.
- ENVIRONMENT DIVISION.
- DATA DIVISION.
- WORKING-STORAGE SECTION.
- 01 WK-EIJI PIC XX.
- PROCEDURE DIVISION.
- DISPLAY "2桁の英小文字を入力してください。>> " WITH NO ADVANCING.
- ACCEPT WK-EIJI FROM CONSOLE.
- *> 画面入力したデータ項目WK-EIJIとの比較(1回目)
- IF (WK-EIJI IS ALPHABETIC-LOWER)
- DISPLAY WK-EIJI
- END-IF.
- IF (WK-EIJI IS ALPHABETIC-UPPER)
- DISPLAY "英小文字を入力してください"
- END-IF.
- DISPLAY "2桁の英大文字を入力してください。>> " WITH NO ADVANCING.
- ACCEPT WK-EIJI FROM CONSOLE.
- *> 画面入力したデータ項目WK-EIJIとの比較(2回目)
- IF (WK-EIJI IS ALPHABETIC-LOWER)
- DISPLAY "英大文字を入力してください"
- END-IF.
- IF (WK-EIJI IS ALPHABETIC-UPPER)
- DISPLAY WK-EIJI
- END-IF.
- STOP RUN.
- END PROGRAM JIRUI_SAMPLE02.
実行結果:
いかがでしたでしょうか?COBOL(コボル)言語はこのように人の理解しやすい言葉を利用したコーディングができる事が特徴です。他のプログラミング言語を学習したCOBOL(コボル)言語入門者からすると、見慣れない言葉に少し戸惑う事もあるかもわかりませんが、これらの使い方に慣れてくるとプログラムを読み書きする速度が上がってきますので、COBOL(コボル)言語用語辞典なども活用しながらコーディングの幅を広げていっていただければと思います。
この記事を読んだ人は、こちらの記事も読んでいます
あなたのCOBOL技術を活かしませんか?
COBOL入門のカテゴリー
1. 優良社員が多数在籍しています
2. 即日派遣、又は請負います
3. 安心価格で請負います
4. 同時、協力会社募集中です
1. 正社員
2. 契約社員
3. 個人事業主
などの 求人情報 が閲覧できます。
目指せ!COBOLダントツ一番企業。
創業当初の話や理念が閲覧できます。
応募条件
※2020年5月31日を以って、締切りました。
18歳~28歳の方。
正社員採用において、北川社長の著書『祈り方が9割』を読んで感想文を事前に提出すると、無条件で最終面接まで進むことができます。
COBOLとは、どのようなプログラミング言語なのか、初心者にもわかりやすく、文法の例をあげて解説してます。
COBOL入門の人気記事
- COBOL言語とは?プログラムの書き方やルールを解説!|基礎ガイド
- 【COBOL言語】条件分岐処理の代名詞「IF文」について知ろう|用語辞典
- COBOL言語の「MOVE文」とは?転記のルールをご紹介します|用語辞典
- COBOL言語の「STRING文」とは?文字連結の基礎知識と注意点|用語辞典
- 多枝分岐ってなに?COBOL言語の「EVALUATE文」を知ろう!|用語辞典
- COBOL言語の「PICTURE句」とは?基本事項を解説します!|用語辞典
- COBOL言語で計算処理をするなら「COMPUTE文」|用語辞典
- COBOL言語の「REDEFINES句」とは?使い方を確認しよう!|用語辞典
- 覚えておけば楽ができる?COBOL言語の「COPY文」の使い方|用語辞典
- COBOL言語の文字列操作のパターンを理解しよう!|基礎ガイド
- COBOL言語の初期化処理に重宝する「INITIALIZE文」とは?|用語辞典
- COBOL言語の「LOW-VALUE」の使い方について理解しよう!|基礎ガイド
- COBOL言語の「OCCURS句」について知ろう!学ぶべき基本とは|用語辞典
- COBOL言語初心者も安心! 難解「CALL文」をスッキリ解決|用語辞典
- COBOL言語の「PERFORM文」とは。実行制御について解説!|用語辞典
- COBOL言語の繰り返し処理のパターンを理解しよう!|基礎ガイド
- COBOL言語の「定数」の種類と使い方について理解しよう!|用語辞典
- COBOLのDBアクセスパターンを学ぼう!「FETCH」|応用ガイド
- COBOL言語の「DISPLAY文」は、ディスプレイ出力の為にある|用語辞典
- COBOL言語の「VARYING句」は便利?使用方法を学びましょう|用語辞典