Advertisement
marcocunhasilva

Programa de Notas em COBOL

Mar 16th, 2023
995
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 8.47 KB | Source Code | 0 0
  1.        IDENTIFICATION DIVISION.
  2.        PROGRAM-ID.  NOTAS.
  3.       *
  4.        ENVIRONMENT DIVISION.
  5.        CONFIGURATION SECTION.
  6.        SPECIAL-NAMES.
  7.            DECIMAL-POINT IS COMMA.
  8.        DATA DIVISION.
  9.        WORKING-STORAGE SECTION.
  10.        01  VARIAVEIS-SISTEMA.
  11.            02  WS-N1          PIC 9(02)V9 VALUE ZEROS.
  12.            02  WS-N2          PIC 9(02)V9 VALUE ZEROS.
  13.            02  WS-N3          PIC 9(02)V9 VALUE ZEROS.         
  14.            02  WS-N4          PIC 9(02)V9 VALUE ZEROS.
  15.            02  WS-MEDIA       PIC 9(02)V9 VALUE ZEROS.
  16.            02  WS-MEDIA-FINAL PIC ZZ,Z.
  17.            02  WS-LINHA       PIC 9(02) VALUE ZEROS.
  18.            02  WS-LIMPA       PIC X(30) VALUE SPACES.
  19.            02  WS-LIMPA-MSG   PIC X(66) VALUE SPACES.
  20.            02  RESPOSTA       PIC A.
  21.            02  CODIGO         PIC X(03) VALUE "SIM".
  22.            02  WS-PAUSA       PIC X(01).
  23.        01  WS-DATA.
  24.            02  WS-ANO         PIC 9(02) VALUE ZEROS.
  25.            02  WS-MES         PIC 9(02) VALUE ZEROS.
  26.            02  WS-DIA         PIC 9(02) VALUE ZEROS.
  27.        01  WS-HORA.
  28.            02  WS-HOR         PIC 9(02) VALUE ZEROS.
  29.            02  WS-MIN         PIC 9(02) VALUE ZEROS.
  30.            02  WS-SEG         PIC 9(02) VALUE ZEROS.
  31.            02  WS-CSE         PIC 9(02) VALUE ZEROS.
  32.        SCREEN SECTION.
  33.        01  SS-LIMPA-TELA.
  34.            02 BLANK SCREEN.
  35.        01  SS-JANELA.
  36.            02 BLANK SCREEN.
  37.            02 LINE 02 COLUMN 01 VALUE "+------------------------------------".
  38.            02 LINE 02 COLUMN 41 VALUE "------------------------------------+".
  39.            02 LINE 03 COLUMN 01 VALUE "+                                    ".
  40.            02 LINE 03 COLUMN 41 VALUE "                                    +".
  41.            02 LINE 04 COLUMN 01 VALUE "+------------------------------------".
  42.            02 LINE 04 COLUMN 41 VALUE "------------------------------------+".         
  43.            02 LINE 05 COLUMN 01 VALUE "+                                    ".
  44.            02 LINE 05 COLUMN 41 VALUE "                                    +".
  45.            02 LINE 06 COLUMN 01 VALUE "+                                    ".
  46.            02 LINE 06 COLUMN 41 VALUE "                                    +".
  47.            02 LINE 07 COLUMN 01 VALUE "+                                    ".
  48.            02 LINE 07 COLUMN 41 VALUE "                                    +".
  49.            02 LINE 08 COLUMN 01 VALUE "+                                    ".
  50.            02 LINE 08 COLUMN 41 VALUE "                                    +".
  51.            02 LINE 09 COLUMN 01 VALUE "+                                    ".
  52.            02 LINE 09 COLUMN 41 VALUE "                                    +".
  53.            02 LINE 10 COLUMN 01 VALUE "+                                    ".
  54.            02 LINE 10 COLUMN 41 VALUE "                                    +".
  55.            02 LINE 11 COLUMN 01 VALUE "+                                    ".
  56.            02 LINE 11 COLUMN 41 VALUE "                                    +".
  57.            02 LINE 12 COLUMN 01 VALUE "+                                    ".
  58.            02 LINE 12 COLUMN 41 VALUE "                                    +".
  59.            02 LINE 13 COLUMN 01 VALUE "+                                    ".
  60.            02 LINE 13 COLUMN 41 VALUE "                                    +".
  61.            02 LINE 14 COLUMN 01 VALUE "+                                    ".
  62.            02 LINE 14 COLUMN 41 VALUE "                                    +".
  63.            02 LINE 15 COLUMN 01 VALUE "+                                    ".
  64.            02 LINE 15 COLUMN 41 VALUE "                                    +".
  65.            02 LINE 16 COLUMN 01 VALUE "+                                    ".
  66.            02 LINE 16 COLUMN 41 VALUE "                                    +".
  67.            02 LINE 17 COLUMN 01 VALUE "+                                    ".
  68.            02 LINE 17 COLUMN 41 VALUE "                                    +".
  69.            02 LINE 18 COLUMN 01 VALUE "+                                    ".
  70.            02 LINE 18 COLUMN 41 VALUE "                                    +".
  71.            02 LINE 19 COLUMN 01 VALUE "+                                    ".
  72.            02 LINE 19 COLUMN 41 VALUE "                                    +".
  73.            02 LINE 20 COLUMN 01 VALUE "+                                    ".
  74.            02 LINE 20 COLUMN 41 VALUE "                                    +".
  75.            02 LINE 21 COLUMN 01 VALUE "+                                    ".
  76.            02 LINE 21 COLUMN 41 VALUE "                                    +".
  77.            02 LINE 22 COLUMN 01 VALUE "+------------------------------------".
  78.            02 LINE 22 COLUMN 41 VALUE "------------------------------------+".
  79.            02 LINE 23 COLUMN 01 VALUE "+ MENSAGEM: [                        ".
  80.            02 LINE 23 COLUMN 41 VALUE "                                   ]+".
  81.            02 LINE 24 COLUMN 01 VALUE "+------------------------------------".
  82.            02 LINE 24 COLUMN 41 VALUE "------------------------------------+".
  83.        01  SS-TITULO.
  84.            02 LINE 02 COLUMN 30 VALUE "C O N T R O L E  D E  M E D I A S".     
  85.        PROCEDURE DIVISION.
  86.        INICIO.
  87.       *    DISPLAY (01, 01) ERASE.        
  88.            DISPLAY SS-LIMPA-TELA.
  89.       *    DISPLAY SS-JANELA.
  90.            DISPLAY SS-TITULO.
  91.       *    ACCEPT WS-DATA FROM DATE.
  92.       *    ACCEPT WS-HORA FROM TIME.
  93.       *    DISPLAY JANELA.
  94.       *    DISPLAY (23, 69) WS-DIA "/" WS-MES "/20" WS-ANO.
  95.       *    DISPLAY (23, 58) WS-HOR ":" WS-MIN ":" WS-SEG.
  96.       *    PERFORM ROT-LIMPA-TELA.
  97.            PERFORM ROT-JANELA.
  98.       *    PERFORM ROT-TITULO.
  99.            PERFORM ROT-MOSTRA-DADOS.
  100.            PERFORM ROT-PREENCHE-NOTAS.
  101.            PERFORM ROT-CALCULA-MEDIA.
  102.       *   PERFORM 050-LIMPA-DADOS.
  103.  
  104.        ROT-MOSTRA-DADOS.
  105.            DISPLAY(06, 07) 'NOTA 1: '.
  106.            DISPLAY(07, 07) 'NOTA 2: '.
  107.            DISPLAY(08, 07) 'NOTA 3: '.
  108.            DISPLAY(09, 07) 'NOTA 4: '.
  109.            DISPLAY(10, 07) 'MEDIA.: '.
  110.        ROT-PREENCHE-NOTAS.
  111.            ACCEPT (06, 15) WS-N1 WITH PROMPT.
  112.            ACCEPT (07, 15) WS-N2 WITH PROMPT.
  113.            ACCEPT (08, 15) WS-N3 WITH PROMPT.
  114.            ACCEPT (09, 15) WS-N4 WITH PROMPT.          
  115.        ROT-CALCULA-MEDIA.
  116.            COMPUTE WS-MEDIA = (WS-N1 + WS-N2 + WS-N3 + WS-N4)/4.
  117.            MOVE WS-MEDIA TO MFINAL.
  118.            DISPLAY (10, 32) MFINAL.
  119.            IF WS-MEDIA < 7,0 AND WS-MEDIA > 3,9
  120.       *      DISPLAY TELA-COMP1
  121.               DISPLAY (23, 14) "PROVA FINAL               "
  122.               ACCEPT (08, 32) WS-PF WITH PROMPT
  123.               COMPUTE WS-MEDIA = (WS-MEDIA + WS-PF)/2
  124.               MOVE WS-MEDIA TO MFINAL
  125.               DISPLAY (10, 32) MFINAL.
  126.            IF WS-MEDIA = 7 OR WS-MEDIA > 7
  127.               DISPLAY (23, 14) "APROVADO - Tecle ENTER.   ".
  128.            IF WS-MEDIA < 7
  129.               DISPLAY (23, 14) "REPROVADO - Tecle ENTER.  ".
  130.            ACCEPT (23, 41) WS-PAUSA.
  131.        ROT-SAIR-OU-NAO.
  132.            DISPLAY(23, 14) "Deseja recalcular? (S/N)  ".
  133.            ACCEPT(23, 39) RESPOSTA.
  134.            IF RESPOSTA = "N" OR "n"
  135.               MOVE "NAO" TO CODIGO
  136.               GO TO ROT-FIM
  137.            ELSE IF RESPOSTA = "S" OR "s"
  138.               NEXT SENTENCE
  139.            ELSE IF RESPOSTA NOT EQUAL TO "S" OR "s" OR "N" OR "n"
  140.               DISPLAY(23, 14) "Digitar (S/N) ou (s/n):          "
  141.               ACCEPT(23, 37)  RESPOSTA
  142.               DISPLAY(23, 14) "                                 ".
  143.        ROT-LIMPA-TELA.
  144.            DISPLAY(01, 01) ERASE.
  145.        ROT-LIMPA-DADOS.
  146.            DISPLAY (06, 32) WS-LIMPA.
  147.            DISPLAY (07, 32) WS-LIMPA.
  148.            DISPLAY (08, 32) WS-LIMPA.
  149.            DISPLAY (10, 32) WS-LIMPA.
  150.            DISPLAY (23, 14) "                                         ".
  151.            GO TO INICIO.
  152.        ROT-TELA-FIM.
  153.            DISPLAY(10, 20) '***************************************'.
  154.            DISPLAY(11, 20) '*                                     *'.
  155.            DISPLAY(12, 20) '*         DESENVOLVIDO POR            *'.
  156.            DISPLAY(13, 20) '*                                     *'.
  157.            DISPLAY(14, 20) '*   MARCO ANTONIO CUNHA DA SILVA      *'.
  158.            DISPLAY(15, 20) '*                                     *'.
  159.            DISPLAY(16, 20) '*                                     *'.
  160.            DISPLAY(17, 20) '***************************************'.      
  161.       ***---------- FIM DO PROGRAMA NOTAS ---------***
  162.        ROT-FIM.
  163.            PERFORM ROT-LIMPA-TELA.
  164.            DISPLAY ROT-TELA-FIM.
  165.            STOP RUN.
  166.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement