XeBuZer0

Fibonacci's secuence in Cobol (iterative)

Dec 21st, 2019 (edited)
1,829
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 2.75 KB | None | 0 0
  1.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  2.       * PROGRAMA QUE CALCULA LA SUCESIÓN DE FIBONACCI. CALCULA SIN *
  3.       * PROBLEMAS HASTA EL 183. 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-FIB.
  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 #AlChile soy la mera v3rdur4 prr05 #DoNotDisturb #DnD
  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 FIBONUMS.
  24.                     02 FIBOPRIM  PIC 9(38) VALUE ZEROS.
  25.                     02 FIBOSEGU  PIC 9(38) VALUE 1.
  26.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  27.        PROCEDURE DIVISION.
  28.        000-PRINCIPAL.
  29.             PERFORM 100-LEER-NUM.
  30.             PERFORM 200-FIBONACCI.
  31.             PERFORM 300-SALIR.
  32.        000-EXIT.
  33.        EXIT.
  34.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  35.        005-SANITIZAR.
  36.             IF WS-TIMES < 0 THEN
  37.                 MULTIPLY WS-TIMES BY -1 GIVING WS-TIMES.
  38.        005-EXIT.
  39.        EXIT.
  40.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  41.        100-LEER-NUM.
  42.             DISPLAY "INGRESE NÚMERO NATURAL".
  43.             ACCEPT WS-TIMES.
  44.             005-SANITIZAR.
  45.        100-EXIT.
  46.        EXIT.
  47.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  48.        200-FIBONACCI.
  49.             PERFORM 250-FIBOCICLO
  50.                 VARYING WS-CONT FROM 1 BY 1
  51.                     UNTIL WS-CONT = WS-TIMES.
  52.             DISPLAY "EL NÚMERO DE FIBONACCI ES: " WS-ACUM.
  53.        200-EXIT.
  54.        EXIT.
  55.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  56.        250-FIBOCICLO.
  57.             ADD  FIBOPRIM TO FIBOSEGU GIVING WS-ACUM.
  58.             MOVE FIBOSEGU TO FIBOPRIM.
  59.             MOVE WS-ACUM  TO FIBOSEGU.
  60.        250-EXIT.
  61.        EXIT.
  62.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
  63.        300-SALIR.
  64.             STOP RUN.
  65.        300-EXIT.
  66.        EXIT.
  67.       ***C**** ***O**** ***M**** ***M**** ***E**** ***N**** ***T****
Add Comment
Please, Sign In to add comment