You are on page 1of 5

Algoritmo y Estructura de Datos

Ing. en Sistemas de Informacin


1 ao
Docente: Gabriela Ribotta
Ayudante: Mara Laura Lpez
Trabajo prctico N 7
(Resolucin de problemas Estructura: pila y cola).
Realiza el algoritmo de cada situacin problemtica y el programa en C
correspondiente.
1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30)
2- En la estructura creada en el ejercicio anterior, mostrar la cantidad de a o A que
hay almacenadas.
3- Dada una pila que almacena un nmero de n dgitos mostrar el mensaje el nmero es
capica en caso que el nmero almacenado as lo sea, caso contrario mostrar el
mensaje el nmero no es capica.
4- Dada una estructura pila que almacena letras se pide agregar una letra que se debe
ingresar por teclado.
5- Dada la pila del ejercicio anterior ya cargada en la memoria, se pide eliminar de la
estructura todas las letras iguales a X. X es una componente del mismo tipo que las que
estn almacenadas en la estructura y se debe ingresar por teclado.
6- Dada una cola de enteros no ordenada, escribir una funcin que:
(a) Devuelva el mximo elemento.
(b) Devuelva el promedio de los elementos.
(c) Inserte un elemento.
(d) Elimine los elementos iguales a k, siendo k un valor ingresado.
7- Se tiene una cola circular con nmeros reales y enteros. Crear una funcin que me
permita depurar la estructura cola de modo que queden todos aquellos datos superiores a
un valor ingresado como parmetro de la funcin.
8- Disear un programa para insertar elementos en una cola circular.
9- Disee un programa que me permita eliminar elementos de una estructura cola
circular. El elemento a eliminar debe ser igual a x, valor que se debe ingresar por
teclado.
10- Mostrar en qu posicin de la cola circular se encuentra un valor q que se debe
leer por teclado. En caso que el valor no se halle en la estructura emitir un mensaje.
(Considerar que en la cola puede haber uno, ninguno o muchos elementos).
11- Dar el contenido de la pila despus de cada operacin en la secuencia
E A S * Y * * Q U E * * * S T * * * I * O N * *.
donde las letras se meten en la pila y * significa sacar.

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin
1 ao
Docente: Gabriela Ribotta
Ayudante: Mara Laura Lpez
12-Escribir una funcin que evale una expresin aritmtica indicando si los parntesis,
corchetes y llaves estn balanceados.

Ejercicios Propuestos

