Sei sulla pagina 1di 5

Programación

TIPOS DE DATOS
1 Alfabético.
2 Alfanumérico.
3 Numérico.
4*> AQUI DECLARO LAS VARIABLES
DATA DIVISION.
WORKING-STORAGE SECTION.
*> Numéricas
01 WS-NUM-A PICTURE 9(5).
*> Alfanuméricas
01 WS-NOMBRE PIC X(10).
*> Alfabéticas
01 WS-CLAVE PIC A(30).

5VARIABLES TIPO ESTRUCTURA


6*> AQUI DECLARO LAS VARIABLES
DATA DIVISION.
WORKING-STORAGE SECTION.
01 Caracter PIC X.
88 Vocales VALUE "a","e","i","o","u".
88 Consonantes VALUE
"b","c","d","f","g","h","j","k","l","m","n","p","q","r","
s","t","v","w","x","y"
,"z".
88 Numeros VALUE "0" THRU "9".
7ACCEPT
8*> AQUI DECLARO LAS VARIABLES
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NUM-A PICTURE 9(5).
01 WS-NOMBRE PIC X(10).

DISPLAY 'INTRODUCE NUMERO:'


ACCEPT WS-NUM
DISPLAY 'INTRODUCE NOMBRE:'
ACCEPT WS-NOMBRE
9MOVE
10*> Movemos 20 a variable
MOVE 20 TO WS-NUM-A.
*> Movemos 'ANDREA' a variable
MOVE 'ANDREA' TO WS-NOMBRE.
11IF-THEN
1201 NUMERO PIC 9(2).

MOVE 10 TO NUMERO

IF NUMERO GREATER THAN 9 THEN


DISPLAY "ES MAS GRANDE QUE 9"
END-IF
13IF-ELSE-END-IF
14*> INTRODUCIR DATOS CON 'ACCEPT'
DISPLAY 'INTRODUCE NOMBRE:'
ACCEPT WS-NOMBRE

IF WS-NOMBRE EQUAL "MANDRAKE" THEN


DISPLAY 'BIENVENIDO'WS-NOMBRE
ELSE
DISPLAY 'AUN NO TIENES USUARIO REGISTRADO'WS-NOMBRE
END-IF.
15PERFORM
16*> ES COMO LLAMAR A UNA FUNCIÓN
PERFORM MIFUNCION 10 TIMES.

MIFUNCION.
DISPLAY "HOLA, MUNDO!!".

17COMPUTE
18*> SUMA
COMPUTE WS-RESULTADO = WS-NUM-a + WS-NUM-B.
*> RESTA
COMPUTE WS-RESULTADO = WS-NUM-a - WS-NUM-B.
*> PRODUCTO
COMPUTE WS-RESULTADO = WS-NUM-a + WS-NUM-B.
*> POTENCIACION
COMPUTE WS-RESULTADO = WS-NUM-a ** WS-NUM-B.
*> LONGITUD DE UNA CADENA
COMPUTE WS-LONGITUD = FUNCTION LENGTH(WS-CADENA).

IDENTIFICATION DIVISION.
PROGRAM-ID. PROG001.
AUTHOR HIRONAKAMURA.
INSTALLATION. GITHUB.
DATE-WRITTEN. 05/10/19.
DATE-COMPILED.
SECURITY. NO ES CONFIDENCIAL.

PROCEDURE DIVISION.
DISPLAY '****************************'.
DISPLAY '** PROGRAMANDO EN COBOL **'.
DISPLAY ' '.
DISPLAY ' HOLA, MUNDO!! '.
DISPLAY '****************************'.
STOP RUN.
Estructuras de control en COBOL
COBOL es un lenguaje de programación estructurado donde la lógica secuencial es muy
importante. Las estructuras de control de COBOL y de cualquier lenguaje son tres:
19 Secuencial (top-down).
20 Selectiva (condicional).
21 Repetitiva (iterativa).
22IF
23IF DATO IS NOT NUMERIC THEN
MOVE ZEROS TO CONTADOR
END-IF

SET X TO 100

IF X IS NUMERIC THEN
GO TO MI-PARRAFO
END-IF

24IF-ELSE
25IF EDAD >= 18 THEN
DISPLAY "Tienes edad para votar"
ELSE
DISPLAY "No puede votar aun"
END-IF

26EVALUATE
27EVALUATE Pago
WHEN 20000 DISPLAY "APLICA EL DESCUENTO EN AREA DE
COMIDA"
WHEN 24000 DISPLAY "AUN APLICA EL DESCUENTO EN AREA
DE COMIDA"
WHEN 25000 DISPLAY "NO APLICA EL DESCUENTO EN AREA DE
COMIDA"
END-EVALUATE.
28PERFORM
29PERFORM MiParrafo 10 TIMES.

MiParrafo.
DISPLAY "Hola, mundo en COBOL"

30PERFORM UNTIL CONTADOR = 100


*> HACER ALGO
END-PERFORM

PERFORM MIPARRAFO THRU OTROPARRAFO


Ejemplo de manejo de archivos
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT MI-ARCHIVO ASSIGN TO "datos.dat"
ORGANIZATION IS LINE SEQUENTIAL
FILE STATUS IS MI-ARCH-STATUS.

*>
DATA DIVISION.
FILE SECTION.
FD MI-ARCHIVO.
01 NOMBRE-REGISTRO.
03 NOMBRE-COMPLETO PIC X(30).

SELECT
Seleccionar archivo a usar.
SELECT MIS-DATOS ASSIGN TO "datos.dat"
OPEN
Abrir el archivo.
*> OPEN MODO NOMBREARCHIVO
OPEN INPUT MI-ARCHIVO
READ
Lectura del archivo.
READ nombreinternodelfichero NEXT/PREVIOUS RECORD INTO
descripción
AT END / NO AT END instrucciones
END-READ
WRITE
Escritura en archivo.
WRITE registro FROM variable
REWRITE
Re-escritura en archivo.
REWRITE registro FROM variable
INVALID KEY instrucciones
NOT INVALID KEY instrucciones
END-REWRITE
DELETE
Borrado.
DELETE nombreinternodelfichero
INVALID KEY instrucciones
NOT INVALID KEY instrucciones
END-DELETE
START
START nombreinternodelfichero KEY (expresión) nombredelaclave
INVALID KEY instrucciones
NOT INVALID KEY instrucciones
END-START
CLOSE
CLOSE MI-ARCHIVO

Potrebbero piacerti anche