Advertisement
XeBuZer0

Factorial in COBOL + Screens

Sep 3rd, 2020 (edited)
3,418
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 6.31 KB | None | 0 0
  1.       ****************************************************************
  2.       * 3.141592653589793238462643383279502884197169399375105820974944
  3.       * Yo ya tengo por seguro que voy a ejecutar mi plan, tristemente
  4.       * me voy a Ingeniería en software en San Lorenzo Tezonco, de
  5.       * verdad tenía mucho entusiasmo y muchas ganas de ser de los
  6.       * primeros egresados de la licenciatura en Modelación Matemática
  7.       * en Cuautepec (y de la #UACM en general), pero dado lo negativo
  8.       * del «Monopolio de Modelación Matemática» en Cuautepec y lo
  9.       * lejos que quedan tanto Casa Libertad como San Lorenzo Tezonco
  10.       * de Zacatenco (que es tanto donde están ESFM y Escom), voy a
  11.       * poner el mundo al revés, donde el blanco ahora sea negro y el
  12.       * negro sea blanco
  13.       *
  14.       * De sobra esta decir que, por otra parte, los compañeros que
  15.       * conocí ya no están, ni los que entraron en mi generación ni
  16.       * tampoco los que conocí desde hace un año en las clases de
  17.       * modelación, el buen José Max acaba de «tirar la toalla», la
  18.       * hipócrita y arpía de Paty va a seguir siendo arrastrada y
  19.       * «tóxica» por siempre, y Jessy siendo la única que como persona
  20.       * vale la pena esta estancada, y no solo académicamente sino
  21.       * intelectualmente. Samuel inclusive se marchó a SLT y no dudo
  22.       * que le fue mejor, al menos allá abren más materias que acá,
  23.       * hasta Luis Fernando me ha contado hay incluso 2 hay grupos
  24.       * discutiendo la supremacía de la licenciatura en MM en SLT,
  25.       * donde cada uno tiene investigadores de vanguardia; no este
  26.       * puñado de 3 cabrones del Monopolio MM en el que (por dar
  27.       * ejemplo) cuando Samuel se fue, el Dr. Prado solo se limito
  28.       * a decir «...acaba de perder todos los privilegios y
  29.       * consideraciones que tuvo...», a lo que yo me pregunté para
  30.       * mi mismo: ¿Cuáles privilegios? ¿Cuáles consideraciones?
  31.       * Si usted es el OGeTe que no abre materias para que
  32.       * avancemos, si cuando alguien inscribe algo usted lo cambia,
  33.       * propiciando que todos aquellos quienes estamos en
  34.       * una licenciatura que dura 4 años no logremos avanzar a menos
  35.       * de la mitad en 6 años, si usted es quien en una licenciatura
  36.       * de matemáticas dice «las demostraciones no lo son todo», si
  37.       * usted es quien no quiere que la especialidad de análisis
  38.       * estadístico entre a Cuautepec porque «...casi no tiene muchas
  39.       * aplicaciones...», y si cuando pensábamos en titularnos por
  40.       * créditos de posgrado usted sutilmente nos dio a entender que
  41.       * no porque... claro, como de seguro a usted le van a dar algún
  42.       * bono extra por ser director de tesis, no le viene bien que
  43.       * nos titulemos con maestría, y de otra institución educativa
  44.       * menos. ¿De verdad tenemos privilegios? Yo digo que quienes SI
  45.       * son privilegiados andan en otro lado menos aquí. Usted mismo
  46.       * con su despotismo, egoísmo, codicia, y falta de mérito esta
  47.       * causando que se quede cavando su propia tumba SOLO.
  48.       *
  49.       * Mi próximo plan será entonces (después del anterior) pedir mi
  50.       * cambio, desde la Ingeniería en Sistemas Computacionales de la
  51.       * Escom hacia la ESFM a la Licenciatura en Física y Matemáticas
  52.       * para ser orgullosamente egresado del #IPN también.
  53.       *
  54.       * Y es que, en lo personal sigo con mi sueño, sigo esperando el
  55.       * día en el que me sienta bien conmigo mismo y en el que pueda
  56.       * consagrarme como siempre he querido proclamar: «El programador
  57.       * que sabe demostrar y el matemático que sabe programar»; pero
  58.       * sin dejar de lado mis pensamiento (socialistas), porque
  59.       * «Nada humano me es ajeno» es que pretendo poner «La técnica al
  60.       * servicio de la patria» ¡y juro que así sera! #Huelum #Gloria ☭
  61.       * 2.718281828459045235360287471352662497757247093699959574966967
  62.       ******** ********  F v q _ U k r a N a z i s  ******* ********
  63.       ****************************************************************
  64.        IDENTIFICATION DIVISION.
  65.          PROGRAM-ID. XBZ0-FACT.
  66.          AUTHOR JESÚS GUSTAVO VARGAS PÉREZ (@XEBUZER0).
  67.          INSTALLATION EN TU KORA :V .
  68.          DATE-WRITTEN 30-ABRIL-2020.
  69.          DATE-COMPILED 30-ABRIL-2020.
  70.          REMARKS Soy la mera v3rdur4 p3rr05 #DoNotDisturb #DnD.
  71.        ENVIRONMENT    DIVISION.
  72.        DATA           DIVISION.
  73.          WORKING-STORAGE SECTION.
  74.            01 WS-CONT  PIC 9(38) VALUE 1.
  75.            01 WS-ACUM  PIC 9(38) VALUE 1.
  76.            01 WS-NOMER PIC 9(38) VALUE ZEROS.
  77.          SCREEN SECTION.
  78.            01 DATA-ENTRY-SCREEN.
  79.              05 WS-TEXT VALUE "INGRESE NUMERO NATURAL MENOR 34: "
  80.                BLANK SCREEN LINE 1 COL 0 PIC A(33).
  81.              05  ID-INPUT LINE 1 COL 40 PIC X(2) TO WS-NOMER.
  82.            01 FINAL-SCREEN.
  83.              05 WS-TEXT-EXIT BLANK SCREEN LINE 1 COL 0 PIC A(33).
  84.              05 INT-EXIT VALUE ZEROS
  85.                LINE 1 COL 30 PIC 9(38) TO WS-NOMER.
  86.        PROCEDURE      DIVISION.
  87.          0000-PRINCIPAL.
  88.            PERFORM 1000-LEER.
  89.            PERFORM 2000-FACTORIAL.
  90.            PERFORM 3000-SALIR.
  91.          0000-EXIT.
  92.          EXIT.
  93.          1000-LEER.
  94.       *    DISPLAY "INGRESE NÚMERO NATURAL (menor a 34): ".
  95.            DISPLAY DATA-ENTRY-SCREEN.
  96.            ACCEPT ID-INPUT.
  97.            IF WS-NOMER IS GREATER THAN OR EQUAL TO 34
  98.              PERFORM 7500-ERROR.
  99.          1000-EXIT.
  100.          EXIT.
  101.          2000-FACTORIAL.
  102.            IF WS-NOMER IS POSITIVE THEN
  103.              PERFORM 2500-PRODUCTO WITH TEST AFTER
  104.                VARYING WS-CONT FROM 1 BY 1
  105.                  UNTIL WS-CONT EQUALS TO WS-NOMER
  106.            ELSE
  107.              MOVE 1 TO WS-ACUM
  108.            END-IF.
  109.            MOVE "El factorial es: " TO WS-TEXT-EXIT.
  110.            MOVE WS-ACUM TO INT-EXIT.
  111.            DISPLAY FINAL-SCREEN.
  112.          2000-EXIT.
  113.          EXIT.
  114.          2500-PRODUCTO.
  115.            MULTIPLY WS-ACUM BY WS-CONT GIVING WS-ACUM.
  116.          2500-EXIT.
  117.          3000-SALIR.
  118.            STOP RUN.
  119.          3000-EXIT.
  120.          EXIT.
  121.          7500-ERROR.
  122.            MOVE "ERROR: Numero mayor a 33." TO WS-TEXT-EXIT.
  123.            DISPLAY WS-TEXT-EXIT.
  124.            STOP RUN.
  125.          7500-EXIT.
  126.          EXIT.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement