Anda di halaman 1dari 27

Estructuras Simples

Son aquellas en las que el tamao ocupado en memoria se define antes de que
el programa se ejecute y no puede modificarse dicho tamao durante la ejecucin del
programa.
Estas estructuras estn implementadas en casi todos los lenguajes.

Cadenas
Arreglos Estructuras
Registros Estticas
Las estructuras de datos estticas, presentan dos inconvenientes:
La reorganizacin de sus elementos, si sta implica mucho movimiento puede
ser muy costosa. Ejemplo: insertar un dato en un arreglo ordenado.
Son estructuras de datos estticas, es decir, el tamao ocupado en memoria es
fijo, el arreglo podra llenarse y si se crea un arreglo de tamao grande se
estara desperdiciando memoria.
Estructuras Simples: Cadenas
Estructuras Simples: Cadenas
Cadena: secuencia finita tomada desde un
conjunto de caracteres (S)

Alfabeto: conjunto de caracteres (A)

Vocabulario: conjunto de cadenas posibles


formadas a partir de A (V)

Cadena = string (en c 1-255)


Estructuras Simples: Cadenas
Cadenas: Operaciones
Cadenas: Operaciones
Cadenas: Operaciones
Cadenas: Operaciones
Cadenas: Formas de Representacin

Almacenar nombre de cadena, direccin


de inicio y longitud
Almacenar nombre de cadena, direccin
de inicio y de fin
Utilizar Marcadores
Cadenas en C
Estructuras Simples:
Arreglos
Estructuras Simples: Arreglos
Estructuras Simples: Arreglos
Un arreglo se define como una coleccin finita,
homognea y ordenada de elementos.
Finita: todo arreglo tiene un lmite; es decir, se
debe determinar cul ser el nmero mximo de
elementos que formarn parte del arreglo.
Homognea: todos los elementos de un arreglo
son del mismo tipo. Es decir, todos enteros, todos
booleanos, etctera, pero nunca una combinacin
de distintos tipos.
Ordenada: se puede determinar cules son el
primero, el segundo, el tercero, ... Y el ensimo
elemento.
Estructuras Simples: Arreglos
Supongamos que queremos declarar 10 variables de tipo entero (por ej. contadores). La nica forma
de hacerlo hasta ahora sera declararlos como variables individuales:
int a0, a1, a2, a3, a4, a5, a6, a7, a8, a9;

Y si quisisemos inicializarlos a 0, habra que escribir 10 asignaciones.


Otra forma de hacerlo es utilizando un vector (o array).

Forma de declarar un vector:


Tipo Nombre[NumElementos]
Donde Tipo indica el tipo de datos de los elementos del vector. El tipo puede ser cualquier tipo de
dato, sea simple o estructurado. NumElementos es el nmero de elementos que contiene el vector.
Tiene que ser siempre una constante de tipo entero.
Ejemplo:
int a[10];

De esta forma tenemos los 10 enteros agrupados y se pueden tratar como una nica variable.

En C++ El primer elemento es siempre el 0.


Estructuras Simples: Arreglos
Cmo se manejan en programacin?
Cargar 10 elementos en un vector que representen las notas de un alumno

Para j = 1 hasta 10 hacer


Leer VECTOR[i]
FinPara

5 8 7 3
NOTAS[1] NOTAS[2] ...NOTAS[k] NOTAS[j]

Los subndices i, 2, k, --- indican la posicin del elemento, y van entre corchetes.
El primer elemento es el 5, el segundo es el 8, el elemento k es 7 y el ensimo es 3.
Clasificacin de Arreglos
Arreglos unidimensionales o Vectores
Est formado de una coleccin finita y ordenada de datos del mismo tipo. Ete
conjunto de elementos de un mismo tipo de datos se almacenan bajo un mismo
nombre, y se diferencian por la posicin que tiene cada elemento dentro del arreglo
de datos. Al declarar un arreglo, se debe inicializar sus elementos antes de utilizarlos.
Para declarar un arreglo tiene que indicar su tipo, un nombre nico y la cantidad de
elementos que va a contener.

Arreglos bidimensionales
Es un tipo de dato compuesto por 2 dimensiones: fila y columna. Para hacer
referencia a cada componente del arreglo es necesario utilizar 2 ndices, uno
para la fila y otro para la columna. Se necesitan 2 ndices para referirse a un
elemento particular en el arreglo. Los arreglos de 2 dimensiones se llaman
arreglos bidimensionales o matrices.

