XeBuZer0

Padovan's secuence in Cobol (Iterative)

Dec 22nd, 2019 (edited)
1,727
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 2.82 KB | None | 0 0
  1.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  2.       * PROGRAMA QUE CALCULA LA SUCESIÓN DE PADOVAN. CALCULA SIN   *
  3.       * PROBLEMAS HASTA EL 306. PUEDE QUE PARA NÚMEROS MÁS GRANDES *
  4.       * SE TENGA QUE UTILIZAR OTRO COMPILADOR DISTINTO A GNUCOBOL. *
  5.       * LICENCIADO BAJO GNU GENERAL PUBLIC LICENCE (GNU GPL) 3.0  *
  6.       ******** ********  F v q _ U k r a N a z i s  ******* ********
  7.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  8.        IDENTIFICATION DIVISION.
  9.        PROGRAM-ID. XBZ0-PAD.
  10.        AUTHOR JESUS GUSTAVO VARGAS PEREZ (XEBUZER0).
  11.        INSTALLATION EN TU KORA :V .
  12.        DATE-WRITTEN 21-DICIEMBRE-2019.
  13.        DATE-COMPILED 21-DICIEMBRE-2019.
  14.        REMARKS Al chile soy la mera v3rdur4 put05.
  15.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  16.        ENVIRONMENT DIVISION.
  17.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  18.        DATA DIVISION.
  19.             WORKING-STORAGE SECTION.
  20.                 01 WS-TIMES      PIC 9(38) VALUE 1.
  21.                 01 WS-ACUM       PIC 9(38) VALUE 1.
  22.                 01 WS-CONT       PIC 9(38) VALUE 1.
  23.                 01 PADONUMS.
  24.                     02 PADOPRIM  PIC 9(38) VALUE ZEROS.
  25.                     02 PADOSEGU  PIC 9(38) VALUE 1.
  26.                     02 PADOTERC  PIC 9(38) VALUE 1.
  27.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  28.        PROCEDURE DIVISION.
  29.        000-PRINCIPAL.
  30.             PERFORM 100-LEER-NUM.
  31.             PERFORM 200-PADOVAN.
  32.             PERFORM 300-SALIR.
  33.        000-EXIT.
  34.        EXIT.
  35.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  36.        005-SANITIZAR.
  37.             IF WS-TIMES < 0 THEN
  38.                 MULTIPLY WS-TIMES BY -1 GIVING WS-TIMES.
  39.        005-EXIT.
  40.        EXIT.
  41.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  42.        100-LEER-NUM.
  43.             DISPLAY "INGRESE NÚMERO NATURAL".
  44.             ACCEPT WS-TIMES.
  45.             005-SANITIZAR.
  46.        100-EXIT.
  47.        EXIT.
  48.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  49.        200-PADOVAN.
  50.             PERFORM 250-PADOCICLO
  51.                 VARYING WS-CONT FROM 1 BY 1
  52.                     UNTIL WS-CONT = WS-TIMES.
  53.             DISPLAY "EL NÚMERO DE PADOVAN ES: " WS-ACUM.
  54.        200-EXIT.
  55.        EXIT.
  56.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  57.        250-PADOCICLO.
  58.             ADD  PADOPRIM TO PADOSEGU GIVING WS-ACUM.
  59.             MOVE PADOSEGU TO PADOPRIM.
  60.             MOVE PADOTERC TO PADOSEGU.
  61.             MOVE WS-ACUM  TO PADOTERC.
  62.        250-EXIT.
  63.        EXIT.
  64.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  65.        300-SALIR.
  66.             STOP RUN.
  67.        300-EXIT.
  68.        EXIT.
  69.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
Add Comment
Please, Sign In to add comment