|
1) Prueba
(Baja el
Fuente) |
|
Primer ejemplo en COBOL.
Realiza poco, pero deberás pensar poco para entenderlo. Emite un breve
mensaje en pantalla, detiene la consola para que la puedas leer y muestra
un mensaje parpadeante (BLINK) para que oprimas una tecla para salir.
Debido a las exigencias del
COBOL, la escritura debe comenzar el la columna 8 y no exceder la 72. Los
comentarios en este lenguaje se generan con asterisco (*) en la 7ª
columna. Lo que se escribe dentro de los Párrafos (por ej. PARRAFO,
se debe hacer a partir de la columna 12 hasta la 72.
|
|
|
Código Fuente |
IDENTIFICATION DIVISION.
PROGRAM-ID. PRUEBA.
* Cuidado con las columnas (el * va en la 7 y la D de DATA en la 8)
DATA
DIVISION. WORKING-STORAGE
SECTION. 1 OK PIC
X. PROCEDURE
DIVISION. PARRAFO.
DISPLAY "Esta es una prueba en
RM-COBOL"
LINE 1
POSITION 1
ERASE
"Oprime una tecla" LINE 23 POSITION 40
BLINK
ACCEPT
OK STOP
RUN. |
Compilador RM85-COBOL ──>
RM-COBOL.zip |
|
2) Altas a un Archivo indexado
(Baja el
Fuente) |
|
Aquí muestro como dar altas
en un archivo indexado en COBOL. Existen diversas reglas que deberían
interpretarse (WRITE, INVALID KEY, etc.) si no las conocen, es porque
jamás programaron en COBOL, en ese caso, deberían leer algo y en caso de
no poder hacerlo, escribirme un correo detallando bien el problema (siempre que el problema no sea falta de voluntad en el
estudio y la lectura).
Debido a las exigencias del
COBOL, la escritura debe comenzar el la columna 8 y no exceder la 72. Los
comentarios en este lenguaje se generan con asterisco (*) en la 7ª
columna. Lo que se escribe dentro de los Párrafos (por ej. ALTAS,
se debe hacer a partir de la columna 12 hasta la 72. |
|
3) Lectura de un Archivo indexado
(Baja
el Fuente) |
|
Aquí muestro como efectura
lecturas (consultas) en un archivo indexado en COBOL. Existen diversar
reglas que deberían interpretarse (READ, INVALID KEY, START KEY, etc.) si
no las conocen, es porque estudiaron COBOL, en ese caso, deberían leer
algo y en caso de no poder hacerlo, escribirme un correo detallando bien
el problema (siempre que el problema no sea falta de
voluntad en el estudio y la lectura).
Debido a las exigencias del
COBOL, la escritura debe comenzar el la columna 8 y no exceder la 72. Los
comentarios en este lenguaje se generan con asterisco (*) en la 7ª
columna. Lo que se escribe dentro de los Párrafos (por ej. KIKO,
se debe hacer a partir de la columna 12 hasta la 72. ATENCIÓN: Este es mi último aviso sobre las
reglas de encolumnados en la escritura del COBOL |
|
4) Modificaciones de un Archivo indexado
(Baja
el Fuente) |
|
Ejemplo de Modificaciones
del archivo indexado de alumnos. Uso del REWRITE para "regrabar" registros
existentes. |
|
5) Bajas de un Archivo indexado
(Baja el
Fuente) |
|
Ejemplo de Bajas del
archivo indexado de alumnos. Uso del DELETE para "borrar" registros
existentes. |
|
6) Sistema de Alumnos (Uso del CALL)
(Baja
los Fuente) |
|
Ejemplo de Sistema de
alumnos. Uso de CALL para efectuar llamadas a "Subprogramas". Aquí
presento sólo el "Main Menu" con las diferentes llamadas de los
subprogramas, para apreciar el funcionamiento del Sistema, bajen los
fuentes. |
|
7) Sistema de Alumnos mejorado (Baja
los Fuente) |
|
Ejemplo de Sistema de
alumnos, en este caso es para ser presentado por una estudiante chilena en
la universidad en la que cursa carrera. Uso de CALL para efectuar llamadas
a "Subprogramas". Aquí presento sólo el "Main Menu" con las diferentes
llamadas de los subprogramas, para apreciar el funcionamiento del Sistema,
bajen los
fuentes. Este sistema aparenta ser igual al del ejemplo 6, pero
difiere bastante.
Su menu principal ofrece las
siguientes opciones:
1.- ingresar alumno.
2.-
modificar notas de un alumno.
3.- eliminar a un alumno.
4.- listado completo de alumnos y notas por pantalla.
5.- consulta de un alumno especifico. (por nombre y rol)
-El
archivo está indexado por PRIMERA-PARTE.
-Además, el promedio debe ser
calculado con los valores de NOTA_C1, NOTA_C2 y PROM_TAREAS esto debe ser
automático.
-El
estado debe ser calculado de forma automática dependiendo del promedio.
"A" es aprobado, "R" es reprobado (< a 7).
Una novedad es la forma
de emitir número con formato europeo (coma decimales en vez de puntos y
viceversa). Esto se aprecia en el programa
ALUMLIST.CBL, incluído en el archivo ALUMNOS.ZIP que adjunto con esta
página (bajen los
fuentes).
* Mediante la inclusión de SPECIAL-NAMES, es posible emitir
* los decimales con formato "europeo" (decimales con comas)
SPECIAL-NAMES.
DECIMAL-POINT IS COMMA.
02 ZNOTA-FINAL PIC Z9,99B(6). |
|
8) Comprobación del CUIT (Baja el
Fuente) |
|
El famoso comprobador del
CUIT (en Argentina), esta vez en COBOL. Consiste en ingresar un DNI y
luego efectuar la suma de las multiplicaciones de cada uno de sus
dígitos (excepto del código verificador) con los dígitos del coeficiente
5432765432. Dividiendo esta suma sobre 11 y si fuera el
resto de esta división > a 1,
restando 11 - dicho resto, tendríamos
que si este último valor fuese igual al dígito verificador del
CUIT ingresado, dicho CUIT sería verídico. (Pavada de
definición, creo que fue más difícil escribir todo esto que hacer el
programa)... |
|
9) Comprobación del CUIT con Análisis en
Pantalla (Baja el
Fuente) |
|
Aquí efectúo el programa
anterior (8) sobre el CUIT, pero analizado paso a paso. Este es un
desesperado intento de mostrar como evoluciona la lógica del programa en
pantalla. Debe ser estudiado muy pacientemente, observando atentamente la
información de las variables displayadas. Si lo analizan superfluamente,
no entenderán "un pomo". Esto corrobora mi teoría de que lo único que
podemos lograr en la vida sin esfuerzo es "la mediocridad o el
fracaso". |
|
10) El Mayor entre 3 (Baja el
Fuente) |
|
Analiza e informa cuál de
los tres valores ingresados es el mayor, si hay dos o tres iguales,
también lo informa. Este ejercicio es un clásico en cualquier institución
de enseñanza de programación, por lo que supongo que te puede ser de
utilidad. Existe programas análogos en los otros lenguajes. Se ingresan
los tres valores hasta (UNTIL) que se oprima la tecla Escape
(ESC). |
|
11) ¿Será Primo?
(Baja el
Fuente) |
|
En un ciclo PERFORM UNTIL
con salida por Escape, se ingresa un número y se averigua e informa si es
primo. Si no lo es, informa sobre cual es divisible, exhibiendo el
resultado para poder constatarlo fácilmente. La técnica de búsqueda se
basa en el Teorema de Eratóstenes que demuestra que para saber si un
número es o no es primo solo hace falta comprobarlo con los números
primos inferiores a su raíz cuadrada (para comprobar el
100 tendríamos de hacerlo solo con el 2, 3, 5,
7, pues la raíz de 100 es 10). Atención Si se
ingresa un Nº de 17 dígitos 9, el programa "entra en coma 2" y aquí les
dejo una tarea: validar que el Nº que se ingresa no sea 99999999999999999
Suerte! |
|
12) Decimal a Binario (Baja el
Fuente) |
|
Ejemplo que
permite convertir números decimales a binarios Con números enormes, falla
el binario, pero funciona bien. Implemento un breve manejo de colores
usando el atributo de pantalla CONTROL. |
|
13) Decimal a Binario con Generador de
Listas (Baja el
Fuente) |
|
Ejemplo que permite
convertir números decimales a binarios y, si de desea, almacenar en disco
los números consultados. La lista puede volver a iniciarse. La ventaja de
generar la lista es poder cotejar, desde el Windows, con la calculadora
científica. Con números enormes, falla el binario, pero funciona bien.
Implemento un breve manejo de colores usando el atributo de pantalla
CONTROL y utilizo un archivo secuencial lineal (para emitir al disco
renglones, como si fuera una impresora). El ejemplo es el mismo que el Nº
12, pero con el agregado de la salida de lista al disco. |
|
14) Listado en Pantalla de Número Primos (Baja el
Fuente) |
|
Genera una lista apaisada
en pantalla de números primos comprendidos entre 2 y 1.597. Utilizo la
técnica del Teorema de Eratóstenes para acelerar las búsquedas. |