Está en la página 1de 53

Tema 7

Estructuras de datos

Computacion - FA.CE.NA.

Estructuras de datos
TEMA 7

Estructura de datos. Campo, registro, archivos y


base de datos. Operaciones. Estructuras lineales
(Arreglos). Operaciones.

Computacion - FA.CE.NA.

Estructuras de datos
7.1 Estructura de datos. Concepto
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.

Computacion - FA.CE.NA.

Estructuras de datos
7.1 Estructura de datos. Concepto
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.

Computacion - FA.CE.NA.

Estructuras de datos
7.1 Estructura de datos. Concepto
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.

Computacion - FA.CE.NA.

Estructuras de datos
7.1 Estructura de datos. Concepto
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.

Computacion - FA.CE.NA.

Estructuras de datos
7.1 Estructura de datos. Concepto
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.
Computacion - FA.CE.NA.

Estructuras de datos
7.1 Estructura de datos. Concepto
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.

libreta universitaria
libreta universitaria

Apellido y nombre
Apellido y nombre

nmero de documento
nmero de documento

Computacion - FA.CE.NA.

Domicilio
Domicilio

Fecha de nacimiento
Fecha de nacimiento

Estructuras de datos
7.1 Estructura de datos. Concepto
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.

libreta universitaria
libreta universitaria

Apellido y nombre
Apellido y nombre

nmero de documento
nmero de documento

Domicilio
Domicilio

Computacion - FA.CE.NA.

Fecha de nacimiento
Fecha de nacimiento

Estructuras de datos
7.1 Estructura de datos. Concepto
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.
Registro 1
Archivo

Registro 2
Registro n
Computacion - FA.CE.NA.

Estructuras de datos
7.1 Estructura de datos. Concepto
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. .

Computacion - FA.CE.NA.

Estructuras de datos
7.1 Estructura de datos. Concepto
7.1.4 Base de Datos
Base de datos

Archivo

Archivo

Archivo

Registro

Registro

Campo

Caracter

Campo

Caracter

Caracter

Registro

Campo

Caracter

Computacion - FA.CE.NA.

Registro

Campo

Caracter

Campo

Estructuras de datos
7.2 Conceptos
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

libreta universitaria
libreta universitaria

Apellido y nombre
Apellido y nombre

nmero de documento
nmero de documento

Domicilio
Domicilio

Computacion - FA.CE.NA.

Fecha de nacimiento
Fecha de nacimiento

Estructuras de datos
7.2 Conceptos
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).

Computacion - FA.CE.NA.

Estructuras de datos
7.3 Operaciones sobre archivos
Creacin
Apertura
Cierre
Lectura / Consulta
Fin de Archivo
Actualizacin
Destruccin

Computacion - FA.CE.NA.

Estructuras de datos
7.3 Operaciones sobre archivos
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.

Computacion .
- FA.CE.NA.

Estructuras de datos
7.3 Operaciones sobre archivos
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.

Computacion - FA.CE.NA.

Estructuras de datos
7.3 Operaciones sobre archivos
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.

Computacion - FA.CE.NA.

Estructuras de datos
7.3 Operaciones sobre archivos
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.

Computacion - FA.CE.NA.

Estructuras de datos
7.3 Operaciones sobre archivos
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

Leer

LU
AYN
DOMI
FECHANAC

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.
Computacion - FA.CE.NA.

Estructuras de datos
7.3 Operaciones sobre archivos
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.
Computacion - FA.CE.NA.

C om enzar

In g re s a r
N O TA

N O TA = 11

Si

P a ra r

N o

Estructuras de datos
7.3 Operaciones sobre archivos
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.

C om enzar

Leer
{ lis ta d e
cam pos}

EO F

Si

Computacion - FA.CE.NA.

P a ra r

No

Estructuras de datos
7.3 Operaciones sobre archivos
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


organizacin y mtodo de acceso del archivo.

.
Computacion - FA.CE.NA.

segn

la

Estructuras de datos
7.3 Operaciones sobre archivos
Destruccin
La operacin de destruccin o borrado realiza la supresin del archivo
en el soporte o dispositivo, dejando este espacio que ocupaba
anteriormente disponible.

