1 / 12

Lesson 6

Lesson 6. The Relational Condition.

ctriplett
Download Presentation

Lesson 6

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lesson 6

  2. The Relational Condition IS [NOT] GREATER THAN IS [NOT] > IS [NOT] LESS THAN identifier-1 IS [NOT] < identifier-2IF literal-1 IS [NOT] EQUAL TO literal-2 expression-1 IS [NOT] = expression-2 IS [NOT] GREATER THAN OR EQUAL TO IS [NOT] >= IS [NOT] LESS THAN OR EQUAL TO IS [NOT] <= (a) Syntax 05 NUMERIC-FIELD PIC 9(5).05 ALPHANUMERIC-FIELD PIC X(5).. . .IF NUMERIC-FIELD = 10 . . . (valid entry)IF NUMERIC-FIELD = ‘10’ . . . (invalid entry)IF ALPHANUMERIC-FIELD = 10 (invalid entry)IF ALPHANUMERIC-FIELD = ‘10’ (valid entry) (b) Examples

  3. CONDITION? CONDITION? STATEMENT2 STATEMENT1 STATEMENT1 STATEMENT3 STATEMENT2 The IF Statement FALSE TRUE FALSE TRUE (a) With ELSE Option (b) Without ELSE Option

  4. A=B MOVE ZERO TO C MOVE 1 TO C MOVE ZERO TO D MOVE 1 TO D WRITEDETAIL-LINE The ELSE Clause/II FALSE TRUE IF A = B MOVE 1 TO C MOVE 1 TO D ELSE MOVE ZERO TO C MOVE ZERO TO D END-IF. WRITE DETAIL-LINE. (a) IF/ELSE Flowchart (b) COBOL Code

  5. FALSE TRUE A>B? FALSE TRUE ADD 1TO Y C>D? ADD 1TO X Nested IF Statements/II (a) Flowchart IF A > B IF C > D ADD 1 TO X END-IFELSE ADD 1 TO YEND-IF IF A > B IF C > D ADD 1 TO X ELSE NEXT SENTENCEELSE ADD 1 TO Y. (b) NEXT SENTENCE(COBOL-74) (c) Scope Terminators(COBOL-85)

  6. Nested IF’s IBM COBOL Reference Manual: ‘The presence of one or more IF statements within the initial IF statement constitutes a "nested IF statement." Nesting statements is much like specifying subordinate arithmetic expressions enclosed in parentheses and combined in larger arithmetic expressions.’

  7. IF A = B NEXT SENTENCE ELSE PERFORM D0-ARITHMETIC-CALCULATIONSEND-IF. IF condition A = B is true then NEXT SENTENCE is executed and the ELSE phrase is ignored, and control passes to the statement following the END-IF.

  8. The Class Test NUMERICALPHABETICIF identifier IS [NOT] ALPHABETIC-UPPERALPHABETIC-LOWER (a) Syntax 05 NUMERIC-FIELD PIC 9(5).05 ALPHABETIC-FIELD PIC X(5).. . .IF NUMERIC-FIELD IS NUMERIC PERFORM D0-ARITHMETIC-CALCULATIONSEND-IF. IF NUMERIC-FIELD IS NOT NUMERIC DISPLAY ‘ERROR - NUMERIC FIELD CONTAINS INVALID DATA’END-IF. IF ALPHABETIC-FIELD IS ALPHABETIC DISPLAY ‘ALPHABETIC FIELD CONTAINS UPPER AND/OR LOWER CASE LETTERS’END-IF. IF ALPHABETIC-FIELD IS NOTALPHABETIC DISPLAY ‘ERROR - ALPHABETIC FIELD CONTAINS NON-ALPHABETIC DATA’END-IF. (b) Examples

  9. The SignTest identifier POSITIVE IF arithmetic expression IS [NOT] NEGATIVE ZERO (a) Syntax IF NET-PAY IS NOT POSITIVE PERFORM TOO-MUCH-TAXESEND-IF. IF CHECK-BALANCE IS NEGATIVE PERFORM OVERDRAWNEND-IF. (b) Examples

  10. VALUE IS THROUGH 88 data-name VALUES ARE literal-1 THRU literal-2 . . . Condition Names (88-level entries) (a) Syntax 05 YEAR-CODE PIC 9. 88 FRESHMAN VALUE 1. 88 SOPHOMORE VALUE 2. 88 JUNIOR VALUE 3. 88 SENIOR VALUE 4. 88 GRAD-STUDENT VALUES ARE 5 THRU 8. 88 UNDER-CLASSMAN VALUES ARE 1, 2 88 UPPER-CLASSMAN VALUES ARE 3, 4. 88 VALID-CODES VALUES ARE 1 THRU 8. IF FRESHMAN PERFORM WELCOME-NEW-STUDENTSEND-IF IF VALID-CODES PERFORM PROCESS-STUDENT-RECORDELSE DISPLAY ‘INCOMING YEAR CODE IS IN ERROR’END-IF. (b) Examples

  11. Level 88 Identifies any condition-name entry that is associated with a particular value of a conditional variable. Check sample code (program CPCH13B)

  12. The ACCEPT Statement WORKING-STORAGE SECTION. 01 EMPLOYEE-RECORD. . . 05 EMP-DATE-OF-BIRTH. 10 EMP-BIRTH-MONTH PIC 99. 10 EMP-BIRTH-YEAR PIC 99. 01 EMPLOYEE-AGE PIC 99V99. 01 DATE-WORK-AREA. 05 TODAYS-YEAR PIC 99. 05 TODAYS-MONTH PIC 99. 05 TODAYS-DAY PIC 99. . .PROCEDURE DIVISION.. . ACCEPT DATE-WORK-AREA FROM DATE.. . COMPUTE EMPLOYEE-AGE = TODAYS-YEAR - EMP-BIRTH-YEAR + (TODAYS-MONTH - EMP-BIRTH-MONTH) / 12.

More Related