Es-cobol-cobol-condition-statements

提供:Dev Guides
移動先:案内検索

COBOL-Constriciones Instrucciones

インストラクシオンズコンディショナーズユーセカンドパラカンビアエルフルージョデエジェシオンディペンデンシデデシエルタスコンディシオネスクエセスペシフィアンポルエルプログラマー。 Instrucciones condicionales、SIempre seevalúancomo trueまたはfalse。 SIの使用条件、現実の宣言を評価します。 シギエンテマネラの条件の損失:

  • IFコンディシオンデクララシオン
  • Relacióncon estado
  • シノ・エスタード
  • Condiciónde Clase
  • 条件名
  • コンディシオンネガダ
  • エスタドコンビナド

IFコンディシオンデクララシオン

SIの存在条件。 SI unacondiciónes verdadera SI se ejecuta el bloque; y si lacondiciónes falsa、el otro se ejecuta el bloque。

*FIN-SI* es utilizado para finalizar el bloque SI ファイナルデルブロックSI、FIN-SIのルーペで使用されています。 Pero es simplre preferible utilizar END-IF para elmúltiploSI los bloques。
  • Nested-SI:* SI los bloques que aparecen dentro de otro bloque SI。 instrucciones SI anidadasの干し草はありません。

シンタクシス

シンタクシスデラスデクララシオンデエスタドのプレゼンテーション:

IF [condition] THEN
   [COBOL statements]
ELSE
   [COBOL statements]
END-IF.

エジェプロ

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC 9(9).
   01 WS-NUM2 PIC 9(9).
   01 WS-NUM3 PIC 9(5).
   01 WS-NUM4 PIC 9(6).

PROCEDURE DIVISION.
   A000-FIRST-PARA.
   MOVE 25 TO WS-NUM1 WS-NUM3.
   MOVE 15 TO WS-NUM2 WS-NUM4.

   IF WS-NUM1 > WS-NUM2 THEN
      DISPLAY 'IN LOOP 1 - IF BLOCK'

      IF WS-NUM3 = WS-NUM4 THEN
         DISPLAY 'IN LOOP 2 - IF BLOCK'
      ELSE
         DISPLAY 'IN LOOP 2 - ELSE BLOCK'
      END-IF

   ELSE
      DISPLAY 'IN LOOP 1 - ELSE BLOCK'
   END-IF.

STOP RUN.
*JCL* COBOLプログラムの例:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

プログラムの作成と編集、結果の生成Siguiente:

IN LOOP 1 - IF BLOCK
IN LOOP 2 - ELSE BLOCK

Relacióncon estado

オペランドの比較、同一性の確認、文字通り、表現力の表現。 カンポスの代数は、タマニョとアメリカのクラウスーラの独立性を実現しています。

パラロスノーオペランドヌメリコス

連続した数字は連続したものであり、連続した文字列はコンスティテューターズハスティエルファイナルです。 長官市長市長

Siのオペランドの数は、コンパランの設計、コンセプタンスの最後の要素の最後の要素、最後の要素の連続、連続、エン・コンパラシオン・コン・アレグレ・ア・ラス・ノルマス・セナラダス・エン・エル・プントの前にあります。

シンタクシス

シンタクシスの連続した連続性

[Data Name/Arithmetic Operation]

          [IS] [NOT]

[Equal to (=),Greater than (>), Less than (<),
 Greater than or Equal (>=), Less than or equal (<=) ]

[Data Name/Arithmetic Operation]

エジェプロ

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC 9(9).
   01 WS-NUM2 PIC 9(9).

PROCEDURE DIVISION.
   A000-FIRST-PARA.
   MOVE 25 TO WS-NUM1.
   MOVE 15 TO WS-NUM2.

   IF WS-NUM1 IS GREATER THAN OR EQUAL TO WS-NUM2 THEN
      DISPLAY 'WS-NUM1 IS GREATER THAN WS-NUM2'
   ELSE
      DISPLAY 'WS-NUM1 IS LESS THAN WS-NUM2'
   END-IF.

STOP RUN.
*JCL* プログラムのCOBOLに似ています。
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

プログラムを作成して結果を表示する:Siguiente:

WS-NUM1 IS GREATER THAN WS-NUM2

シノ・エスタード

署名の有効性と検証方法の検証 決定論的価値論、市長、月経、セロ。

シンタクシス

コンティニュアシオンプレゼンタラシンタクシスデファーマセンテンシアスデコンディシオネス:

[Data Name/Arithmetic Operation]

          [IS] [NOT]

[Positive, Negative or Zero]

[Data Name/Arithmetic Operation]

エジェプロ

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC S9(9) VALUE -1234.
   01 WS-NUM2 PIC S9(9) VALUE 123456.

PROCEDURE DIVISION.
   A000-FIRST-PARA.
   IF WS-NUM1 IS POSITIVE THEN
      DISPLAY 'WS-NUM1 IS POSITIVE'.

   IF WS-NUM1 IS NEGATIVE THEN
      DISPLAY 'WS-NUM1 IS NEGATIVE'.

   IF WS-NUM1 IS ZERO THEN
      DISPLAY 'WS-NUM1 IS ZERO'.

   IF WS-NUM2 IS POSITIVE THEN
      DISPLAY 'WS-NUM2 IS POSITIVE'.

STOP RUN.
*JCL* COBOLプログラムの例:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

プログラムを作成して結果を表示する:Siguiente:

WS-NUM1 IS NEGATIVE
WS-NUM2 IS POSITIVE

Condiciónde Clase

複雑な使用法の例は、複数のデータ構造を使用することです。 オルデンアルファベチコ、オルデンアルファベチコ-インペリアーレ、およびアルファベチコスデラパルテスペリオールのコンセプチュアルロスエスパシオス

シンタクシス

シンタクシスデクラスの続き:

[Data Name/Arithmetic Operation>]

          [IS] [NOT]

[NUMERIC, ALPHABETIC, ALPHABETIC-LOWER, ALPHABETIC-UPPER]

[Data Name/Arithmetic Operation]

エジェプロ

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC X(9) VALUE 'ABCD '.
   01 WS-NUM2 PIC 9(9) VALUE 123456789.

PROCEDURE DIVISION.
   A000-FIRST-PARA.

   IF WS-NUM1 IS ALPHABETIC THEN
      DISPLAY 'WS-NUM1 IS ALPHABETIC'.

   IF WS-NUM1 IS NUMERIC THEN
      DISPLAY 'WS-NUM1 IS NUMERIC'.

   IF WS-NUM2 IS NUMERIC THEN
      DISPLAY 'WS-NUM1 IS NUMERIC'.

STOP RUN.
*JCL* プログラムのCOBOLに似ています。
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

プログラムの作成と編集、結果の生成Siguiente:

WS-NUM1 IS ALPHABETIC
WS-NUM1 IS NUMERIC

ナンブレ州立大学

エルヌブレデラコンディシオンエスウンノンブレデフィニドポルエルウスアリオ。 続きを読む ブール値の一般的なコモ変数を照会します。 ニベル88。 PICのクラスラはありません。

シンタクシス

シンタクシス・デ・コンディシオン・デフィニダ・ポル・エル・ユーサリオ

88 [Condition-Name] VALUE [IS, ARE] [LITERAL] [THRU LITERAL].

エジェプロ

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM PIC 9(3).
   88 PASS VALUES ARE 041 THRU 100.
   88 FAIL VALUES ARE 000 THRU 40.

PROCEDURE DIVISION.
   A000-FIRST-PARA.
   MOVE 65 TO WS-NUM.

   IF PASS
      DISPLAY 'Passed with ' WS-NUM ' marks'.

   IF FAIL
      DISPLAY 'FAILED with ' WS-NUM 'marks'.

STOP RUN.
*JCL* COBOLプログラムの例:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

プログラムの作成と編集、結果の生成Siguiente:

Passed with 065 marks

コンディシオンネガダ

Condiciónnegada seefectuarámediante la palabra clave NO。 精神的条件は、血を流さないでください。

シンタクシス

シギエンテ・エス・ラ・シンタクシス・パラ・アニュラー・センテンシア・デ・コンディシオン:

IF NOT [CONDITION]
   COBOL Statements
END-IF.

エジェプロ

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC 9(2) VALUE 20.
   01 WS-NUM2 PIC 9(9) VALUE 25.

PROCEDURE DIVISION.
   A000-FIRST-PARA.

   IF NOT WS-NUM1 IS LESS THAN WS-NUM2 THEN
      DISPLAY 'IF-BLOCK'
   ELSE
      DISPLAY 'ELSE-BLOCK'
   END-IF.

STOP RUN.
*JCL* プログラムのCOBOLに似ています。
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

プログラムの作成と編集、結果の生成Siguiente:

ELSE-BLOCK

エスタドコンビナド

無条件の接続条件条件付き接続条件中央値los operadoreslógicosおよびo OR。

シンタクシス

条件付けられた命令の構文:

IF [CONDITION] AND [CONDITION]
   COBOL Statements
END-IF.

エジェプロ

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC 9(2) VALUE 20.
   01 WS-NUM2 PIC 9(2) VALUE 25.
   01 WS-NUM3 PIC 9(2) VALUE 20.

PROCEDURE DIVISION.
   A000-FIRST-PARA.

   IF WS-NUM1 IS LESS THAN WS-NUM2 AND WS-NUM1=WS-NUM3 THEN
      DISPLAY 'Both condition OK'
   ELSE
      DISPLAY 'Error'
   END-IF.

STOP RUN.
*JCL* プログラムのCOBOLに似ています。
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

プログラムの作成と編集、結果の生成Siguiente:

Both condition OK

Evaluar Verbo

IF-ELSEでの詳細な評価。 条件付きの評価を使用してください。 E似たインストラクションSWITCH en programas C.

エジェプロ

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-A PIC 9 VALUE 0.

PROCEDURE DIVISION.
   MOVE 3 TO WS-A.

   EVALUATE TRUE
      WHEN WS-A > 2
         DISPLAY 'WS-A GREATER THAN 2'

      WHEN WS-A < 0
         DISPLAY 'WS-A LESS THAN 0'

      WHEN OTHER
         DISPLAY 'INVALID VALUE OF WS-A'
   END-EVALUATE.

STOP RUN.
*JCL* COBOLプログラムの例:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

プログラムの作成と編集、結果の生成Siguiente:

WS-A GREATER THAN 2