       IDENTIFICATION DIVISION.                                                 
       PROGRAM-ID. COBOL-TEST.                                                  
       ENVIRONMENT DIVISION.                                                    
       CONFIGURATION SECTION.                                                   
       SOURCE-COMPUTER. IBM-7090.                                               
       OBJECT-COMPUTER. IBM-7090.                                               
       INPUT-OUTPUT SECTION.                                                    
       FILE-CONTROL. SELECT DATA-CARD ASSIGN TO CARD-READER.                    
           SELECT OUT-IMAGE ASSIGN TO SYSOU1.                                   
       DATA DIVISION.                                                           
       FILE SECTION.                                                            
       FD  DATA-CARD, LABEL RECORDS ARE OMITTED,DATA RECORD IS                  
           CARD-IMAGE.                                                          
       01  CARD-IMAGE.                                                          
           02 SEX, PICTURE IS A.                                                
               88 MALE, VALUE IS 'M'.                                           
               88 FEMALE, VALUE IS 'F'.                                         
           02 AGE, PICTURE IS 99.                                               
           02 EMPLOYMENT-STATUS, PICTURE IS A.                                  
               88 EMPLOYED, VALUE IS 'Y'.                                       
               88 UNEMPLOYED, VALUE IS 'N'.                                     
           02 NAME, PICTURE IS X(11).                                           
           02 ADDRESS, PICTURE IS X(15).                                        
       FD  OUT-IMAGE, LABEL RECORDS ARE OMITTED, DATA RECORD IS                 
           PRINT-IMAGE.                                                         
       01  PRINT-IMAGE.                                                         
           02 CC, PICTURE IS X.                                                 
           02 SEX, PICTURE IS A.                                                
           02 FILLER, SIZE IS 5.                                                
           02 AGE, PICTURE IS 99.                                               
           02 FILLER, SIZE IS 10.                                               
           02 EMPLOYMENT-STATUS, PICTURE IS A.                                  
           02 FILLER, SIZE IS 6.                                                
           02 NAME, PICTURE IS X(11).                                           
           02 FILLER, SIZE IS 5.                                                
           02 ADDRESS, PICTURE IS X(15).                                        
       WORKING-STORAGE SECTION.                                                 
           77 MALE-AGE-COUNT, PICTURE IS 9999, USAGE IS COMPUTATIONAL,          
           VALUE IS ZERO.                                                       
           77 FEMALE-AGE-COUNT, PICTURE IS 9999, USAGE IS COMPUTATIONAL,        
      -     VALUE IS ZERO.                                                      
           77 MALE-AVERAGE, PICTURE IS ZZZZ.999, USAGE IS DISPLAY.              
           77 FEMALE-AVERAGE, PICTURE IS ZZZZ.999, USAGE IS DISPLAY.            
           77 MALE-CARD-NUMBER, PICTURE IS 99, USAGE IS COMPUTATIONAL,          
           VALUE IS ZERO.                                                       
           77 FEMALE-CARD-NUMBER, PICTURE IS 99, USAGE IS COMPUTATIONAL,        
      -     VALUE IS ZERO.                                                      
       CONSTANT SECTION.                                                        
           77 TITLER, SIZE IS 50, VALUE IS '1SEX   AGE     EMP. STATUS N        
      -    'AME            ADDRESS'.                                            
           77 SUBTITLE, SIZE IS 30, VALUE IS ' MALE AVERAGE   FEMALE AVE        
      -    'RAGE'.                                                              
       PROCEDURE DIVISION.                                                      
       BEGIN. OPEN INPUT DATA-CARD. OPEN OUTPUT OUT-IMAGE.                      
           WRITE PRINT-IMAGE FROM TITLER.                                       
           MOVE ZERO TO CC.                                                     
       READ-A-CARD. READ DATA-CARD AT END GO TO SUMMARY.                        
           IF MALE GO TO CHECK-EMPLOYMENT-MALE OTHERWISE NEXT SENTENCE.         
       CHECK-EMPLOYMENT-FEMALE. IF EMPLOYED ADD AGE IN CARD-IMAGE TO            
           FEMALE-AGE-COUNT, ADD 1 TO FEMALE-CARD-NUMBER AND GO TO              
           PRINT-OUT ELSE GO TO READ-A-CARD.                                    
       CHECK-EMPLOYMENT-MALE. IF EMPLOYED ADD AGE IN CARD-IMAGE TO              
           MALE-AGE-COUNT, ADD 1 TO MALE-CARD-NUMBER AND GO TO                  
           PRINT-OUT ELSE GO TO READ-A-CARD.                                    
       PRINT-OUT. MOVE SPACES TO PRINT-IMAGE. MOVE CORRESPONDING                
           CARD-IMAGE TO PRINT-IMAGE.                                           
           WRITE PRINT-IMAGE.                                                   
           GO TO READ-A-CARD.                                                   
       SUMMARY. DIVIDE MALE-CARD-NUMBER INTO MALE-AGE-COUNT ROUNDED.            
           DIVIDE FEMALE-CARD-NUMBER INTO FEMALE-AGE-COUNT ROUNDED.             
           MOVE MALE-AGE-COUNT TO MALE-AVERAGE.                                 
           MOVE FEMALE-AGE-COUNT TO FEMALE-AVERAGE.                             
           WRITE PRINT-IMAGE FROM SUBTITLE.                                     
           CLOSE DATA-CARD, OUT-IMAGE.                                          
           DISPLAY MALE-AVERAGE UPON SYSOU1. DISPLAY FEMALE-AVERAGE UPON        
           SYSOU1. STOP RUN.                                                    
       IDENTIFICATION DIVISION.                                                 
       PROGRAM-ID. TEST-PROGRAM.                                                
       AUTHOR. RICHARD RAGAN.                                                   
       INSTALLATION. FSU.                                                       
       ENVIRONMENT DIVISION.                                                    
       CONFIGURATION SECTION.                                                   
       SOURCE-COMPUTER. IBM-7090.                                               
       OBJECT-COMPUTER. IBM-7090.                                               
       DATA DIVISION.                                                           
       WORKING-STORAGE SECTION.                                                 
        01 NUMBER PICTURE IS 999999V999999 USAGE IS COMPUTATIONAL.              
       CONSTANT SECTION.                                                        
        01 X PICTURE IS 9V9 VALUE IS 7 USAGE IS COMPUTATIONAL.                  
        01 A PICTURE IS 9V9 VALUE IS 5 USAGE IS COMPUTATIONAL.                  
        01 B PICTURE IS 9V9 VALUE IS 4 USAGE IS COMPUTATIONAL.                  
        01 C PICTURE IS 9V9 VALUE IS 3 USAGE IS COMPUTATIONAL.                  
       PROCEDURE DIVISION.                                                      
           COMPUTE NUMBER = A * X ** 2 + B * X + C.                             
           DISPLAY NUMBER UPON SYSOU1.                                          
           STOP RUN.                                                            
