Utilización de rutinas para hacer cálculos repetitivos en COBOL
Capítulo 12: Rutinas y cálculos repetitivos
Veamos un programa bastante más elaborado que los que hemos visto hasta ahora en el curso.
Se trata de un programa que permite hacer cálculos repetitivos con un número introducido por el usuario.
En concreto, va a ser una calculadora de tablas de multiplicar .
IDENTIFICATION DIVISION.
PROGRAM-ID. CAPITULO-12.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 NUMERO PIC 99.
01 MULTIPLICADOR PIC 999.
01 RESULTADO PIC 9999.
01 SALIDA PIC XXXXX.
PROCEDURE DIVISION.
INICIO.
DISPLAY "Para salir introduce 'salir' en la consola.".
DISPLAY "Para multiplicar pulsa INTRO.".
ACCEPT SALIDA.
IF SALIDA = "salir"
GO TO FINALIZAR
ELSE
PERFORM REINICIA-PROGRAMA.
PERFORM INTRODUCE-NUMERO.
PERFORM MOSTRAR-TABLA.
FINALIZAR.
STOP RUN.
REINICIA-PROGRAMA.
MOVE 0 TO MULTIPLICADOR.
INTRODUCE-NUMERO.
DISPLAY "INTRODUCE UN NUMERO.".
ACCEPT NUMERO.
MOSTRAR-TABLA.
DISPLAY "LA TABLA DEL " NUMERO ":".
PERFORM CALCULOS.
CALCULOS.
ADD 1 TO MULTIPLICADOR.
COMPUTE RESULTADO = NUMERO * MULTIPLICADOR.
DISPLAY NUMERO " * " MULTIPLICADOR " = " RESULTADO.
IF MULTIPLICADOR < 10
GO TO CALCULOS.
PERFORM INICIO.
END PROGRAM CAPITULO-12.
Resultado
Tenemos la rutina INICIO
que se encarga de evaluar si el usuario introduce salir para finalizar el programa o si el programa se inicia.
Básicamente, podemos movernos por el programa gracias a las rutinas y automatizar las tareas repetitivas como la que hace esta calculadora.
Está explicado todo esto más en profundidad en el vídeo, por si esta explicación no te sirve.
Supongamos que un usuario introduce el número 25, esto es lo que devuelve la consola.
Para salir introduce 'salir' en la consola.
Para multiplicar pulsa INTRO.
INTRODUCE UN NUMERO.
25
LA TABLA DEL 25:
25 * 001 = 0025
25 * 002 = 0050
25 * 003 = 0075
25 * 004 = 0100
25 * 005 = 0125
25 * 006 = 0150
25 * 007 = 0175
25 * 008 = 0200
25 * 009 = 0225
25 * 010 = 0250
Para salir introduce 'salir' en la consola.
Para multiplicar pulsa INTRO.
Comentarios
Si te quedan dudas sobre el temario, sobre COBOL, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.