COBOL Selective Programming Construction

COBOL Move Reference Modification COBOL IF Statement

Advertisements


The statements in the program are running in a sequence until or unless if any statement executed in the flow that will alter the execution sequence.

In the program, there might be some need to execute some set of statements in a selective manner. i.e. based on some conditions.

Selective programming construction involves making the program execution in selective manner.

Single line conditional statements are the part of selective programming construction.

COBOL has a special set of commands for the selective programming as well like below.


  1. IF
  2. EVALUATE

IF:


IF statement decide the program flow based on the condition validation.

IF statement comes under condition validation programming.

IF statement mainly three types based on its usage in the program.


    • Simple IF
    • IF ELSE
    • Nested IF

Simple IF:

Simple IF mainly used to execute the condition specific code.

In IF, the set of statements executed if the specified condition is satisfied.

IF condition not satisfied, the control will transfer to the next statements after IF statement terminated.

The simple IF statement explained in detail here


IF ELSE:

IF ELSE statement used when certain set of statements flow needs to be decided by two conditions.

IF ELSE mainly used to execute the condition specific code.

In IF ELSE, the set of statements executed if the specified condition is satisfied.

IF condition not satisfied, the other set of statements will be executed and those will set will be under ELSE part.

The IF ELSE statement explained in detail here


NESTED IF:

COBOL allows the NESTED IF statement. IF statement with in the IF statement called as NESTED IF statement.

NESTED IF contains a chain of conditions which are more than two.

NESTED IF mainly used to execute the condition specific code.

The NESTED IF statement explained in detail here


EVALUATE Verb:


EVALUATE provides a multi selection control during the program execution.

EVALUATE used to validate multiple conditions in a single shot.

EVALUATE statement in COBOL is similar to Case or Switch statements of other languages.

EVALUATE can do multiple IF conditions task.

The EVALUATE statement explained in detail here


Example:


Example with a combination of IF and EVALUATE statements.


Code:


       IDENTIFICATION DIVISION.                                         
       PROGRAM-ID. IFCOND.                                             
       DATA DIVISION.                                                   
       WORKING-STORAGE SECTION.                                         
       01 STUDENT-DETAILS.                                              
          02 STD-NUM                PIC 9(03).                        
          02 STD-NAME.                                                  
             03 STD-NAME-INIT          PIC X(01).                       
                88 STD-NAME-VALID   VALUE 'A' THRU 'Z'.                 
             03 STD-NAME-REST          PIC X(14).                       
          02 STD-GENDER             PIC X(01).                          
             88 VALID-GENDER        VALUE 'M' 'F'.                      
          02 STD-MARKS              PIC 9(03).                         
             88 FIRST-CLASS         VALUE 060 THRU 100.                 
             88 SECOND-CLASS        VALUE 050 THRU 059.                 
             88 THIRD-CLASS         VALUE 035 THRU 049.                 
             88 FAIL                VALUE 000 THRU 034.                 
       PROCEDURE DIVISION.                                             
           ACCEPT STD-NUM.                                              
           ACCEPT STD-NAME.                                             
           ACCEPT STD-MARKS.                                           
           DISPLAY 'STUDENT DETAILS....'.                              
           DISPLAY 'STUDENT NUMBER : ' STD-NUM.                         
      * SIMPLE IF CONDITION                                             
           IF STD-NAME-VALID                                            
              DISPLAY 'STUDENT NAME   : ' STD-NAME                      
           END-IF.                                                      
      * IF ELSE CONDITION                                              
           IF VALID-GENDER                                              
              DISPLAY 'STUDENT GENDER : ' STD-GENDER                    
           ELSE                                                         
              DISPLAY 'STUDENT GENDER GIVEN WAS INVALID'               
           END-IF.                                                      
      * EVALUATE                                                        
           EVALUATE STD-MARKS                                          
              WHEN 60 THRU 100                                          
                   DISPLAY 'STUDENT GOT FIRST CLASS   '                
              WHEN 50 THRU 59                                           
                   DISPLAY 'STUDENT GOT SECOND CLASS  '                 
              WHEN 35 THRU 49                                          
                   DISPLAY 'STUDENT GOT THIRD CLASS   '                 
              WHEN OTHER                                                
                   DISPLAY 'STUDENT FAILED            '                 
           END-EVALUATE.                                                
           STOP RUN.                                                   



COBOL Move Reference Modification COBOL IF Statement

Advertisements