$CBEND                                                                          
$JOB           RAGAN,TEST PROGRAM                                               
$EXECUTE       IBJOB                                                            
$IBJOB         GO                                                               
$IBCBC TESTIT  NODECK                                                           
       IDENTIFICATION DIVISION.                                                 
       PROGRAM-ID. CUSTOMER ACCOUNTS.                                           
       AUTHOR. RICHARD RAGAN.                                                   
       ENVIRONMENT DIVISION.                                                    
       CONFIGURATION SECTION.                                                   
       SOURCE-COMPUTER. IBM-7090.                                               
       OBJECT-COMPUTER. IBM-7090.                                               
       INPUT-OUTPUT SECTION.                                                    
       FILE-CONTROL. SELECT CUSTOMER-CARD ASSIGN TO SYSIN1.                     
           SELECT OUT-LINE ASSIGN TO SYSOU1. SELECT UPDATE-CARD ASSIGN          
           TO SYSPP1.                                                           
       DATA DIVISION.                                                           
       FILE SECTION.                                                            
       FD CUSTOMER-CARD, LABEL RECORDS ARE OMITTED, DATA RECORD IS C-CAR        
      -    D.                                                                   
       01 C-CARD.                                                               
           02 CUSTOMER-NUMBER, PICTURE IS 9(10), USAGE IS DISPLAY.              
           02 CUSTOMER-NAME, PICTURE IS X(20), USAGE IS DISPLAY.                
           02 CUSTOMER-ADDRESS, PICTURE IS X(20), USAGE IS DISPLAY.             
           02 BALANCE-DUE, PICTURE IS 9(4)V99.                                  
           02 FILLER, SIZE IS 4.                                                
           02 AMOUNT, PICTURE IS 9(4)V99.                                       
           02 TRANS-TYPE, PICTURE IS X.                                         
               88 PAYMENT, VALUE IS 'X'.                                        
           02 FILLER, SIZE IS 3.                                                
           02 DATE.                                                             
               03 MONTH, PICTURE IS 99, USAGE IS DISPLAY.                       
               03 DAY, PICTURE IS 99, USAGE IS DISPLAY.                         
               03 YEAR, PICTURE IS 99, USAGE IS DISPLAY.                        
       FD OUT-LINE, LABEL RECORDS ARE OMITTED, DATA RECORD IS                   
           PRINT-IMAGE.                                                         
       01 PRINT-IMAGE.                                                          
           02 CC, PICTURE IS X.                                                 
           02 CLEAN, SIZE IS 77.                                                
           02 DATE.                                                             
               03 MONTH, PICTURE IS ZZ, USAGE IS DISPLAY.                       
               03 SLASH1, PICTURE IS X.                                         
               03 DAY, PICTURE IS ZZ, USAGE IS DISPLAY.                         
               03 SLASH2, PICTURE IS X.                                         
               03 YEAR, PICTURE IS ZZ, USAGE IS DISPLAY.                        
           02 FILLER, SIZE IS 15.                                               
           02 AMOUNT, PICTURE IS $$$$$.99CR, USAGE IS DISPLAY.                  
       FD UPDATE-CARD, LABEL RECORDS ARE OMITTED, DATA RECORD IS                
           PUNCH-IMAGE.                                                         
       01 PUNCH-IMAGE.                                                          
           02 CUSTOMER-NUMBER, PICTURE IS 9(10).                                
           02 CUSTOMER-NAME, PICTURE IS X(20).                                  
           02 CUSTOMER-ADDRESS, PICTURE IS X(20).                               
           02 BALANCE-DUE, PICTURE IS 9(4)V99.                                  
       WORKING-STORAGE SECTION.                                                 
           77 CUSTOMER-BALANCE, PICTURE IS 9(4)V99, USAGE IS COMPUTATION        
      -    AL, VALUE IS ZERO.                                                   
               77 SUBALANCE, PICTURE IS 9(4)V99, USAGE IS COMPUTATIONAL,        
      -     VALUE IS ZERO.                                                      
       01 HEAD4, SIZE IS 26.                                                    
           02 CCC, SIZE IS 1, VALUE IS ZERO.                                    
           02 CUSNO, SIZE IS 15, VALUE IS 'CUSTOMER NUMBER'.                    
           02 CUSTOMER-NUMBER, PICTURE IS Z(10).                                
       01 STOREIT.                                                              
           02 XC, SIZE IS 1, VALUE IS SPACES.                                   
           02 STORE, PICTURE IS X(20).                                          
       01 BALDUE.                                                               
           02 BARE, SIZE IS 65.                                                 
           02 B, SIZE IS 23, VALUE IS 'BALANCE DUE MAY 31,1964'.                
           02 BALANCE-DUE, PICTURE IS $$$$$.99.                                 
       01 CLEANUP.                                                              
           02 EMPTY, SIZE IS 65.                                                
           02 C, SIZE IS 24, VALUE IS 'BALANCE DUE JUNE 30,1964'.               
           02 FINAL-BALANCE, PICTURE IS $$$$$.99.                               
       CONSTANT SECTION.                                                        
           77 HEADING, SIZE IS 66, VALUE IS '3                                  
      -    '              BIG CITY DEPARTMENT STORE'.                           
           77 HEAD2, SIZE IS 64, VALUE IS '0                                    
      -    '               STATEMENT OF ACCOUNT'.                               
           77 HEAD3, SIZE IS 58, VALUE IS '0                                    
      -    '                  JULY 1,1964'.                                     
           77 SUBHEAD, SIZE IS 85, VALUE IS '                                   
      -    '                                    TRANSACTIONS IN JUNE'.          
       PROCEDURE DIVISION.                                                      
       OPENING. OPEN INPUT CUSTOMER-CARD, OUTPUT OUT-LINE, UPDATE-CARD.         
           MOVE ' ' TO CC.                                                      
           MOVE SPACES TO BARE. MOVE SPACES TO EMPTY.                           
           READ CUSTOMER-CARD AT END GO TO WRAPUP. GO TO HEADER.                
       READ-CUSTOMER-CARD. READ CUSTOMER-CARD AT END GO TO WRAPUP.              
           IF DATE IN C-CARD EQUALS SPACES GO TO MASTER-CARD                    
           OTHERWISE NEXT SENTENCE.                                             
           MOVE AMOUNT IN C-CARD TO SUBALANCE.                                  
           IF PAYMENT SUBTRACT SUBALANCE FROM CUSTOMER-BALANCE AND GO           
           TO CREDIT ELSE ADD SUBALANCE TO CUSTOMER-BALANCE.                    
           GO TO PRINTOUT.                                                      
       CREDIT. SUBTRACT SUBALANCE FROM ZERO GIVING SUBALANCE.                   
       PRINTOUT. PERFORM CLEARIT.                                               
           MOVE CORRESPONDING DATE IN C-CARD TO DATE IN PRINT-IMAGE.            
           MOVE SUBALANCE TO AMOUNT IN PRINT-IMAGE.                             
           WRITE PRINT-IMAGE. GO TO READ-CUSTOMER-CARD.                         
       MASTER-CARD. MOVE CUSTOMER-BALANCE TO FINAL-BALANCE.                     
           WRITE PRINT-IMAGE FROM CLEANUP.                                      
           MOVE CUSTOMER-BALANCE TO BALANCE-DUE IN PUNCH-IMAGE.                 
           WRITE PUNCH-IMAGE.                                                   
       HEADER. WRITE PRINT-IMAGE FROM HEADING. WRITE PRINT-IMAGE FROM           
           HEAD2. WRITE PRINT-IMAGE FROM HEAD3.                                 
           MOVE CORRESPONDING C-CARD TO PUNCH-IMAGE.                            
           MOVE CUSTOMER-NUMBER IN C-CARD TO CUSTOMER-NUMBER IN HEAD4.          
           WRITE PRINT-IMAGE FROM HEAD4.                                        
           MOVE CUSTOMER-NAME IN C-CARD TO STORE.                               
           WRITE PRINT-IMAGE FROM STOREIT.                                      
           MOVE CUSTOMER-ADDRESS IN C-CARD TO  STORE.                           
           WRITE PRINT-IMAGE FROM STOREIT.                                      
           MOVE BALANCE-DUE IN C-CARD TO BALANCE-DUE IN BALDUE.                 
           WRITE PRINT-IMAGE FROM BALDUE. WRITE PRINT-IMAGE FROM                
           SUBHEAD.                                                             
           MOVE BALANCE-DUE IN C-CARD TO CUSTOMER-BALANCE.                      
           GO TO READ-CUSTOMER-CARD.                                            
       CLEARIT. MOVE SPACES TO PRINT-IMAGE. MOVE '/' TO SLASH1.                 
           MOVE '/' TO SLASH2. MOVE SPACES TO PUNCH-IMAGE.                      
       WRAPUP. PERFORM CLEARIT.                                                 
           MOVE CUSTOMER-BALANCE TO BALANCE-DUE IN PUNCH-IMAGE.                 
           WRITE PUNCH-IMAGE. MOVE CUSTOMER-BALANCE TO FINAL-BALANCE.           
           WRITE PRINT-IMAGE FROM CLEANUP.                                      
           CLOSE CUSTOMER-CARD, OUT-LINE, UPDATE-CARD.                          
           STOP RUN.                                                            
$CBEND                                                                          
                                                                                
