Developer's Diary

7 septiembre, 2010

Curso de EasyTrieve III, Primeros pasos, El lenguaje

Filed under: Cobol / Jcl / Easytrieve, Programación — jnavero @ 5:21 PM

—- Nos mudamos: http://devthisblog.namocode.es
—————————————————————–
En la segunda entrega del curso, vimos un poco por encima los cursores y ampliamos el uso de las variables haciendo una redefinición de las mismas. En esta ocasión vamos a hablar del lenguaje en EasyTrieve, estructuras de control, Operadores y Estructuras de repetición. Comencemos con esta nueva entrega.

Estructuras de control

Las estructuras de control sirven para tomar decisiones, nos permitirán ejecutar entre un bloque u otro en base de una condición previamente indicada. Principalmente nos podemos encontrar con dos tipos el IF y CASE. A continuación los veremos a fondo,  como funcionan y ejemplos de los mismos.

Operadores

Los operadores se encargan de realizar operaciones con las variables, así como comparaciones.

Estos operadores pueden ser aritméticos (Asignación(=), Suma(+), Resta(-), Multiplicación(*) y División(/)).

Un ejemplo de cómo sumar y dividir una variable puede ser el siguiente

*————————————————-

* Ejemplo EasyTrieve Usando operadores aritmeticos.

*————————————————-

WS-NUMERO       W         2 N 0

JOB INPUT NULL

WS-NUMERO  =  1

WS-NUMERO  =  WS-NUMERO  + 9

DISPLAY ‘La suma es: ‘ WS-NUMERO

WS-NUMERO  = WS-NUMERO  / 2

DISPLAY ‘Entre 2 es: ‘ WS-NUMERO

STOP

Como vemos en este ejemplo sumamos el numero 9 y posteriormente dividimos entre 2. Usar los operadores aritméticos es muy sencillo.

Por otro lado tenemos los operadores condicionales que son los siguientes

Operador Signo Significado
EQ = Igual
NE ¬= No es igual
LT < Menor que
LE <= Menor o igual que
GT > Mayor que
GE >= Mayor o igual que

Estos operadores se usan con las estructuras de repetición o de control aunque siempre se pueden usar los símbolos o las letras de los operadores, personalmente, prefiero usar las letras debido a que si trabajamos con FTP subiendo nuestros Easy a otros entornos, los símbolos a veces no se suben correctamente y pueden dar problemas. Pasemos a ver las estructuras de decisión.

Estructura de control IF.

Se encarga de elegir entre dos o más bloques. La sintaxis es la siguiente:

IF condición

Bloque de instrucciones, en caso que se cumpla la condición.

ELSE-IF condición 2

Bloque de instrucciones, en caso que se cumpla la condición.

ELSE

Bloque de instrucciones, en caso que no se cumpla la condición.

END-IF

Tenemos la posibilidad de crear if anidados, para ello, solamente debemos incluir un if dentro de otro. Y debemos tener en cuenta que la sentencia ELSE no es obligatoria.

Estructura de control CASE

Es similar al if, y nos permite escoger entre varios bloques de código. La sintaxis es la siguiente:

CASE <Variable a evaluar>

WHEN valor

Bloque de instrucciones

WHEN valor2

Bloque de instrucciones 2

WHEN valorn

Bloque de instrucciones n

OTHERWISE

Bloque de instrucciones alternativo

END-CASE

En esta estructura se ejecuta según un valor de una variable o en caso que no sea el valor esperado, se ejecuta el bloque de instrucciones situado en el OTHERWISE.

Después de todo lo anteriormente visto veamos unos ejemplos de EasyTrieve  donde vemos el uso de ambas estructuras.

Ejemplo EasyTrieve usando IF.

*————————————————-

* Ejemplo EasyTrieve Usando IF

*————————————————-

WS-NUMERO       W         2 N 0

JOB INPUT NULL

WS-NUMERO  =  10

IF WS-NUMERO EQ 10

DISPLAY ‘El numero vale 10’

ELSE

DISPLAY ‘El numero No vale 10’

END-IF

STOP

En este ejemplo asignamos 10 a WS-NUMERO y comparamos si WS-NUMERO vale 10, en caso afirmativo (que es el nuestro) mostrará por pantalla “El numero vale 10”, si cambiamos el valor a WS-NUMERO nos mostrará por pantalla el otro display en el que nos indica que el numero no es 10.

Veamos ahora otro ejemplo con CASE

*————————————————-

* Ejemplo EasyTrieve Usando CASE

*————————————————-

WS-NUMERO       W         2 N 0

JOB INPUT NULL

WS-NUMERO  =  10

CASE WS-NUMERO

WHEN  1

DISPLAY ‘El numero vale 1’

WHEN 5

DISPLAY ‘El numero vale 5’

OTHERWISE

DISPLAY ‘El numero otra cosa.’

END-CASE

STOP

En ambos ejemplos implementamos las estructuras de decisión y la facilidad de uso que tiene.

Estructuras de repetición

Aunque en otros manuales podemos encontrar varias, aquí voy a tratar únicamente DO WHILE, puedo asegurar que es más que suficiente para poder hacer cualquier EasyTrieve.

Se trata de nuestro amigo, repetir mientras (DO WHILE), su sintaxis es la que vemos más abajo.

DO WHILE condición

Bloque a repetir

END-DO

Como es costumbre dejo un ejemplo de lo visto.

*————————————————-

* Ejemplo EasyTrieve Usando DO WHILE

*————————————————-

WS-NUMERO       W         2 N 0

JOB INPUT NULL

WS-NUMERO  =  1

DO WHILE WS-NUMERO LT 11

DISPLAY ‘WS-NUMERO: ‘ WS-NUMERO

WS-NUMERO = WS-NUMERO + 1

END-DO

STOP

Este ejemplo muestra por pantalla 10 veces la variable WS-NUMERO y va recorriendo de 1 a 10 cuando WS-NUMERO se incremente y valga 11 el bucle saldrá y continuará con nuestro Easy.

Con esto finalizamos este capítulo, en el capitulo siguiente, seguiremos ampliando conocimientos, veremos Arrays, el uso de bucles y espero tener tiempo para seguir con los cursores que empezamos a ver en el capitulo anterior.

Anuncios

Dejar un comentario »

Aún no hay comentarios.

RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: