Você está na página 1de 10

IDENTIFICATION DIVISION. * * PROGRAM-ID. CONTROL SECUNDARIA. AUTHOR. ALCAZAR. DATE-WRITTEN. 27 SEP 2011. * * ENVIRONMENT DIVISION. * * CONFIGURATION SECTION. SOURCE-COMPUTER.

IBM-3090. OBJECT-COMPUTER. IBM-3090. INPUT-OUTPUT SECTION. * * FILE-CONTROL. * SELECT ENT-A ASSIGN TO ENT-A ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS SW-FS-ENT-A. ASSIGN TO ENT-B ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS SW-FS-ENT-B. ASSIGN TO SAL1 ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS SW-FS-SAL1.

* SELECT ENT-B

* SELECT SAL1

* * DATA DIVISION. * * FILE SECTION. * FD ENT-A. 01 TAB-ENT-A. 02 N-ALUM-A PIC 9(06). 02 NOM-A 03 AP-PAT-A PIC X(10). 03 AP-MAT-A PIC X(10). 03 NOMS-A PIC X(20). 02 GRUP-A PIC X(30). 02 EDAD-A PIC 9(02). * FD ENT-B. 01 TAB-ENT-B. 02 N-ALUM-B PIC 9(06).

02 MATERIA-B PIC X(20). 02 GRAD-B PIC X(20). 02 PROF-B 03 AP-PAT-B PIC X(10). 03 AP-MAT-B PIC X(10). 03 NOMS-B PIC X(20). * FD SAL1. 01 TAB-SAL1. 02 N-ALUM-SAL1 PIC 9(06). 02 NOM-SAL1 03 AP-PAT-SAL1 PIC X(10). 03 AP-MAT-SAL1 PIC X(10). 03 NOMS-SAL1 PIC X(20). 02 EDAD-SAL1 PIC 9(02). 02 PROF-SAL1 03 AP-PAT-PROF-SAL1 PIC X(10). 03 AP-MAT-PROF-SAL1 PIC X(10). 03 NOMS-PROF-SAL1 PIC X(20). 02 GRAD-SAL1 PIC X(20). 02 GRUP-SAL1 PIC X(30). 02 MATERIA-SAL1 PIC X(20). * * WORKING-STORAGE SECTION. * * 01 LEIDOS-A PIC 9(03) VALUE ZERO. 01 LEIDOS-B PIC 9(03) VALUE ZERO. 01 EDADES-DIF PIC 9(03) VALUE ZERO. 01 10-AOS PIC 9(01) VALUE ZERO. 01 11-AOS PIC 9(01) VALUE ZERO. 01 12-AOS PIC 9(01) VALUE ZERO. 01 13-AOS PIC 9(01) VALUE ZERO.

PIC 9(01) PIC 9(01) PIC 9(01) PIC 9(01) PIC 9(03) PIC 9(01) PIC 9(01) PIC 9(01) PIC 9(03) PIC 9(01) PIC 9(01) PIC 9(01) PIC 9(01) PIC 9(01) PIC 9(01) PIC 9(03) PIC 9(01) PIC 9(01) PIC 9(01) PIC 9(01) PIC 9(02) PIC 9(02)

01 14-AOS VALUE ZERO. 01 15-AOS VALUE ZERO. 01 16-AOS VALUE ZERO. 01 17-AOS VALUE ZERO. 01 GRADOS-DIF VALUE ZERO. 01 1-GRADO VALUE ZERO. 01 2-GRADO VALUE ZERO. 01 3-GRADO VALUE ZERO. 01 GRUPOS-DIF VALUE ZERO. 01 1RO-A VALUE ZERO. 01 1RO-B VALUE ZERO. 01 2DO-A VALUE ZERO. 01 2DO-B VALUE ZERO. 01 3RO-A VALUE ZERO. 01 3RO-B VALUE ZERO. 01 MATERIAS-DIF VALUE ZERO. 01 MATE VALUE ZERO. 01 ESP VALUE ZERO. 01 INGL VALUE ZERO. 01 FISICA VALUE ZERO. 01 EDAD-MIN VALUE ZERO. 01 EDAD-MAX VALUE ZERO. 01 SWITCHES.

* 05 SW-FS-END PIC X(02). VALUE '10'. 88 END-OFF VALUE '00'. * * PROCEDURE DIVISION. * * CONTROL. VALUE '00'. 88 END-OK