Computacion - FA.CE.NA.

Estructura de datos
7.4 Estructuras lineales y no lineales
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:

Datos Simples

Estndar

Estticas
Estructura de datos

Dinmicas

Entero
Real
Caracteres
Lgico
Vectores y Matrices
Registros
Archivos
Pilas
Lineales
Colas
Listas Enlazadas
No lineales

Computacion - FA.CE.NA.

Arboles
Grafos

Estructura de datos
7.4 Estructuras lineales y no lineales
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.

Computacion
. - FA.CE.NA.

Estructura de datos
7.5 Arreglos
Concepto
Arreglos se define como una coleccin
homognea y ordenada de elementos.

finita,

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.

A R R E G L O

1 E LE M E N T O

2 E LE M E N T O

.
Computacion - FA.CE.NA.

N - E LE M E N T O

Estructura de datos
7.5 Arreglos
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)

.
Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
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
Componentes

52

12

31

102

.....

75

.....

30

Indices

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.
Computacion. - FA.CE.NA.

Estructura de datos
7.5 Arreglos
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

Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
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 <= I <= 24


.

Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
Diferencia con registros
Los vectores se almacenan en memoria central de la computadora en un
orden adyacente.
As, un vector de cincuenta nmeros denominado NUMEROS se
representa fsicamente por cincuenta posiciones de memoria sucesivas.
Sea un vector X de ocho elementos:
X[1] X[2]
14.0 12.0

X[3]
8.0

X[4]
7.0

X[5]
6.41

X[6]
5.23

Computacion - FA.CE.NA.

X[7]
6.15

X[8]
7.25

Estructura de datos
7.5 Arreglos
Operaciones
Podemos clasificar a las operaciones en las que intervienen arreglos de
la siguiente manera:
Lectura / escritura
Recorrido
Asignacin
Actualizacin (Aadir, eliminar, insertar)
Ordenacin
Bsqueda

Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
Operaciones:

Lectura / escritura

El proceso de lectura /escritura de un arreglo se realiza de


la siguiente manera:
Leer V(i)
Escribir V(i)
Leer V(3)

Lee todo el arreglo


Escribe todo el arreglo
Lee el elemento 3 del arreglo

Si se desea leer los 30 elementos de un vector en forma consecutiva


se deber hacer de la siguiente manera .
Leer
Leer
Leer
Leer
Leer

Leer
V(1)

V(1)
V(2)
V(3)
V(..)
V(.30)

Leer
V(2)

..................

Leer
V(30)

Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
Operaciones:

Lectura / escritura

Pero de esta forma resultara poco prctico, por lo tanto debemos


usar la siguiente notacin para realizar la lectura / escritura de un
arreglo.

Leer V(i)

i = 1 a 30

Este proceso es vlido tambin para escritura, simplemente se debe


especificar dentro del smbolo la accin a realizar, en este caso
Escribir V(i).

Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
Operaciones:

Recorrido

Recorrer un vector significa acceder a todos y a cada uno de sus


elementos desde el principio hasta el final o viceversa.
Se puede acceder a los elementos de un vector para introducir datos
(leer) en l o bien para ver su contenido (escribir). A la operacin de
acceder a todos los elementos para efectuar una accin determinada
se denomina recorrido del vector. Esta operacin se realiza usando
estructuras repetitivas, cuya variable de control I, se utiliza como
subndice del vector (por ejemplo V(i). El incremento del contador del
bucle producir el tratamiento sucesivo de los elementos del vector.
Esta operacin es muy utilizada en este tipo de estructuras de datos,
dado que cuando se est en presencia de un vector, el acceso a toda
la informacin se realiza recorrindolo. En algunos casos se puede
acceder a un determinado elemento o a varios de ellos con ciertas
caractersticas sin necesidad de recorrer todo el arreglo, por ejemplo
acceder solo al ltimo elemento que sabemos a priori posee la suma
de los elementos anteriores.

Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
Operaciones:
Ejemplo

Recorrido
C o m ie n z o

Sumar los 30 elementos de un


vector V.

S U M A = 0

Leer
V ( i)

i = 1 a 30

I = 1

S U M A = S U M A + V ( i)

I = 30

S I

P a ra r

Computacion - FA.CE.NA.

N o

I = I +1

Estructura de datos
7.5 Arreglos
Operaciones:

Asignacion

En general no es posible asignar directamente un valor a todo el


arreglo; se debe asignar el valor deseado a cada componente
usando la instruccin de asignacin, recordando que la asignacin
coloca el nuevo contenido en la variable destruyendo el valor
anterior.
15 V(20) o V(20) = 15 asigna el valor 15 al
elemento
20 del
vector V
Si se quiere asignar valores a todos los componentes del vector, se
debe recurrir a las estructuras repetitivas. Por ejemplo, si se desea
poner en cero al vector V(30) la solucin se muestra en la siguiente
pantalla

Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
Operaciones:

Asignacion
Comienzo

Tambin se puede asignar una


variable tipo arreglo a otra
exactamente del mismo tipo.
A(I) V(I) o V(I) = A(I)

I=1

V (i) = 0

I = 30

SI

Parar

Computacion - FA.CE.NA.

No

I = I +1

Estructura de datos
7.5 Arreglos
Operaciones:

Actualizacion

Muchas veces resulta interesante que dado un arreglo, puedan aadirse


nuevos elementos o eliminar o insertar componentes. Estas resultan las
tres operaciones elementales que se pueden realizar en un arreglo:
aadir, eliminar e insertar elementos.
Cuando se realiza una operacin de aadir un nuevo elemento a
continuacin del ltimo valor no nulo, la nica condicin necesaria para
esta operacin es comprobar que haya espacio para el nuevo elemento.

Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
Operaciones:

Actualizacion

Ejemplo
Dado un vector C de 8 elementos que contiene una nmina de 5
direcciones de correo ordenadas alfabticamente. Se desea aadir la
direccin valeria@server.com

alicia@server.com

alicia@server.com

castor@server.com

castor@server.com

daniel@server.com

daniel@server.com

Comenzar

C(I)
4

marta@server.com

marta@server.com

sonia@server.com

sonia@server.com

valeria@server.com

6
7

Computacion - FA.CE.NA.

I=1a8

C(6) = "valeria@server.com"

Parar

Estructura de datos
7.5 Arreglos
Operaciones:

Actualizacion

Con la simple instruccin de asignacin se aaden los elementos.


Insertar un elemento es una operacin que consiste en introducir
dicho elemento en el interior del vector, en una posicin I dada, de
forma tal que los elementos ubicados en las siguientes posiciones
sean desplazados a las posiciones I + 1 respectivas.
La operacin de eliminar un elemento al final del arreglo no
presenta ningn problema; en cambio, si el borrado se realiza en el
interior del mismo esto provoca el efecto contrario al de insertar, el
movimiento deber ser hacia arriba (I-1) de los elementos inferiores
a l para reorganizar el vector.

Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
Operaciones:

Actualizacion

Ejemplo
Tomamos el vector C del ejemplo anterior, pero en este caso se desea
eliminar del arreglo el elemento 4.
1

a lic ia @ s e r v e r .c o m

a lic ia @ s e r v e r .c o m

c a s to r@ s e rv e r.c o m

c a s to r@ s e rv e r.c o m

d a n ie l@ s e r v e r .c o m

d a n ie l@ s e r v e r .c o m

m a rta @ s e rv e r.c o m

p a s c u a l@ s e r v e r .c o m

p a s c u a l@ s e r v e r .c o m

s o n ia @ s e r v e r.c o m

s o n ia @ s e r v e r .c o m

v a le r ia @ s e r v e r . c o m

v a le ria @ s e r v e r .c o m

C o m e n za r

C (I)

I = 1 a 8

I = 4

7
8

C (I) = C (I+ 1 )

I = 8

S i

P a ra r

Computacion - FA.CE.NA.

N o

I = I + 1

Estructura de datos
7.5 Arreglos
Operaciones:

Bsqueda

Consiste en encontrar elemento/s dentro de un arreglo


Ejemplo
Dado un arreglo A de 100 elementos, averiguar e informar cuantos
elementos nulos posee. Imprimir el arreglo.
Pseudocdigo

Inicio

Comenzar
NULOS = 0
Leer A(I)

0 --> NULOS

Leer
A (I)
I=1,100

Para I desde 1 hasta 100


Si A(I) = 0

A(I) = 0

entonces NULOS = NULOS + 1


fin_si
fin_para
Imprimir Total nulos NULOS
Imprimir Vector A(I)
Parar

Averigua si el
elemento es cero
1 --> I

Si

NULOS = NULOS + 1

No

I = 100

Si

"Total de nulos "


NULOS

No

I =I+1

Termina de recorrer el
vector e informa el
total de elementos
nulos encontrados

Imprime el vector de
una sola vez
"Vector A"
A(I) I= 1,100

Fin

Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
Arreglos bidimensionales: Matrices
Un arreglo de dos dimensiones, tambin denominada matriz, se
define como una tabla de tablas, o vector de vectores, es decir, es
aquella en la cual uno de sus elementos es, a su vez, una tabla
unidimensional.
Podemos comparar una matriz con una hoja de papel cuadriculado
en la que cada cuadrcula corresponder a un elemento.
Columna 1

Columna 2

Columna 3

Columna 4

Fila 1

Fila 2

12

Fila 3

Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
Arreglos bidimensionales: Matrices
Un arreglo de dos dimensiones, tambin denominada matriz, se
define como una tabla de tablas, o vector de vectores, es decir, es
aquella en la cual uno de sus elementos es, a su vez, una tabla
unidimensional.
Podemos comparar una matriz con una hoja de papel cuadriculado en
la que cada cuadrcula corresponder a un elemento.
Columna 1

Columna 2

Columna 3

Columna 4

Fila 1

Fila 2

12

Fila 3

Computacion - FA.CE.NA.

En este grfico podemos


observar que cada fila est
dividida en varias columnas. Por
lo tanto, para poder referenciar
un elemento de la matriz, hay
que especificar el nombre de la
misma (igual que con los
vectores) y, entre parntesis,
dos subndices separados por
coma; el primero indicar la fila
en la que se encuentra el
elemento y el segundo la
columna.

Estructura de datos
7.5 Arreglos
Arreglos bidimensionales: Matrices
Por lo tanto, si suponemos que la matriz representada se llama MAT,
el casillero con el nmero 12 corresponder al elemento ubicado en la
fila 2 columna 3 y se lo representa como MAT(2,3). Si generalizamos,
MAT(i,j) sera el elemento correspondiente a la fila i columna j.
El caso anterior, representado en forma matricial sera como muestra
la figura.

MAT(I,J)

Donde la matriz llamada MAT tiene filas que


varan de 1 a 3 y columnas que varan de 1 a 4,
por lo tanto diremos que la matriz MAT tiene 3 x
4 elementos.
I = 1...3
J = 1....4
Si generalizamos el rango, resultara:
I = 1...M
J = 1....N
Y diremos que la matriz MAT tiene M x N
elementos. Existen N elementos en cada fila y
M elementos en cada columna.
El resultado de multiplicar la cantidad de filas
por cantidad de columnas es el tamao de la
matriz. En nuestro ejemplo anterior el tamao
es de 12 (3 x 4).

Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
Recorrido de una matriz
Como vimos anteriormente, recorrer una tabla de dos dimensiones
significa acceder a todos y a cada uno de sus elementos. Este proceso
de recorrer la matriz se llevar a cabo mediante la estructura
repetitiva anidada.
El recorrido de los elementos de la matriz se puede realizar por fila o
por columna (ver figura) . Para recorrer por fila la matriz MAT se debe
realizar dos estructuras repetitivas anidadas. En la primera de ellas
(las mas externa) se realizan tres iteraciones para recorrer las 3 filas.
En cada una de esas iteraciones, se realizar a su vez 4 iteraciones
para recorrer los 4 elementos de cada fila (uno por cada columna).

Sentido en que se
recorre una matriz por
fila

Computacion - FA.CE.NA.

Sentido en se recorre
una matriz por
columna

Estructura de datos
7.5 Arreglos
Ejemplo
Supongamos que tenemos una matriz que contiene de los doce
meses del ao las 4 temperaturas mximas de cada mes
T(12,4) y se desea imprimir los datos.
T e m p e ra tu ra
M x im a
1

T e m p e ra tu ra
M x im a
2

T e m p e ra tu ra
M x im a
3

T e m p e ra tu ra
M x im a
4

30

31

33

30

29

31

30

30

22

24

24

23

25

23

24

24

01
e n e ro

02
fe b re ro

Si deseamos imprimir los datos por mes (fila


de la matriz) debemos recorrer la misma por
fila de forma tal que por cada fila debemos
recorrer las 4 columnas de la misma. Pero
como la matriz tiene 12 filas, este proceso se
repite 12 veces uno por cada fila y de
esta manera formamos dos ciclos anidados.
Uno mas externo fila - que se repite 12
veces y uno mas interno columna que por
cada fila se repite 4 veces.

03
m a rz o

04
a b ril
12 FILAS

............... ........................ ............................ ......................


12
d ic ie m b r e
28

26

29

30

Computacion - FA.CE.NA.

4 COLUMNAS

POR CADA FILA DEBO


RECORRER LAS
CUATRO COLUMNAS
DE LA MATRIZ

Estructura de datos
7.5 Arreglos
Entonces, recorrer esta matriz para imprimirla consistir en:
Posicionarse en la primer fila (I=1) y recorrer todas sus columnas
(desde J=1 hasta J=4).
Posicionarse en la segunda fila (I=2) y volver a recorrer, nuevamente,
todas sus columnas (desde J=1 hasta J=4).
Repetir estas operaciones para cada valor de I hasta que se hayan
realizado para la ltima fila, es decir para I=12.
T e m p e ra tu ra
M x im a
1

T e m p e ra tu ra
M x im a
2

T e m p e ra tu ra
M x im a
3

T e m p e ra tu ra
M x im a
4

30

31

33

30

29

31

30

30

22

24

24

23

25

23

24

24

01
e n e ro

02
fe b re ro

03
m a rz o

04
a b r il

............... ........................ ............................ ......................


12
d ic ie m b r e
28

26

29

30

Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
El Pseudocdigo y diagrama de flujo correspondientes para recorrer e
imprimir la matriz T(12,4) sera:
C O M E N ZA R

Comenzar
Para I = 1 a 12
Para J = 1 a 4
Imprimir T(I,J)
Fin_para
Fin_para
Parar

T (I , J )
I = 1 ,1 2
J = 1 ,4

I = 1

J = 1

c ic lo d e J

T (I,J )

c ic lo d e I

J = 4

N o

J = J + 1

N o

I = I + 1

S i

I = 4

S i

P A R A R

Computacion - FA.CE.NA.

Estructura de datos
7.5 Arreglos
Del mismo modo, si deseamos recorrer una matriz por
columna se debe para cada columna recorrer todas sus filas,
en este caso 12.
El pseudocdigo se transformara en:
comienzo

Comenzar
Para J = 1 a 4
Para I = 1 a 12
Imprimir T(I,J)
Fin_para
Fin_para
Parar

T(I , J)
I = 1,12
J = 1,4

J=1

I=1

ciclo de I

T(I,J)

ciclo de J

I = 12

No

I=I+1

No

J=J+1

Si

J=4

Si

Computacion - FA.CE.NA.

parar

Estructura de datos
7.5 Arreglos
Es importante observar que la nica variacin entre estas
dos resoluciones es el intercambio de los subndices en
las estructuras repetitivas, y lo que permanece invariable,
sin embargo, es el orden de los mismos durante la
impresin.
comienzo

C O M E N Z A R

T(I , J)
I = 1,12
J = 1,4

T (I , J )
I = 1 ,1 2
J = 1 ,4

J=1

I = 1

I=1

J = 1

cic lo de I

c ic lo d e

T (I,J )

T(I,J)

cic lo de J

c ic lo d e I

I = 12

J = 4

N o

No

I=I+1

No

J=J+1

J = J + 1
Si

S i

J=4

I = 4

N o

I = I + 1
Si

S i

parar

P A R A R

Computacion - FA.CE.NA.

También podría gustarte