000100 IDENTIFICATION DIVISION. 000200 PROGRAM-ID. AGO-83-14. 000300 AUTHOR. DANIELE GIACOMINI. 000400 DATE-WRITTEN. 1983-08. 000500* 000600 ENVIRONMENT DIVISION. 000700* 000800 INPUT-OUTPUT SECTION. 000900* 001000 FILE-CONTROL. 001100* 001200 SELECT FILE-DA-ELABORARE ASSIGN TO "calc.seq" 001300 ORGANIZATION IS SEQUENTIAL. 001400* 001500 DATA DIVISION. 001600* 001700 FILE SECTION. 001800* 001900 FD FILE-DA-ELABORARE 002000 LABEL RECORD IS STANDARD. 002100* 002200 01 RECORD-DA-ELABORARE. 002300 02 NUMERO-1 PIC 9(15). 002400 02 TIPO-CALCOLO PIC X. 002500 02 NUMERO-2 PIC 9(15). 002600 02 UGUALE PIC X. 002700 02 RISULTATO PIC 9(15). 002800 02 SEPARAZIONE PIC X. 002900 02 RESTO PIC 9(15). 003000 02 NOTE PIC X(18). 003100* 003200 WORKING-STORAGE SECTION. 003300* 003400 01 CAMPI-SCALARI. 003500 02 EOF PIC 9 COMP VALUE IS 0. 003600 02 EOJ PIC 9 COMP VALUE IS 0. 003700* 003800 PROCEDURE DIVISION. 003900*------------------------- LIVELLO 0 ----------------- 004000 MAIN. 004100 OPEN I-O FILE-DA-ELABORARE. 004200 READ FILE-DA-ELABORARE 004300 AT END MOVE 1 TO EOF. 004400 PERFORM ELABORAZIONE UNTIL EOF = 1. 004500 CLOSE FILE-DA-ELABORARE. 004600 STOP RUN. 004700*------------------------- LIVELLO 1 ----------------- 004800 ELABORAZIONE. 004900 MOVE SPACES TO NOTE. 005000 MOVE ZERO TO RESTO. 005100 IF TIPO-CALCOLO = "+" 005200 THEN 005300 COMPUTE RISULTATO = NUMERO-1 + NUMERO-2; 005400 ELSE IF TIPO-CALCOLO = "-" 005500 THEN 005600 COMPUTE RISULTATO = NUMERO-1 - NUMERO-2; 005700 ELSE IF TIPO-CALCOLO = "*" 005800 THEN 005900 COMPUTE RISULTATO = NUMERO-1 * NUMERO-2; 006000 ELSE IF TIPO-CALCOLO = "/" 006100 THEN 006200 DIVIDE NUMERO-1 BY NUMERO-2 GIVING RISULTATO, 006300 REMAINDER RESTO; 006400 ELSE 006500 MOVE ZERO TO RISULTATO, 006600 MOVE "CALCOLO ERRATO" TO NOTE. 006700 006800 MOVE "=" TO UGUALE. 006900 MOVE SPACE TO SEPARAZIONE. 007000 DISPLAY RECORD-DA-ELABORARE. 007100 REWRITE RECORD-DA-ELABORARE. 007200 READ FILE-DA-ELABORARE 007300 AT END MOVE 1 TO EOF. 007400*