Computacion - FA.CE.NA. Estructuras de datos Tema 7
Diapositiva 2
Computacion - FA.CE.NA. Estructuras de datos TEMA 7 Estructura
de datos. Campo, registro, archivos y base de datos. Operaciones.
Estructuras lineales (Arreglos). Operaciones.
Diapositiva 3
Computacion - FA.CE.NA. Estructuras de datos En todos los
tiempos y ms an en la era en que vivimos, el hombre tiene cada vez
mas necesidad de consultar una mayor cantidad de informacin para
poder desarrollar sus actividades. El gran cmulo de informacin ha
hecho necesario que sta tenga que ser almacenada y organizada
correctamente para acceder a ella rpidamente. Segn lo visto hasta
el momento, la nica forma que tiene el ordenador de almacenar la
informacin es mediante variables, que no son mas que porciones de
la memoria central del mismo. Pero al ser la memoria central un
conjunto de dispositivos electrnicos que funcionan mediante la
alimentacin elctrica, cuando se apaga el ordenador, toda la
informacin que haba en su memoria central desaparece. 7.1
Estructura de datos. Concepto
Diapositiva 4
Computacion - FA.CE.NA. Estructuras de datos Por lo tanto, para
poder acceder a determinada informacin en cualquier momento, se
necesitar que ella est depositada en soportes fsicos los cuales la
almacenan en forma permanente. Este es el caso de la memoria
externa o auxiliar como ser disquete, disco duro, cinta magntica,
etc.-, en las cuales sin necesidad de estar conectadas a la
corriente elctrica, la informacin permanece all. La forma de
guardar los datos en estos dispositivos auxiliares es mediante unas
estructuras llamadas archivos o ficheros. Adems, existe una gran
diferencia en cuanto a capacidad de almacenamiento entre la memoria
central y las auxiliares, en general la capacidad de las ltimas es
muy superior. 7.1 Estructura de datos. Concepto
Diapositiva 5
Computacion - FA.CE.NA. Estructuras de datos Conociendo esto,
podramos comparar la memoria central con la memoria humana y una
memoria auxiliar con una gua de telfonos. El hecho de llamar por
telfono a una determinada persona es mucho ms rpido si sabemos su
nmero de memoria (el nmero est dentro de la memoria). Es tambin
casi impensable que el hombre retenga en su memoria todos los
nmeros de telfono de la gua (memoria central), para ello se recurre
a una memoria externa que es la gua telefnica. Entonces, cuando
deseamos llamar a una persona de la cual desconocemos su nmero, lo
buscamos en la gua; una vez localizado, lo retenemos en la memoria
(la informacin pasa de la memoria auxiliar a la memoria central) y
realizamos la accin de marcar el nmero. 7.1 Estructura de datos.
Concepto
Diapositiva 6
Computacion - FA.CE.NA. Estructuras de datos Si comprendimos
este caso, podramos decir que en un ordenador la informacin de
entrada de la que se parte para su tratamiento se va a obtener de
dispositivos externos, desde los que la va a introducir en su
memoria central a travs de variables. A partir de aqu trabajar con
estas variables, y la informacin de salida que obtenga la guardar
nuevamente en los soportes de almacenamiento externos.
Anteriormente se nombr la palabra archivo, la cual es de entender
que no es un trmino puramente informtico, y para comprender este
significado podemos comparar con hechos de la vida cotidiana. Por
ejemplo cuando concurrimos a una biblioteca a pedir un libro
prestado, el encargado consulta su archivo de libros; si trabajamos
en alguna empresa, nuestros datos estarn registrados en un archivo
de empleados, etc.- Entonces vemos que al menos todos tenemos de
alguna manera intuitiva el concepto de lo que significa archivo o
fichero. A continuacin veremos algunas definiciones que estn
bsicamente relacionados con este concepto. 7.1 Estructura de datos.
Concepto
Diapositiva 7
Computacion - FA.CE.NA. Estructuras de datos 7.1.1 Campo Un
campo es un conjunto de caracteres capaz de suministrar una
determinada informacin referida a un concepto. Un campo es un
elemento de datos elementales tales como nombre y apellido, numero
de documento, domicilio, etc.- Al igual que en las variables, al
definir un campo hay que indicar claramente sus tres
caractersticas: Nombre: Nombre que identifica a ese conjunto de
caracteres Tipo: Tipo de caracteres que puede contener (alfabtico,
entero, etc.-) Tamao: Cantidad de caracteres que puede contener Por
ejemplo, si tenemos que definir al campo nmero de documento
resultara: Nombre: documento Tipo: numrico Tamao: 8 enteros Un
campo es la entidad lgica ms pequea, consiste en un conjunto de
byte que conforman un dato. Un campo es la unidad mnima de
informacin de un registro. 7.1 Estructura de datos. Concepto
Diapositiva 8
Computacion - FA.CE.NA. Estructuras de datos 7.1.2 Registros Un
registro es un conjunto de campos referentes a una entidad en
particular y constituyen una unidad para su proceso. Un ejemplo de
un registro puede ser la informacin de un determinado alumno
universitario, que contiene los campos: libreta universitaria,
apellido y nombre, nmero de documento, domicilio, fecha de
nacimiento, entre otros campos. La figura muestra un ejemplo grfico
de registro. 7.1 Estructura de datos. Concepto
Diapositiva 9
Computacion - FA.CE.NA. Estructuras de datos 7.1.3 Archivos Es
el conjunto de registros homogneos referidos a objetos de la misma
naturaleza o del mismo tipo, almacenados en un soporte externo, que
presenta entre s una relacin lgica y que pueden ser consultados
individualmente de forma iterativa o sistemtica. Tomando el ejemplo
anterior, podemos decir que habr un registro por alumno, y habr
tantos registros como alumnos haya. Este conjunto de registros de
alumnos formar un archivo y lo vemos grficamente en la figura. 7.1
Estructura de datos. Concepto
Diapositiva 10
Computacion - FA.CE.NA. Estructuras de datos 7.1.3 Archivos Un
archivo en una computadora es una estructura diseada para contener
datos, estos estn organizados de forma tal que pueden ser
recuperados fcilmente, borrados, actualizados, etc.- Al hablar de
archivo es imprescindible que cada uno de ellos tenga un nombre
para poder identificarlo. En este caso podra ser un nombre
apropiado: ESTUDIANTES. En resumen, podramos decir que un archivo
est formado por un conjunto de registros, y estos a su vez por un
conjunto de campos. 7.1 Estructura de datos. Concepto Archivo
Registro 1 Registro 2 Registro n
Diapositiva 11
Computacion - FA.CE.NA. Estructuras de datos 7.1.4 Base de
Datos Es una coleccin de archivos relacionados lgicamente, que se
estructura en diferentes formas para reducir duplicaciones y
proporcionar un mejor acceso a los datos. Constituye el nivel mas
alto en la jerarqua de organizacin de los datos, siendo el nivel
mas bajo el carcter. As una base de datos de una universidad podra
contener archivos de estudiantes, profesores, inventarios, libros,
etc. La figura presenta grficamente la estructura jerrquica en base
de datos.. 7.1 Estructura de datos. Concepto
Diapositiva 12
Computacion - FA.CE.NA. Estructuras de datos 7.1.4 Base de
Datos. 7.1 Estructura de datos. Concepto
Diapositiva 13
Computacion - FA.CE.NA. Estructuras de datos 7.2.1 Campo Clave
Un campo clave (key) es aquel que identifica al registro y lo
diferencia de los otros registros. Debe ser UNICO, es decir debe
ser diferente para cada registro. De todos los campos o datos
siempre se elige a uno como campo clave. Por ejemplo, en el
registro mostrado en la figura el campo clave podra ser libreta
universitaria. 7.2 Conceptos
Diapositiva 14
Computacion - FA.CE.NA. Estructuras de datos 7.2.2 Registro
lgico Se denomina registro lgico al conjunto de campos o datos
referente a un mismo objeto y constituyen una unidad para su
proceso. Son los registros organizados en campos 7.2.3 Registro
fsico Registro fsico es un conjunto de registros lgicos que
constituyen la unidad de transferencia en una sola operacin de
entrada / salida (para transferencias entre las unidades de E/S o
dispositivos de almacenamiento, y la memoria principal).. 7.2
Conceptos
Diapositiva 15
Computacion - FA.CE.NA. Estructuras de datos Creacin Apertura
Cierre Lectura / Consulta Fin de Archivo Actualizacin Destruccin.
7.3 Operaciones sobre archivos
Diapositiva 16
Computacion - FA.CE.NA. Estructuras de datos Creacin Es la
primera operacin que se har con un archivo y es la operacin
mediante la cual se introduce la informacin correspondiente al
archivo en un soporte de almacenamiento de datos. Para poder
utilizar un archivo, este debe existir, es decir, es necesario que
se haya creado previamente. La creacin exige organizacin,
estructura, localizacin o reserva de espacio en el soporte de
almacenamiento. En un entorno de computadoras, durante la creacin
es necesario darle una serie de datos: Nombre del dispositivo,
nombre de archivo, tamao, organizacin, etc.- Al momento de la
creacin puede suceder que sea creado por primera vez en un soporte
determinado, proceder de otro que ya existe, ser el resultado de un
clculo, condicin, etc.- o ambas cosas a la vez.. 7.3 Operaciones
sobre archivos
Diapositiva 17
Computacion - FA.CE.NA. Estructuras de datos Apertura Abrir un
archivo significa dejarlo dispuesto para ser utilizado. Todos los
archivos que se ocupan en un programa deben ser abiertos
previamente a su uso. Un archivo que se pretende usar debi haber
sido creado previamente, he aqu la diferencia entre estas dos
operaciones: para crear el archivo no debe existir y para abrir
debe haber sido creado previamente. 7.3 Operaciones sobre
archivos
Diapositiva 18
Computacion - FA.CE.NA. Estructuras de datos Cierre La
finalidad de cierre de los archivos radica en permitir al usuario
detener el uso de ese archivo, dejarlo inaccesible. Como todos los
archivos fueron abiertos durante un programa, necesitan ser
cerrados al finalizar el proceso. Para realizar esta operacin solo
necesitamos conocer el nombre del mismo. 7.3 Operaciones sobre
archivos
Diapositiva 19
Computacion - FA.CE.NA. Estructuras de datos Lectura/Consulta
Es la operacin que nos permite acceder al archivo de datos para
conocer la informacin alojada en uno, varios o todos los registros
del archivo. Esta operacin implica el traspaso de informacin desde
el archivo a la memoria central del ordenador. Esta informacin es
la contenida en un registro. Como se mencion anteriormente, la nica
forma de guardar informacin en la memoria central es a travs de
variables. En una operacin de este tipo, los nombres de las
variables que reciben los datos del registro ledo son los que se
han asignado a los campos del mismo. 7.3 Operaciones sobre
archivos
Diapositiva 20
Computacion - FA.CE.NA. Estructuras de datos Lectura/Consulta
Por ejemplo, si tenemos el archivo de estudiantes cuyo registro
posee: LU - Libreta Universitaria AYN - Apellido y Nombre DOMI-
Domicilio FECHANAC- Fecha de Nacimiento Para representar
grficamente la operacin de lectura haramos A partir de este momento
se podr operar con estas variables, visualizarlas en pantalla,
imprimirlas, compararlas, etc.- Si se efecta una segunda lectura,
el contenido del segundo registro pasar a las mismas variables de
la memoria, sustituyendo sus anteriores valores. Por lo tanto, en
cada instante del proceso solo se dispone de la informacin del
registro recin ledo.. 7.3 Operaciones sobre archivos
Diapositiva 21
Computacion - FA.CE.NA. Estructuras de datos Fin de archivo
Toda instruccin de ingreso de datos, ya sea desde teclado o desde
un dispositivo magntico, requiere una condicin de fin de ingreso de
los datos, con el objeto de determinar cuando se han terminado los
registros de un archivo o cuando ya no se desean ingresar mas datos
desde el teclado. Esta condicin la denominamos fin de archivo
conocida como EOF (end of file). Para el ingreso de datos por
teclado se prevee, generalmente la introduccin de un valor elegido
por el programador que ser el indicador de que ya no se ingresarn
mas datos, por ejemplo si se introducen por teclado notas de los
alumnos, el fin de datos estar dado por un valor que sea un absurdo
o datos que no existan en esa poblacin, en este caso se podra tomar
NOTA=11. El diagrama de la figura muestra lo mencionado.. 7.3
Operaciones sobre archivos
Diapositiva 22
Computacion - FA.CE.NA. Estructuras de datos Fin de archivo Si
los datos que se leen estn soportados en un archivo y sobre el se
realizan lecturas sucesivas, llegar un momento en que este se
acabe; es decir ya no queden mas registros por leer. Esta situacin
la detecta el sistema despus de una operacin de lectura, cuando lo
que se ha ledo no es un registro de datos, sino lo que se conoce
con el nombre de marca de fin de archivo. Por tanto, siempre que se
ejecute una operacin de lectura sobre un archivo secuencial, a
continuacin hay que preguntar si lo que se ha ledo es la marca EOF
o, por el contrario, un registro de datos para ejecutar las
acciones pertinentes. El diagrama de flujo de la figura muestra el
uso de la condicin EOF.. 7.3 Operaciones sobre archivos
Diapositiva 23
Computacion - FA.CE.NA. Estructuras de datos Actualizacin La
actualizacin de un archivo supone las siguientes operaciones: Aadir
registros ALTAS Modificar registros ya existentes MODIFICACIONES
Borrar registros BAJAS El modo de operar la actualizacin vara segn
la organizacin y mtodo de acceso del archivo.. 7.3 Operaciones
sobre archivos
Diapositiva 24
Computacion - FA.CE.NA. Estructuras de datos Destruccin La
operacin de destruccin o borrado realiza la supresin del archivo en
el soporte o dispositivo, dejando este espacio que ocupaba
anteriormente disponible.. 7.3 Operaciones sobre archivos
Diapositiva 25
Computacion - FA.CE.NA. Estructura de datos Cuando hablamos de
Estructuras de Datos hacemos referencia a un conjunto de datos que
poseen el mismo nombre, que pueden ser caracterizados por su
organizacin y por las operaciones que se definen en ella. Las
Estructuras de Datos son muy importantes en los sistemas de
computacin y para explicar mas fcilmente veremos la siguiente
clasificacin la cual refleja el tipo de datos mas frecuentemente
utilizados:. 7.4 Estructuras lineales y no lineales
Diapositiva 26
Computacion - FA.CE.NA. Estructura de datos Las estructuras de
datos estticas son aquellas en las que el tamao ocupado en memoria
se define antes que el programa se ejecute y el mismo no puede ser
modificado durante la ejecucin. En cambio las estructuras de datos
dinmicas no tienen limitaciones en cuanto al tamao de memoria
ocupada. Para utilizar este tipo de estructuras necesitamos usar un
tipo de dato especfico llamado puntero. Los tipos de datos que
vimos hasta ahora son datos simples cuya caracterstica comn es que
cada variable representa a un elemento; en cambio los tipos de
datos estructurados tienen como particularidad que con un nombre o
identificador se puede representar mltiples datos individuales y a
su vez cada uno de estos puede ser referenciado
independientemente.. 7.4 Estructuras lineales y no lineales
Diapositiva 27
Computacion - FA.CE.NA. Estructura de datos Concepto Arreglos
se define como una coleccin finita, homognea y ordenada de
elementos. Finita: Todo arreglo tiene un lmite, es decir, debe
determinarse cual ser el nmero mximo de elementos que podrn formar
parte del arreglo. Homognea: Todos los elementos de un arreglo son
del mismo tipo o naturaleza (todos enteros, todos booleanos, etc.-
), pero nunca una combinacin de distintos tipos. Ordenada: Se debe
determinar cual es el primer elemento, el segundo, el tercero.....
y el ensimo elemento.. 7.5 Arreglos
Diapositiva 28
Computacion - FA.CE.NA. Estructura de datos Caractersticas Si
un arreglo tiene la caracterstica de que puede almacenar a N
elementos del mismo tipo, deber tener la posibilidad de permitir
seleccionar a cada uno de ellos. As se distinguen dos partes en los
arreglos. Los componentes o elementos (valores que se almacenan en
c/u de las casillas) Los ndices (Permiten hacer referencia a los
componentes) El nmero total de componentes (NTC) es igual al lmite
superior (LS) menos lmite inferior (LI) mas 1 NTC = LS - LI + 1 El
tipo de ndice puede ser cualquier tipo ordinal (carcter, entero,
enumerado) El tipo de los componentes puede ser cualquiera (entero,
real, cadena de caracteres, registro, etc.) Se utilizan ( ) para
indicar el ndice de un arreglo. Entre los ( ) se debe escribir un
valor ordinal (puede ser una variable, una constante o una expresin
que d como resultado un valor ordinal). 7.5 Arreglos
Diapositiva 29
Computacion - FA.CE.NA. Estructura de datos Ejemplo Sea V un
arreglo de 30 elementos enteros con ndices enteros. V =
(52,12,31,102,....75) V (50)= v(1), v(2), v(3),...., v(30), Su
representacin se muestra en la figura Donde NTC = (30 1 + 1) = 30
Cada componente del arreglo V ser un nmero entero, y podr accederse
por medio de un ndice que ser un valor comprendido entre 1 y 30..
7.5 Arreglos
Diapositiva 30
Computacion - FA.CE.NA. Estructura de datos En cuanto a las
dimensiones los arreglos pueden ser: Unidimensional o vector: un
solo ndice Bidimensional o matriz: dos ndices Multidimensional: mas
de dos ndices. 7.5 Arreglos
Diapositiva 31
Computacion - FA.CE.NA. Estructura de datos Diferencia con
registros Las dos diferencias sustanciales entre arreglos y
registro son: 1) Un arreglo puede almacenar N elementos del mismo
tipo, mientras que un registro puede almacenar N elementos de
distintos tipos que se llaman campos. 2) Los componentes de un
arreglo se acceden por medio de ndices, mientras que en un registro
los campos se acceden por medio de su nombre, el cual es nico. Un
vector unidimensional, es el vector TEMPERATURA que contiene las
temperaturas horarias registradas en una ciudad durante las 24
horas del da. Este vector constar de 24 elementos del tipo real, ya
que las temperaturas no sern enteras siempre. El valor mnimo del
ndice permitido de un vector se denomina lmite inferior del vector
(L) y el valor mximo permitido se denomina lmite superior (U). En
este ejemplo el lmite inferior es 1 y el superior 24. TEMPERATURA
(I) donde 1