Arreglos multidimensionales
Es un tipo de dato compuesto por mas de 2 dimensiones. Para hacer
referencia a cada componente del arreglo es necesario utilizar n ndices,
uno para cada dimensin. El trmino dimensin representa el nmero de
ndices utilizados para referirse a un elemento particular en el arreglo. Los
arreglos de ms de una dimensin se llaman arreglos multidimensionales.
Operaciones con Arreglos
Operaciones con Arreglos
Operaciones con Arreglos
Operaciones con Arreglos
Operaciones con Arreglos
Operaciones con Arreglos Bidimensionales
Las operaciones que se pueden realizar con arreglos bidimensionales son:

Lectura/Escritura
Asignacin
Ordenacin
Bsqueda

Cuando se present la operacin de lectura en arreglos unidimensionales, se mencion que


con la ayuda de un ciclo se iban leyendo y asignando valores a cada uno de los componentes.
Lo mismo sucede con los arreglos bidimensionales. Sin embargo, como sus elementos deben indicarse
por medio de dos ndices, normalmente se usan dos ciclos para lograr la lectura de elementos
consecutivos.
Supongamos, por ejemplo, que se desea leer todos los elementos del arreglo bidimensional MATRIZ.
Los pasos a seguir son:
Para i=1 hasta 10 hacer
Para j=1 hasta 5 hacer
Leer MATRIZ[i, j]
Al variar los ndices de i y j, cada elemento de MATRIZ que se lee se asigna al lugar que le corresponde
en el arreglo, segn la posicin de los ndices i y j.
Para i = 1 Y j = 1, se lee el elemento del rengln 1 y columna l.
i = 1 Y j = 2, se lee el elemento del rengln 1 y columna 2.
i = 10 Y j = 5, se lee el elemento del rengln 10 y columna 5.
Ejercitacin:
Un empresa de turismo ofrece en una promocin turstica de 5 das, un viaje al Sur del Pas.
El cupo para la promocin turstica es de 40 personas
Segn el tipo de transporte, el monto es de $ 800 en colectivo y $2300 en avin
Segn la categora de Hotel, tambin tiene diferencias de precios, cobrndose por da:
Hotel Precio
3 estrellas $ 600
4 estrellas $ 700
5 estrellas $ 900
Calcular el monto del viaje, en base al transporte y el alojamiento elegido.
Sobre cada pasajero, teniendo en cuenta la edad se aplican, sobre el monto del viaje calculado, los
siguientes descuentos: Categora Edad Descuento

Menores que 5 aos 100%


5 a 14 aos 35%
15 a 40 aos 10%
mas 40 aos 20%

Ingresar los siguientes datos: edad del pasajero, categora de Hotel y tipo de Transporte elegido. Luego,
calcular y Mostrar:
Porcentaje de nios (menores de 5 aos) que realizan el viaje
Total de dinero que recaudar la empresa de turismo, por todos los pasajeros
La cantidad de pasajeros que viajarn en avin y se alojarn en 4 estrellas
Arreglos Bidimensionales: Casos
Las matrices cuadradas son aquellas que tienen igual nmero de renglones
y de columnas.
Si adems estas matrices tienen una proporcin muy alta de ceros, se
denominan poco densas.
Por otra parte, las matrices cuadradas en las que los elementos que se
encuentran arriba o debajo de la diagonal principal son iguales a cero, se
llaman matrices triangulares.
stas, segn la ubicacin de los ceros, se clasifican en matriz triangular
inferior si los elementos iguales a cero se encuentran sobre la diagonal
principal y en matriz triangular superior si los elementos iguales a cero se
encuentran debajo de la diagonal principal

Triangular Inferior Triangular Superior


Arreglos Bidimensionales: Casos
Se dice que una matriz es tridiagonal si los elementos
distintos de cero se encuentran localizados en la diagonal
principal y en las diagonales por encima y por debajo de
sta.
Por tanto, el valor absoluto del ndice i menos el ndice j ser
menor o igual que 1.

Una matriz A de n x n elementos es simtrica si A[i,jJ es


igual a A[j, iJ, y esto ltimo se cumple para todo i y para
todo j.
Prximos Temas:
ORDENAMIENTO

ALMACENAMIENTO DE ARREGLOS EN MEMORIA

EL PROBLEMA DE LOS POLINOMIOS

PRACTICA

Anda mungkin juga menyukai