Cobol en español
  Página de Inicio Recomiéndala Contáctame Usuarios en Linea
12
     Crea Una cuenta  
Video 1
Video 2
Video 3

Si te ha servido la web
o te han gustado los videos, colabora haciendo click en el botón.

MANUALES
TEMATICOS
BASES DE DATOS
COBOL / WINDOWS
COBOL / UNIX
HISTORIA /DOCS
 
BUSCADOR
PROGRAMANDO-Dos
TRUCOS
AÑO 2.000
TEORIA POWCOB-3
PROG. POWCOB-3
TEORIA POWCOB-5
PROG. POWCOB-5
OCX-ESCOBOL
RUTINAS/MANUALES
OCX / JUEGOS
HERRAMIENTAS
COMPILADORES
ENCUESTAS
ENLACES
FOROS
TOP 10

CHAT   Usuarios: 0
Temáticos
TEMARIOCódigos de Error
Ventanas
Palabras Reservadas
Clasificando (Sort)
Tablas
Ficheros (I)
Ficheros (II)
Ficheros (III)

Tablas

página(s) : 1/3
(17674 palabras totales en este texto)
(49490 Lecturas)   Versión Imprimible



El uso de tablas en Cobol es algo muy frecuente y por eso he decidido crear un apartado específico para hablar de ellas. En el capítulo de la DATA DIVISION, dentro de los manuales, podréis encontrar una explicación de cada comando o cláusula que veamos de aquí en adelante.

En primer lugar daremos una definición de ellas. Una tabla es un conjunto de elementos con un mismo tipo y longitud que se denominan con el mismo nombre y se diferencian por un subíndice. Todo lo que voy a explicar aquí, se hará desde lo más básico. Con un ejemplo lo vamos a ver mas claro:

    Imaginamos que queremos tener la información de cuantas personas entran a un museo cada día de la semana. Si como máximo entran al día mas o menos 1.000 personas deberíamos declarar siete variables de la siguiente manera:

    01  LUNES
    01  MARTES
    01  MIERCOLES
    01  JUEVES
    01  VIERNES
    01  SABADO
    01  DOMINGO
PIC 9(4).
PIC 9(4).
PIC 9(4).
PIC 9(4).
PIC 9(4).
PIC 9(4).
PIC 9(4).
    Para introducir datos aquí podríamos hacer:

      MOVE 200 TO LUNES.
      MOVE 430 TO MARTES.
      MOVE 136 TO MIERCOLES.
      MOVE 525 TO JUEVES.
      MOVE 380 TO VIERNES.
      MOVE 1910 TO SABADO.
      MOVE 2300 TO DOMINGO.
    Fijaros que todas son del mismo tipo (numéricas) y del mismo tamaño (4), por lo tanto cumplen el requisito para crear una tabla, así que vamos a sustituir todo lo anterior haciendo uso de una tabla.

    01  DIASEMANA.
         02  VISITAS


PIC 9(4)  OCCURS 7 TIMES.

    Ahora tendremos una única variable donde guardar los datos y se llamará VISITAS. Para introducir los datos lo haríamos refiriéndonos con un subíndice a cada uno de sus elementos, siete en este caso, porque siete son los días de la semana. Lo más lógico será respetar el orden de los días, es decir 1 para el Lunes, 2 para el Martes, etc ...

      MOVE 200 TO VISITAS (1).
      MOVE 430 TO VISITAS (2).
      MOVE 136 TO VISITAS (3).
      MOVE 525 TO VISITAS (4).
      MOVE 380 TO VISITAS (5).
      MOVE 1910 TO VISITAS (6).
      MOVE 2300 TO VISITAS (7).

    El resultado es el mismo, pero solo hemos tenido que declarar una variable. Por supuesto el número que hace referencia al subíndice puede ser a su vez una variable, como veremos un poco mas abajo.

    Cobol también posee la capacidad de crear una tabla y rellenarla a su vez utilizando la WORKING-STORAGE SECTION . Para ello primero declaramos los valores en una variable y gracias a la cláusula REDEFINES, hacemos que su valor se cargue en la tabla. Eso no quiere decir que su valor no se pueda cambiar, pero al iniciar el programa, la tabla contendrá esos valores. Para seguir con el ejemplo crearemos una con los días de la semana.

    01  TABLADIAS.
         02  FILLER
         02  FILLER
         02  FILLER
         02  FILLER
         02  FILLER
         02  FILLER
         02  FILLER
    01  TABLADEDIAS
         02  ELDIA

PIC X(10) VALUE "LUNES       ". 
PIC X(10) VALUE "MARTES     ".
PIC X(10) VALUE "MIERCOLES ".
PIC X(10) VALUE "JUEVES      ".
PIC X(10) VALUE "VIERNES    ".
PIC X(10) VALUE "SABADO     ".
PIC X(10) VALUE "DOMINGO   ".
REDEFINES TABLADIAS.
PIC X(10) OCCURS 7 TIMES.
    Ya tenemos cargada la tabla con los días de la semana respetando también el orden que hemos indicado anteriormente.

    Ahora mostraremos las visitas de cada día utilizando las tablas y refiriéndonos a los elementos de la tabla con valores variables. Vamos a pedir que nos diga el día de la semana para el cual quiere saber las visitas que hubo:

    WORKING-STORAGE SECTION.
    01  DIA         PIC 9.
    01  LVISITAS PIC Z.ZZ9.
    ...
    PROCEDURE DIVISION.
    ...
    PEDIR.
        DISPLAY "INTRODUZCA DIA PARA VER SUS VISITAS"
        LINE 4 COL 20.
        ACCEPT DIA LINE 4 COL 50 PROMPT LOW.
        IF DIA < 1 OR DIA > 7 GO PEDIR.
        DISPLAY "EL " LINE 10 COL 20.
        DISPLAY ELDIA (DIA) LINE 10 COL 23.
        DISPLAY "HUBO " LINE 10 COL 33.
        MOVE VISITAS (DIA) TO LVISITAS.
        DISPLAY LVISITAS LINE 10 COL 38.
        DISPLAY "VISITAS." LINE 10 COL 44.
    Al introducir, por ejemplo el valor 3 el resultado hubiera sido:

    EL MIERCOLES HUBO  136 VISITAS.


   Inicio de Página    | Siguiente (2/3)
Sitio desarrollado con PHP-Nuke. Todos los Derechos Reservados.
PHP-Nuke es un Software Libre realizado con licencia GNU/GPL.
Página creada en Junio de 1.998, con el proposito de difundir el lenguaje Cobol en nuestra lengua.
Andres Montes [98/11]