Escolar Documentos
Profissional Documentos
Cultura Documentos
GUIN-NDICE
1. INTRODUCCIN
3. DISEO DE REGISTROS
4. TABLAS O ARRAYS
6.1. Asignacin
6.4. Actualizacin
8. ARRAYS MULTIDIMENSIONALES
10. ARCHIVOS
11. BIBLIOGRAFA
TM-11(2)
1. INTRODUCCIN
Se denomina dato a cualquier objeto manipulable por el ordenador. Un dato puede ser un carcter
ledo de un teclado, informacin almacenada en un disco, un nmero que se encuentra en memoria
principal, etc.
Los tipos de datos ms frecuentes utilizados en los diferentes lenguajes de programacin son los
datos simples (lgico, carcter, entero, real) y los datos estructurados o compuestos. Los tipos de datos
simples o primitivos no estn compuestos de otras estructuras de datos; son los ms frecuentes y
utilizados por casi todos los lenguajes. Los tipos de datos compuestos se construyen a partir de otros tipos
de datos; un ejemplo es la cadena de caracteres.
Una estructura de datos es una coleccin de datos organizada de un modo particular y sobre la que
se definen ciertas operaciones. Ser homognea cuando todos los datos elementales que la forman son
del mismo tipo o heterognea, en caso contrario.
Las estructuras de datos pueden ser de dos tipos:
- Estticas
Son aquellas en las que el tamao ocupado en memoria se define antes de que el programa se ejecute
y no puede modificarse durante la ejecucin del programa. Estas estructuras estn implementadas en
casi todos los lenguajes: registros, ficheros y tablas (o arrays).
- Dinmicas
Son aquellas cuya ocupacin en memoria puede aumentar o disminuir en tiempo de ejecucin.
La eleccin del tipo de estructura de datos idnea a cada aplicacin depender esencialmente del tipo
de aplicacin y en menor medida del lenguaje, ya que si no tiene implementada una estructura, deber ser
simulada con el algoritmo adecuado.
2. NOCIN DE REGISTRO
Un registro lgico es una estructura de datos formada por elementos que tienen informacin relativa
a un mismo ente. A los elementos que componen el registro se les denomina campos. Cada campo es de
un tipo determinado. Los campos dentro del registro aparecen en un orden determinado, y se identifican
por un nombre. Para definir un registro es necesario especificar el nombre y tipo de cada campo. Los
campos pueden ser de un tipo estructurado.
Registro fsico ser el conjunto de informacin que, de acuerdo con las posibilidades fsicas de la
mquina, se graba o se lee de una sola vez. Tambin se le denomina bloque.
En general, se puede decir que el registro lgico est enfocado al problema (software) y el registro
fsico a la mquina (hardware).
Existir una relacin entre registro lgico y registro fsico, en base a los respectivos tamaos, es
decir, la cantidad de registros lgicos que estarn contenidos en un registro fsico o viceversa. Sabiendo
que el registro lgico es lo que se lee o escribe, cuantos ms registros lgicos estn contenidos en un
registro fsico, el nmero de accesos que se deba realizar al soporte sern menores. Esta relacin de
tamaos recibe el nombre de factor de bloqueo, definindose como el nmero de registros lgicos
contenidos en un registro fsico y que designaremos como FB. El factor de bloqueo puede ser mayor que
uno, igual o menor que uno.
3. DISEO DE REGISTROS
Independientemente del lugar en que se almacenen, los datos han de constituir unidades homogneas
de informacin, formadas a su vez por campos o unidades elementales. En otras palabras, los datos tienen
que estar constituidos por registros.
Si los registros estn contenidos en soportes externos de almacenamiento y queremos que sean
procesados, lo primero que se hace es pasar los datos a la memoria interna del ordenador. El paso de
informacin del soporte externo a memoria interna (lectura) se hace utilizando al registro fsico como
transporte de informacin. Una vez pasada la informacin a memoria, sta es procesada en forma de
registros lgicos.
TM-11(3)
Supongamos que queremos almacenar todos los datos de los empleados pertenecientes a una
determinada empresa. El conjunto de todos los datos de todos los empleados formar el fichero. Los datos
de cada empleado formarn un registro lgico, y los datos desglosados de cada empleado, tales como el
nombre, DNI, etc., formarn los campos.
Cada registro tiene que tener un campo que lo diferencie de los dems. Este campo, denominado
clave, nos tiene que servir para discriminar unos registros de otros dentro del fichero.
En algunos registros se pueden distinguir varios niveles de agrupamiento de la informacin. Estos
niveles son los que determinan la estructura lgica de un registro y, en general, esta estructura se
compone de una rama principal de la cual penden unas ramas secundarias con la informacin.
Adems de la estructura lgica de los registros, stos pueden tener distintos tratamientos dependiendo
de su longitud. Los registros pueden ser de longitud fija, variable o indefinida. A continuacin
hablaremos de los distintos tipos de registros atendiendo a su longitud.
Reciben este nombre aquellos registros en los que la suma de las longitudes de cada campo (en
caracteres), es siempre la misma.
Este tipo de registro se puede disear de tres formas:
a) Con igual nmero de campos e idntica longitud de cada campo en cada registro
En este caso, la longitud del registro lgico es la misma para todos los registros del fichero.
Adems, cada registro tiene el mismo nmero de campos y la longitud de cada uno de estos
campos es la misma en todos los registros.
b) Con igual nmero de campos y distinta longitud de cada campo en cada registro
En este caso, aunque la longitud de cada campo puede variar, el nmero total de ellos sigue
siendo el mismo y la longitud total del registro tambin.
c) Con distinto nmero de campos y distinta longitud de cada campo en cada registro
Es evidente que si la longitud final del registro tiene que ser fija y el nmero de campos que lo
forman es variable, la longitud de estos tiene que ser distinta. En este caso, el diseo de registros
no sigue ningn rigor a excepcin de la longitud final, que siempre ser fija.
En realidad no responden realmente a lo que su nombre indica, ya que la ocupacin real del soporte y
de memoria interna siempre ser la misma. La variabilidad de la longitud del registro radicar en la mayor
o menor ocupacin del espacio total dedicado a almacenar el registro. La ocupacin total siempre oscilar
entre un mximo y un mnimo.
Los registros de longitud variable estn formados por una parte de longitud fija (identificativo), de
unos campos de igual longitud comunes a todos los registros y de una serie de campos de igual longitud
pero en nmero variable. El carcter de variabilidad viene especificado por la ocupacin de ms o menos
campos de este tipo.
Este tipo de organizacin de registros no es de lo ms adecuado, ya que, se desaprovecha espacio,
tanto en el soporte como en memoria interna. Esta prdida de espacio es debida a que no se ocupa
totalmente el espacio reservado para almacenar la informacin de cada registro.
De todas formas, el manejo de este tipo de registros es bastante sencillo, ya que, prcticamente se
gestionan igual que los registros de longitud fija.
Se disean generalmente para optimar la ocupacin de los soportes de almacenamiento. Este tipo de
registros se caracteriza porque su longitud y estructura son totalmente variables.
Necesitarn un espacio auxiliar para almacenar caracteres de control que indiquen los inicios y
finales de campo y los de registro.
Se pueden disear de tres formas:
TM-11(4)
Se coloca al final de cada campo un carcter especial que delimita su ubicacin y se utilizan
campos auxiliares para delimitar unos campos de otros.
Para indicar el final lgico del registro se utiliza otro carcter especial. Ninguno de los caracteres
especiales formar parte de ningn campo de datos del registro.
Consiste en incluir unos indicadores en los que se especifique cual es la longitud de cada campo
componente del registro. La suma de estas longitudes indicar la longitud total del registro.
La longitud total del registro solo aumenta en una pequea cantidad, sin aumentar la cantidad de
informacin contenida.
c) Mediante mscaras
Se considera mscara a un campo fijo, generalmente ubicado en la primera parte del registro y
que indica la ausencia o presencia de campos en el mismo. Cada posicin de esta mscara puede
tener un 1 o un 0 indicando la presencia o ausencia de campos. La mscara estar separada de los
datos reales por algn carcter de control.
4. TABLAS O ARRAYS
Un array es una estructura de datos formada por una cantidad fija de datos de un mismo tipo, cada
uno de los cuales tiene asociado uno o ms ndices que determinan de forma unvoca la posicin de cada
dato o elemento en el array. Podemos imaginar un array como una estructura de celdas donde se pueden
almacenar valores. Un array viene determinado por:
Unidimensionales.
Bidimensionales.
Multidimensionales.
El ndice de un elemento (1,2, .., n) designa su posicin en la ordenacin del vector. Cada elemento
de un vector se puede procesar como si fuese una variable simple al ocupar una posicin de memoria.
Esto indica que cada elemento de un vector es accesible directamente.
Un vector de una dimensin denominado notas que consta de n elementos se puede representar de la
siguiente forma:
Como ya sabemos, un vector es una secuencia ordenada de elementos, cuyo lmite inferior es el
elemento de posicin uno y el ltimo el de posicin n. En algunos casos el lmite inferior del vector puede
ser considerado como de posicin cero.
Las operaciones que se pueden realizar con vectores durante el proceso de resolucin de un problema
son las siguientes:
- Asignacin
- Lectura/escritura
- Recorrido (acceso secuencial)
- Actualizacin (aadir, borrar, insertar)
- Ordenacin
- Bsqueda
En general, las operaciones con vectores implicarn el proceso o tratamiento de los elementos
individuales del vector.
6.1. Asignacin
La asignacin de valores a un elemento del vector se realiza mediante una instruccin de asignacin
del tipo A(10) = 7, ejemplo que asigna el valor 7 al elemento 10 del vector A.
Si se desea asignar valores a todos los elementos de un vector, se deber recurrir a estructuras
repetitivas de programacin estructurada (mientras, para, repetir, ..., etc.).
Se puede acceder a los elementos de un vector para intorducir datos (escribir) en l o bien para
visualizar su contenido (leer). A la operacin de efectuar una accin general sobre todos los elementos de
un vector se le llama recorrido del vector. Estas operaciones se realizan utilizando estructuras repetitivas,
cuyas variables de control se utilizan como subndices del vector. El incremento del contador del bucle
producir el tratamiento sucesivo de los elementos del vector.
Un ejemplo de recorrido de un vector de 10 posiciones sera:
Type
A=array[1...4, 1...3] of real;
8. ARRAYS MULTIDIMENSIONALES
Un array puede tener tres, cuatro, o ms dimensiones. Los conceptos de rango de subndices y
nmero de elementos se pueden ampliar directamente desde los arrays de una y dos dimensiones a los
arrays de orden superior.
En general, un array de n dimensiones requiere que se especifiquen los valores de los n subndices a
fin de identificar un elemento individual. Si cada componente de un array tiene n subndices, se dice que
el array es de n dimensiones.
El nmero de elementos en un array tridimensional ser igual al producto de cada una de las
dimensiones.
Al ser el array una estructura de datos esttica, cuando se define especificamos el nmero de
elementos que la constituyen. Este dato lo utiliza el compilador para reservar el espacio necesario para
almacenarlo. Los arrays se almacenan en memoria ocupando un rea contigua. Cada elemento ocupa el
TM-11(7)
mismo nmero de palabras, que ser el que corresponda al tipo de stos. Los elementos se colocan en la
memoria segn un orden prefijado de los ndices.
B + (I 1) * S
Los lenguajes de programacin pueden almacenar los arrays en memoria de dos formas: orden de fila
mayor y orden columna mayor. El orden de fila mayor es el ms natural y utilizado en la mayora de los
ordenadores.
La siguiente figura muestra el almacenamiento de una matriz B(3, 2) (de tres filas y dos columnas),
por filas (a) y por columnas (b):
B(1, 1) B(1, 1)
B(1, 2) B(2, 1)
B(1, 3) B(1, 2)
B(1, 4) B(2, 2)
B(2, 1) B(1, 3)
B(2, 2) B(2, 3)
B(2, 3) B(1, 4)
B(2, 4) B(2, 4)
(a) (b)
10. ARCHIVOS
Tanto las estructuras de tablas como las de registros son de tipo internas. Esto lleva a plantear nuevas
estructuras que amplen la capacidad de memoria para los datos: archivos.
Algunas definiciones importantes son las siguientes:
Permanentes o maestros: Contienen informacin que vara poco. En algunos casos es preciso
actualizarlos peridicamente.
De movimientos: Se crean para actualizar los archivos maestros. Sus registros son de tres tipos:
TM-11(8)
Los archivos se organizan para su almacenamiento y acceso, segn las necesidades de las
aplicaciones que los van a utilizar. Las organizaciones ms utilizadas son:
11. BIBLIOGRAFA
Alberto Prieto
Introduccin a la Informtica
Mc Graw-Hill, 2 edicin, 1997
Pascual Laporta, G.
Estructura de la Informacin
Mc Graw-Hill, 1992