1- Un palndromo es una cadena de caracteres que se lee igual hacia delante que hacia
atrs (pudindose modificar los espacios en blanco). Por ejemplo: Dbale arroz a la
zorra el abad. Escribir un programa para detectar si una cadena de caracteres es un
palndromo o no. (Nota: un mecanismo efectivo de solucin consiste en el uso
simultneo de una pila y una cola).
2- Dada una expresin en notacin postfija y utilizando como operadores +, -, *, : y ^,
utilizaremos una pila sacar los datos para los clculos.
3- Elaborar un programa que utilice el TDA pila, presentando un men en pantalla con
las siguientes operaciones:
(a) Crear una pila.
(b) Insertar un elemento en la pila.
(c) Eliminar un elemento de la pila.
(d) Mostrar los elementos de la pila en pantalla.
(e) Mostrar el tope de la pila.
(f) Decir si la pila est vaca.
Discuta posibles aplicaciones de este tipo de dato abstracto.
4- Implemente el TDA pila usando un arreglo esttico. Qu ventajas y desventajas
tiene esta implementacin con respecto a la implementacin dinmica?

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin
1 ao
Docente: Gabriela Ribotta
Ayudante: Mara Laura Lpez
Trabajo prctico N 8
( Resolucin de problemas Estructuras: Listas simples y circulares).
Realiza el algoritmo de cada situacin problemtica y el programa en C
correspondiente.
1- Cargar en una lista n letras del abecedario.
2- En la estructura creada en el ejercicio anterior, mostrar la cantidad de a o A que
hay almacenadas.
3- Dada en memoria una lista que almacena nmeros enteros (positivos, negativos y
nulos), mostrar:
- La cantidad de elementos nulos.
- La suma de los elementos positivos.
- El promedio de los elementos positivos.
- La cantidad de elementos negativos.
4- Dada una lista en memoria que almacena nmeros se pide agregar un elemento en un
nodo al principio de la lista. El elemento es un nmero del mismo tipo que los
componentes de la lista y se debe ingresar por teclado.
5- dem al anterior pero insertar el elemento al final de la lista.
6- Se posee en memoria una lista de nmeros ordenada ascendentemente. Se pide
ingresar un nmero x e insertarlo en la lista de manera que la estructura quede ordenada
ascendentemente. (Considerar que el elemento a insertar puede ser menor que el
primero, puede ser menor que un valor que est en el centro de la lista o ser mayor que
el ltimo). Mostrar toda la estructura, luego de insertar.
7- Dada la lista en memoria del ejercicio 6- se pide eliminar un elemento que se debe
ingresar por teclado que se sabe que est en la lista. Considerar las tres situaciones: que sea el primer nodo, - que no sea ni primero ni ltimo y que sea el ltimo nodo de la
lista.
8- Dada en memoria dos listas L1 Y L2 que almacenan nmeros se pide UNIR las dos
listas.
9- Se pide disear una funcin que utilice listas para verificar si una cadena de
caracteres es del tipo ABXBA; es decir se debe verificar que la cantidad de As y Bs que
existen antes de la letra x sean igual a la cantidad de Bs y As que existen despus de la
letra x, y en ese orden.
Por ejemplo
AABBXBBAA es del tipo de la cadena
AXA es del tipo de la cadena
AAABBBXBBBAAA es del tipo de la cadena
ABXBBA no es del tipo de la cadena
3

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin
1 ao
Docente: Gabriela Ribotta
Ayudante: Mara Laura Lpez
Las funciones que estn definidas en cada TDA son:
TDA LISTA:
Crear Lista
Insertar Primero
Insertar Ultimo
Mostrar Lista
Limpiar Lista
Lista Vacia
Borrar Primero
Borrar Ultimo
Borrar Elemento.
10- Dada en memoria una lista que almacena longitudes de mediciones realizadas de
viajes de distintos satlites a la luna, desde la tierra, se pide encontrar la menor distancia
de la lista.
11- Disear una funcin que, dado un entero i, suprima el elemento i-simo de la lista.

12- Escribir una funcin que reciba dos listas, que a priori se sabe que son de
igual longitud, y devuelva la raz cuadrada de la suma de los cuadrados de sus
componentes.

Ejercicios Propuestos
1. Disear funciones para trabajar con listas de enteros capaces de realizar las
operaciones siguientes:
a) Aadir un elemento al final de la lista.
b) Invertir la lista.
c) Eliminar el primer y el ltimo elemento de la lista.
d) Formar una lista que contenga los elementos comunes de otras dos.
e) Insertar un elemento despus del elemento i-simo.
f) Calcular la media y la desviacin tpica de los elementos de la lista.
g) Calcular la longitud de la lista en cada momento.
h) Mover un nodo j, n posiciones ms adelante.
2. Escrbase una funcin para intercambiar las posiciones p y q de una lista.
3. Dada una lista de enteros no ordenada, escribir una funcin que:
(a) Devuelva el mximo elemento.
(b) Devuelva el promedio de los elementos.
(c) Devuelva el mdulo (suponiendo la lista un vector de n elementos)
(d) Elimine los elementos repetidos
4

Algoritmo y Estructura de Datos


Ing. en Sistemas de Informacin
1 ao
Docente: Gabriela Ribotta
Ayudante: Mara Laura Lpez
4- Se posee en memoria dos listas L1 Y L2 que almacena edades de inscriptos en un
gimnasio deportivo. Las dos estructuras estn ordenadas ascendentemente. Se pide
armar una sola lista, usando los mismos nodos de manera que la lista armada quede
ordenada del mismo modo que L1 Y L2.
5- Dada una lista que se encuentra almacenada en memoria donde cada nodo posee la
temperatura promedio diaria del mes de junio del corriente ao. Se pide armar tres
listas:
- una con los nodos cuya componente sea menor a 0.
- otra con los nodos cuya componente sea mayor a 10.
- y la ltima con los nodos cuyas temperaturas se encuentren en el rango 0-9 inclusive.
6-Disear una funcin que concatene dos listas.

You might also like