PERFORM INICIO PERFORM ABRIR-ARCHIVOS PERFORM LEER-A PERFORM LEER-B PERFORM PROCESO UNTIL END-OK PERFORM REPORTES-TOTALES PERFORM DISPLAY PERFORM CERRAR-ARCHIVOS PERFORM FINAL . * * ABRIR-ARCHIVOS. * OPEN INPUT ENT-A IF FS-TAB-ENT-A = 0 IF FS = 10 DISPLAY 'TAB-ENT-A ABIERTO VACIO' ELSE DISPLAY 'TAB-ENT-A ABIERTO ERRONEO' PERFORM FINAL END-IF END-IF * OPEN INPUT ENT-B IF FS-TAB-ENT-B = 0 IF FS = 10 DISPLAY 'TAB-ENT-B ABIERTO VACIO' ELSE DISPLAY 'TAB-ENT-B ABIERTO ERRONEO' PERFORM FINAL END-IF END-IF * OPEN OUTPUT SAL1 IF FS-TAB-SAL1 NOT = 0 DISPLAY 'TAB-SAL1 ABIERTO ERRONEO' PERFORM FINAL END-IF . * * LEER-A. READ ENT-A IF FS-TAB-ENT-A NOT = 0 IF FS = 10

DISPLAY 'TAB-ENT-A VACIO' ELSE DISPLAY 'OPEN-ERROR-TAB-ENT-A' END-IF PERFORM FINAL END-IF ADD 1 TO LEIDOS-A PERFORM EDADES-DIFERENTES PERFORM GRUPOS-DIFERENTES . LEER-B. READ ENT-B IF FS-TAB-ENT-B =0 IF FS = 10 DISPLAY 'TAB-ENT-A VACIO' ELSE DISPLAY 'OPEN-ERROR-TAB-ENT-B' END-IF PERFORM FINAL END-IF ADD 1 TO LEIDOS-B PERFORM GRADOS-DIFERENTES PERFORM MATERIAS-DIFERENTES . PROCESO. IF N-ALUM-A = N-ALUM-B MOVE N-ALUM-A TO MOVE NOM-A TO MOVE EDAD-A TO MOVE PROF-B TO MOVE GRAD-B TO MOVE GRUP-A TO MOVE MATERIA-B TO WRITE TAB-SAL1 IF FS-TAB-SAL1 NOT=0 DISPLAY'ERRROR-ESCRITURA-TAB-SAL1' PERFORM FINAL END-IF ADD 1 TO ESCRITOS-SAL1 PERFORM LEER-B ELSE IF N-ALUM-A > N-ALUM-B PERFORM LEER-B ELSE PERFORM LEER-A END-IF END-IF N-ALUM-SAL1 NOM-SAL1 EDAD-SAL1 PROF-SAL1 GRAD-SAL1 GRUP-SAL1 MATERIA-SAL1

. * * EDADES-DIFERENTES.

EVALUATE WHEN EDAD-A = 10 IF 10-AOS = 0 ADD 1 TO END-IF WHEN EDAD-A = 11 IF 11-AOS = 0 ADD 1 TO END-IF WHEN EDAD-A = 12 IF 12-AOS = 0 ADD 1 TO END-IF WHEN EDAD-A = 13 IF 13-AOS = 0 ADD 1 TO END-IF WHEN EDAD-A = 14 IF 14-AOS = 0 ADD 1 TO END-IF WHEN EDAD-A = 15 IF 15-AOS = 0 ADD 1 TO END-IF WHEN EDAD-A = 16 IF 16-AOS = 0 ADD 1 TO END-IF WHEN EDAD-A = 17 IF 17-AOS = 0 ADD 1 TO END-IF END-EVALUATE .

10-AOS

11-AOS

12-AOS

13-AOS

14-AOS

15-AOS

16-AOS

17-AOS

GRADOS-DIFERENTES. EVALUATE WHEN GRAD-B = 1 IF 1-GRADO = 0 ADD 1 TO 1-GRADO END-IF WHEN GRAD-B = 2 IF 2-GRADO = 0 ADD 1 TO 2-GRADO END-IF WHEN GRAD-B = 3 IF 3-GRADO = 0 ADD 1 TO 3-GRADO END-IF END-EVALUATE . GRUPOS-DIFERENTES. EVALUATE WHEN GRUP-A = 'PRIMERO A' IF 1RO-A = 0 ADD 1 TO 1RO-A

END-IF WHEN GRUP-A = 'PRIMERO IF 1RO-B = 0 ADD 1 TO END-IF WHEN GRUP-A = 'SEGUNDO IF 2DO-A = 0 ADD 1 TO END-IF WHEN GRUP-A = 'SEGUNDO IF 2DO-B = 0 ADD 1 TO END-IF WHEN GRUP-A = 'TERCERO IF 3RO-A = 0 ADD 1 TO END-IF WHEN GRUP-A = 'TERCERO IF 3RO-B = 0 ADD 1 TO END-IF END-EVALUATE .

B' 1RO-B A' 2DO-A B' 2DO-B A' 3RO-A B' 3RO-B

MATERIAS-DIFERENTES. EVALUATE WHEN MATERIA-B = 'MATEMATICAS' IF MATE = 0 ADD 1 TO MATE END-IF WHEN MATERIA-B = 'ESPAOL' IF ESP = 0 ADD 1 TO ESP END-IF WHEN MATERIA-B = 'INGLES' IF INGL = 0 ADD 1 TO INGL END-IF WHEN MATERIA-B = 'FISICA' IF FISICA = 0 ADD 1 TO FISICA END-IF . * * F ADD 1-GRADO,2-GRADO,3-GRADO GIVING GRADOS-DIF ADD 1RO-A,1RO-B,2DO-A,2DO-B,3RO-A,3RO-B GIVING GRUPOS-DIF ADD MATE,ESP,INGL,FISICA GIVING MATERIAS-DIF . * *

REPORTES-TOTALES. ADD 10-AOS,11-AOS,12-AOS,13-AOS,14-AOS,15-AOS,16-AOS,17-AOS GIVING EDAD

EDAD-MINIMA. IF 10-AOS > 0 MOVE 10 TO EDAD-MIN ELSE IF 11-AOS > 0 MOVE 11 TO EDAD-MIN END-IF ELSE IF 12-AOS > 0 MOVE 12 TO EDAD-MIN END-IF ELSE IF 13-AOS > 0 MOVE 13 TO EDAD-MIN END-IF ELSE IF 14-AOS > 0 MOVE 14 TO EDAD-MIN END-IF ELSE IF 15-AOS > 0 MOVE 15 TO EDAD-MIN END-IF ELSE IF 16-AOS > 0 MOVE 16 TO EDAD-MIN END-IF ELSE IF 17-AOS > 0 MOVE 17 TO EDAD-MIN END-IF

. EDAD-MAXIMA. IF 17-AOS > 0 MOVE 17 TO EDAD-MAX ELSE IF 16-AOS > 0 MOVE 16 TO EDAD-MAX END-IF ELSE IF 15-AOS > 0 MOVE 15 TO EDAD-MAX END-IF ELSE IF 14-AOS > 0 MOVE 14 TO EDAD-MAX END-IF ELSE IF 13-AOS > 0 MOVE 13 TO EDAD-MAX END-IF ELSE IF 12-AOS > 0

MOVE 12 TO EDAD-MAX END-IF ELSE IF 11-AOS > 0 MOVE 11 TO EDAD-MAX END-IF ELSE IF 10-AOS > 0 MOVE 10 TO EDAD-MAX END-IF . DISPLAY. 1234567 0123456789012 DISPLAY XXXXXXXXXXXXX' DISPLAY XX' DISPLAY XX' DISPLAY XX' DISPLAY XXXXXXXXXXXXX' DISPLAY XX' DISPLAY XX' DISPLAY XX' DISPLAY XX' DISPLAY XX' DISPLAY L1' XX' DISPLAY XX' DISPLAY XX' DISPLAY XX' DISPLAY XX' DISPLAY XX' DISPLAY XX' DISPLAY XX' DISPLAY F' XX' DISPLAY XX' DISPLAY 12345678901234567890123456789012345678901234567890123456789 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 'XX 'XX 'XX 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 'XX 'XX 'XX 'XX 'XX 'XX 'XX 'XX 'XX 'XX 'XX 'XX 'XX 'XX 'XX 'XX - E D A D M I N I M A:' EDAD-MIN' - M A T E R I A S D I F E R E N T E S:' MATERIAS-DI - G R U P O S D I F E R E N T E S:' GRUPOS-DIF' - G R A D O S D I F E R E N T E S:' GRAD-DIF' - E D A D E S D I F E R E N T E S:' EDADES-DIF' - A R C H I V O S E S C R I T O S:' ESCRITOS-SA - A R C H I V O S L E I D O S B:' LEIDOS-B' - A R C H I V O S L E I D O S A:' LEIDOS-A' R E P O R T E

XX' DISPLAY XX' DISPLAY XX' DISPLAY XX' DISPLAY XXXXXXXXXXXXX' .

'XX 'XX 'XX 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - E D A D M A X I M A:' EDAD-MAX'

CERRAR-ARCHIVOS. CLOSE ENT-A IF FS-TAB-ENT-A NOT=0 DISPLAY'ERROR-CIERRE-TAB-ENT-A' PERFORM FINAL END-IF * CLOSE ENT-B IF FS-TAB-ENT-B NOT=0 DISPLAY'ERROR-CIERRE-TAB-ENT-B' PERFORM FINAL END-IF * CLOSE SAL1 IF FS-TAB-SAL1 NOT=0 DISPLAY'ERROR-CIERRE-TAB-SAL1' PERFORM FINAL END-IF * FINAL. STOP RUN .

Você também pode gostar