Advertisement
arthur393

FATORIAL

Apr 11th, 2014
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 2.15 KB | None | 0 0
  1.         IDENTIFICATION DIVISION .
  2.         PROGRAM-ID. FATORIAL.
  3.         AUTHOR. ARTHUR.
  4.         ENVIRONMENT DIVISION.
  5.            
  6.         DATA DIVISION.
  7.         WORKING-STORAGE SECTION.
  8.         01 AREA-TRABALHO.
  9.             02 WS-NOME          PIC X(30).
  10.             02 WS-CONTADOR      PIC 9(03).
  11.             02 WS-NUMERO        PIC 9(02).
  12.             02 WS-RESULTADO     PIC 9(07).
  13.             02 WS-CONTINUA      PIC X(02) VALUE SPACE.
  14.             02 WS-FL            PIC9(01) VALUE ZEROS.
  15.             01 MENSAGENS-DE-TELA.
  16.             02 MENSA1 PIC X(30) VALUE "NUMERO MENOR QUE 10".
  17.             02 MENSA2 PIC X(30) VALUE "FIM DO PROGRAMA".
  18.             02 MENSA3 PIC X(30) VALUE SPACE.
  19.        
  20.         01 DATA-DO-SISTEMA.
  21.             02 ANO PIC 9(02) VALUE ZEROS.
  22.             02 MES PIC 9(02) VALUE ZEROS.
  23.             02 DIA PIC 9(02) VALUE ZEROS.
  24.         SCREEN SECTION.
  25.         01 TELA01.
  26.             02 BLANK SCREEN.
  27.             02 LINE 02 COLUMN 05 PIC 9(02)/ USING DIA.
  28.             02 LINE 02 COLUMN 08 PIC 9(02)/ USING MES.
  29.             02 LINE 02 COLUMN 11 PIC 9(02)/ USING ANO.
  30.             02 LINE 02 COLUMN 28 PIC X(50)  VALUE "C A L C U L O   D E   F A T O R I A L".
  31.             02 LINE 08 COLUMN 21 PIC X(50)  VALUE "NOME....:".
  32.             02 LINE 12 COLUMN 21 PIC X(50)  VALUE "NUMERO..:".
  33.             02 LINE 14 COLUMN 21 PIC X(50)  VALUE "FATORIAL:".     
  34.             02 LINE 16 COLUMN 21 PIC X(50)  VALUE "CONTINUA (S/N):".
  35.                        
  36.             PROCEDURE DIVISION.
  37.             INICIO.
  38.                 ACCEPT  DATA-DO-SISTEMA FROM DATE.
  39.                 PERFORM PROCESSO UNTIL WS-CONTINUA = "N".
  40.                 PERFORM SAIDA.
  41.                 STOP RUN.
  42.             PROCESSO.
  43.                 PERFORM TELA.
  44.                 MOVE ZEROS TO WS-FL.
  45.                 PERFORM ENTRA-DADOS UNTIL WS-FL=1.
  46.                 PERFORM CALCULA     UNTIL WS-CONTADOR > WS-NUMERO.
  47.                 PERFORM RESULTADO.
  48.                 EXIT.
  49.             TELA.
  50.                 DISPLAY ERASE AT 0101.
  51.                 DISPLAU TELA 01 AT 0101.
  52.                 MOVE 2 TO WS-CONTADOR.
  53.                 MOVE ZEROS TO WS-MUMERO.
  54.                 MOVE 1 TO WS-RESULTADO.
  55.                 MOVE 1.
  56.                 EXIT.
  57.             ENTRA-DADOS.
  58.                 ACCEPT WS-NOME   AT 0832 WITH PROMPT AUTO.
  59.                 ACCEPT WS-NUMERO AT 1232 WITH PROMPT AUTO.
  60.                 DISPLAY MENSA3 AT 2310.
  61.                 MOVE 1 TO WS-FL.
  62.                 EXIT.
  63.             CALCULA.
  64.                 COMPUTE WS-RESULTADO=WS-RESULTADO*WS-CONTADOR.
  65.                 ADD1 TO WS-CONTADOR.
  66.                 EXIT.
  67.             RESULTADO.
  68.                 DISPLAY WS-RESULTADO AT 1432.
  69.                 ACCEPT WS-CONTINUA   AT 1628 WITH PROMPT AUTO.
  70.                 EXIT.
  71.             SAIDA.
  72.                 DISPLAY ERASE AT 0101.
  73.                 DISPLAY MENSA2
  74.                 EXIT.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement