Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- IDENTIFICATION DIVISION.
- PROGRAM-ID. PGMFN.
- DATE-COMPILED.
- ENVIRONMENT DIVISION.
- CONFIGURATION SECTION.
- SOURCE-COMPUTER. IBM-PC.
- OBJECT-COMPUTER. IBM-PC.
- SPECIAL-NAMES. DECIMAL-POINT IS COMMA.
- INPUT-OUTPUT SECTION.
- SELECT CADALU ASSIGN TO DISK
- ORGANIZATION IS LINE SEQUENTIAL.
- SELECT CADALUS ASSIGN TO DISK.
- SELECT CADALUAP ASSIGN TO DISK
- ORGANIZATION IS LINE SEQUENTIAL.
- SELECT RELALUAP ASSIGN TO DISK
- ORGANIZATION IS LINE SEQUENTIAL.
- DATA DIVISION.
- FILE SECTION.
- FD CADALU
- LABEL RECORDS IS STANDARD
- VALUE OF FILE-ID IS "CADALU.DAT".
- 01 REGALU.
- 05 CODALU PIC 9(6).
- 05 NOMALU PIC X(30).
- 05 NOTAALU PIC 9(2).
- SD CADALUS.
- 01 REGALUS.
- 05 CODALUS PIC 9(6).
- 05 NOMALUS PIC X(30).
- 05 NOTAALUS PIC 9(2).
- FD CADALUAP
- LABEL RECORDS IS STANDARD
- VALUE OF FILE-ID IS "CADALUAP.DAT".
- 01 REGALUAP.
- 05 CODALUAP PIC 9(6).
- 05 NOMALUAP PIC X(30).
- 05 NOTAALUAP PIC 9(2).
- FD RELALUAP
- LABEL RECORDS IS OMITTED.
- 01 REGPRINT PIC X(80).
- WORKING-STORAGE SECTION.
- 77 FLAG PIC X VALUE "N".
- 77 FLAG2 PIC X VALUE "N".
- 77 LINHA PIC 9(2) VALUE 25.
- 77 PAG PIC 9(3) VALUE ZEROES.
- 01 CAB1.
- 05 FILLER PIC X(10) VALUE SPACES.
- 05 FILLER PIC X(27) VALUE "RELATORIO ALUNOS APROVADOS ".
- 05 FILLER PIC X(35) VALUE SPACES.
- 05 FILLER PIC X(4) VALUE "PAG:".
- 05 VAR-PAG PIC ZZ9 VALUE SPACES.
- 01 CAB2.
- 05 FILLER PIC X(9) VALUE SPACES.
- 05 FILLER PIC X(6) VALUE "NUMERO".
- 05 FILLER PIC X(16) VALUE SPACES.
- 05 FILLER PIC X(4) VALUE "NOME".
- 05 FILLER PIC X(18) VALUE SPACES.
- 05 FILLER PIC X(4) VALUE "NOTA".
- 05 FILLER PIC X(5) VALUE SPACES.
- 05 FILLER PIC X(8) VALUE "CONCEITO".
- 01 REGDETALHE.
- 05 FILLER PIC X(9) VALUE SPACES.
- 05 VAR-NUM PIC X(06) VALUE SPACES.
- 05 FILLER PIC X(5) VALUE SPACES.
- 05 VAR-NOME PIC X(30) VALUE SPACES.
- 05 FILLER PIC X(3) VALUE SPACES.
- 05 VAR-NOTA PIC 9(2) VALUE ZEROES.
- 05 FILLER PIC X(10) VALUE SPACES.
- 05 VAR-CONCEITO PIC X(1) VALUE ZEROES.
- PROCEDURE DIVISION.
- PRINCIPAL.
- SORT CADALUS ON ASCENDING KEY NOMALUS
- INPUT PROCEDURE ORDENA
- OUTPUT PROCEDURE IMPRIME.
- CLOSE CADALU CADALUAP RELALUAP.
- STOP RUN.
- IMPRIME.
- OPEN OUTPUT RELALUAP.
- RETURN CADALUS RECORD INTO REGALUAP AT END MOVE "S" TO FLAG2.
- WRITE REGALUAP.
- PERFORM ROTINAIMPRIME UNTIL FLAG2 EQUAL "S".
- ROTINAIMPRIME.
- PERFORM IMPRIMEREL.
- RETURN CADALUS RECORD INTO REGALUAP AT END MOVE "S" TO FLAG2.
- WRITE REGALUAP.
- IMPRIMEREL.
- IF LINHA GREATER THAN 20
- PERFORM CABECALHO.
- IF NOTAALUAP < 8
- MOVE CODALUAP TO VAR-NUM
- MOVE NOMALUAP TO VAR-NOME
- MOVE NOTAALUAP TO VAR-NOTA
- MOVE "B" TO VAR-CONCEITO
- WRITE REGPRINT FROM REGDETALHE AFTER ADVANCING 1 LINES
- ADD 1 TO LINHA
- ELSE IF NOTAALUAP < 9
- MOVE CODALUAP TO VAR-NUM
- MOVE NOMALUAP TO VAR-NOME
- MOVE NOTAALUAP TO VAR-NOTA
- MOVE "A" TO VAR-CONCEITO
- WRITE REGPRINT FROM REGDETALHE AFTER ADVANCING 1 LINES
- ADD 1 TO LINHA
- ELSE
- MOVE CODALUAP TO VAR-NUM
- MOVE NOMALUAP TO VAR-NOME
- MOVE NOTAALUAP TO VAR-NOTA
- MOVE "E" TO VAR-CONCEITO
- WRITE REGPRINT FROM REGDETALHE AFTER ADVANCING 1 LINES
- ADD 1 TO LINHA
- NEXT SENTENCE.
- CABECALHO.
- ADD 1 TO PAG.
- MOVE PAG TO VAR-PAG.
- MOVE SPACES TO REGPRINT.
- WRITE REGPRINT AFTER ADVANCING PAGE.
- WRITE REGPRINT FROM CAB1 AFTER ADVANCING 1 LINES.
- WRITE REGPRINT FROM CAB2 AFTER ADVANCING 1 LINES.
- MOVE 0 TO LINHA.
- ORDENA.
- OPEN INPUT CADALU OUTPUT CADALUAP.
- PERFORM LER.
- PERFORM SEPARA UNTIL FLAG EQUAL "S".
- LER.
- READ CADALU AT END MOVE "S" TO FLAG.
- SEPARA.
- IF NOTAALU < 6
- MOVE REGALU TO REGALUS
- RELEASE REGALUS
- ELSE
- NEXT SENTENCE.
- PERFORM LER.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement