Tipos

Estos (valga la redundancia) son tipos de datos más complejos, es decir una agrupación de tipos de datos básicos, entre estos podemos destacar: ARREGLOS, REGISTROS y CONJUNTOS.

Nombre_arreglo=array[limite_inferior . . limite_superior]of tipo de datos

Donde :

Nombre_arreglo

Hace referencia al identificador del tipo de dato del que más adelante se sacarán las variables, este puede ser cualquiera, pero es aconsejable que este relacionado con la función que se va a desarrollar.

Array

Es la palabra reservada que le indica a Pascal que se va a definir un tipo Arreglo

 

[]

En estos paréntesis cuadrados se indica la extensión del arreglo y la forma, que puede ser:

1. Vectores

El límite inferior empieza en 1 y el superior es un valor entero positívo, a continuación te muestro tres de las formas para declararlos:

Program forma1;

Uses crt;

Const

Maximo=10;

Type

Vector=array[1..Maximo] of integer;

Program forma2;

Uses crt;

Const

Maximo=10;

Type

Contenido=1..Maximo;

Vector=array[Contenido] of integer;

Program forma3;

Uses crt;

Const

Maximo=10;

Var

Vector:array[1..Maximo] of integer;

2. Matrices

Observando las gráficas puedes ya determinar la diferencia entre un vector y una matriz, esta última está compuesta por filas y columnas, para declararse el primer factor en los parentesis cuadrados[]hace referencia a las filas, y el segundo a las columnas, ahora veamos varias formas de declarar una matriz.

Program forma1;

Uses crt;

Const

Maxima_fila=10;

Maxima_columna=10;

Type

Matriz=array[1..Maxima_fila,1..Maxima_columna] of integer;

Program forma2;

Uses crt;

Const

Maxima_fila=10;

Maxima_columna=10;

Type

Contenido=1..Maxima_fila,1..Maxima_columna;

Matriz=array[Contenido] of integer;

Program forma3;

Uses crt;

Const

Maxima_fila=10;

Maxima_columna=10;

Var

Matrizr:array[1..Maxima_fila,1..Maxima_columna] of integer;

A continuación te doy unos ejemplos básicos de vectores y matrices:

Ejercicio # 1

Ver Código Fuente

 Ver Ejecutable

 

Ejercicio # 2

Ver Código Fuente

Ver Ejecutable

Ejercicio # 3

Ver Código Fuente

 Ver Ejecutable

Ejercicio # 4

Ver Código Fuente

 Ver Ejecutable

 

Una aplicación práctica y divertida de las matrices son los videojuegos, algunos de los que has manejado utilizan matrices y vectores para su funcionamiento, de estos podemos destacar:

Pacman

 

Ver Código Fuente

 Ver Ejecutable

Tetrix

Ver Código Fuente

 Ver Ejecutable

Buscaminas

Dibujo buscaminas.bmp (90054 bytes)

 

Ver Código Fuente

 Ver Ejecutable

 

Registros: Sirven para agrupar diferentes tipos de datos en uno nuevo, la sintaxis es la siguiente:

registro.gif (13524 bytes)

Nombre_del_registro=RECORD

Campo1 : Tipo Campo1;

Campo2: Tipo Campo2;

Campo3: Tipo Campo3;

.

.

.

Campon : Tipo Campon;

End;

Ejemplo:

Type

Datos_estudiante=RECORD

Nombre : string[40];

Dirección : string[50];

Telefono : string[15];

Edad : byte;

Mujer : boolean;

END;

Var

Tabla_estudiantes: Datos_estudiante;

Se puede acceder a elementos de un registro de dos formas:

Por referencia Explicita

En este tipo de asignación se usa el nombre de la variable registro seguido por un punto y a continuación el nombre del campo, haciendo uso del ejemplo podría quedar así:

Tabla_estudiante.nombre:=’Daniel’;

Tabla_estudiante.direccion:=’Popayan, Cauca’;

Por referencia Implicita

En este caso se usa la sentencia WITH, la cual facilita enormemente el acceso, pues aquí no se debe repetir el nombre del registro cada vez que se hace una asignación.

Ejemplo:

WITH Tabla_estudiante DO

BEGIN

Nombre:=’Daniel’;

Direccion:=’Popayan, Cauca, Colombia’;

END;

Se puede tambien para algunos tipos de problemas declarar arreglos de registros así:

TYPE

Datos_estudiante=RECORD

Nombre : string[40];

Dirección : string[50];

Telefono : string[15];

Edad : byte;

Mujer : boolean;

END;

Arreglo_de_registros =ARRAY[1..50] of Datos_estudiante;

Var

Listado_estudiantes:Arreglo_de_registros;

Para acceder la información sé hara de la siguiente forma:

Listado_estudiantes[1].nombre:=’Daniel’;

Listado_estudiantes[1].direccion:=’Popayan, Cauca’;

O tambien dentro de un ciclo.

Image46.gif (5375 bytes)

A continuación te doy unos ejemplos básicos de manejo de registros:

Ejercicio # 1

Ver Código Fuente

 Ver Ejecutable

 

Ejercicio # 2

Ver Código Fuente

Ver Ejecutable

Anterior Pulsa aquí para regresar

Siguiente Pulsa aquí para continuar

Indice Presiona aquí para regresar al índice