Você está na página 1de 7

INF – 131 ESTRUCTURA DE DATOS Y ALGORITMOS

UNIVERSIDAD MAYOR DE SAN ANDRES


CARRERA DE INFORMATICA

GUIA DE EJERCICIOS
INF 131

Univ. Josué Oscar Espejo Quenta (viernes 14 – 16 “PB-Aula F”)


Univ. Oscar Gauss Carvajal (viernes 12 – 14 ””)
Univ. Juan Pablo Hilara Machaca (viernes 10 -12 ”PB- aula 2”)

I/2018

NOTA
 Realizar los ejercicios que cada auxiliar determine.
 Entregar la práctica antes del examen de cátedra.
 Cada ejercicio debe considerar:
o Problema
o Diagrama de clases
o Solución del problema en el principal o procesos

1
INF – 131 ESTRUCTURA DE DATOS Y ALGORITMOS

TEMA : PILAS Y COLAS

1. Dadas dos pilas A y B que contienen números enteros se pide llevar aquellos números que
sean pares a la pila A y el resto de los números impares a la pila B, sin hacer uso de pilas
auxiliares ni ninguna otra estructura.
2. Dada una pila de objetos fracciones con atributos numerador, denominador y signo de
operación (+,-,*,%) donde “%” representa división, se pide evaluar la pila. Recuerde y
priorice los operandos
Ejemplo:
1/2 * 1/4 + 1/8 - 1/2 % 5/4
1/8 + 1/8 – 4/10 = 13/20

3. Dada una pila de cadenas, se pide ordenar la pila lexicográficamente donde los elementos
que comiencen con la primera letra “A” deberán estar en el fondo de la pila y ascender
hasta que las palabras que empiezan con la letra “Z” estén en la cima de la pila.
4. Dada una pila de caracteres “(,),[,],{,}” y espacios en blanco “ ” que no necesariamente
serán de longitud “1” se pide determinar si una expresión esta balanceada correctamente.
Ejemplo :
[ ( ) ] Esta Balanceada Correctamente

{() }( ] No esta balanceada correctamente

(((( ( ( ] ) ) ) ) ) No esta balanceada correctamente

5. Dada una pila de cadenas ordenada se pide introducir por teclado una cadena e insertarla
a la pila de tal manera que se mantenga el orden de la pila.

6. Escriba una función booleana que tenga como parámetro de entrada una cadena “x”, que
devuelta “True” si esta cadena es palíndrome o False si esta no lo es. Una cadena
palindrome es aquella que se lee igual de derecha a izquierda. Puede hacer uso de pilas y
colas para su solución.

Ejemplo

oruro Es este caso la función deberá retornar True

enigma En este casi la función deberá retornar False

7. Dada una cola simple normal de objeto persona con atributos nombre, fecha de
nacimiento (formato dd/mm/aaaa) y el sexo donde “F” femenino y “M” masculino se pide
realizar:

2
INF – 131 ESTRUCTURA DE DATOS Y ALGORITMOS

a) Mostrar a la o las personas que tienen la mayor cantidad de años.


b) Clasificar en dos colas a las personas según su sexo.

8. Dada una cola con objetos tipo pedido que tienen como atributos cod_cliente,
nro_pedido, fecha, cantidad y cod_libro, una cola con objetos tipo cliente con atributos
nombre, cod_cliente, edad, y una cola con objeto tipo libro con atributos cod_libro,
precio, titulo, autor. Se pide determinar:
a) Mostrar al o a los clientes que hicieron mas pedidos
b) Calcular el monto total (costo) de los pedidos agrupando por cliente
c) Mostrar aquellos clientes que realizaron un pedido en la fecha x

9. Dada una cola circular que contiene cadenas, si pide:


 Invertir el orden de los elementos de la cola
 Invertir el orden de los elementos de la cola, utilizar una pila
 Invertir el orden de los elementos de la cola sin utilizar ninguna estructura auxiliar.

10. Sea una cola que almacena caracteres. Por ejemplo: a, b, a, c, d, x, e, a, b, d. Ordenar de
acuerdo al número de repeticiones del dato.
a. Ascendentemente
c, x, e, b, b, d, d, a, a, a
b. Descendentemente
a, a, a, d, d, b, b, e, x, c

TEMA: MULTIPLES PILAS Y COLAS

1. Dada una múltiple pila que contiene objetos de tipo persona(ci, nombre, edad, genero):
a. Mostrar la cantidad de varones y mujeres de cada pila.
b. Ordenar los elementos de la pila con respecto a su edad.
c. Insertar una persona en la i-esima posición de la múltiple pila y en la j-esima
posición de la pila.

2. Dada una multiple pila que contiene números, mostrar los números primos por pila, si
existen.
3. Dada pila que contiene colas circulares que contiene objetos auto(modelo, color).
a. Mostrar los autos que sean de color x.
b. Eliminar los autos que de modelo X.
c. Insertar una cola circular en la i-esima posición de la pila.

4. Sea una múltiple pila que contiene objetos libro (autor, titulo, nroPag, tipo).
a. Mostrar al autor X.
b. Ordenar con respecto al nroPag.
c. Mostrar los libros de título x.

3
INF – 131 ESTRUCTURA DE DATOS Y ALGORITMOS

5. Dada una múltiple pila de números se pide:


a. Tomar el último elemento de cada pila y llevarlo al final de la siguiente pila.
b. Tomar el primer elemento de cada pila y llevarlo al principio de la siguiente pila.

6. Dado un objeto múltiple cola circular “W” donde se almacenas polinomios se pide:
a. mostrar el o los polinomios que tengan mas términos
b. Mostrar todos los polinomios que tengan el exponente “z” que se será introducido por
teclado

7. Dado un objeto multiple cola normal “Z” que contiene datos de enteros se pide eliminar
de cada cola aquellos pares consecutivos si existen caso contrario no se modifican las
colas.

TEMA: LISTAS ENLAZADAS

1. Dada una lista simple circular de números, añadir el dato “x” y el dato “y” antes y después
de un dato introducido por teclado, si existe dicho dato. En caso de que no exista, “x” se
añade al comienzo de la lista y “y” se añade al final de la lista.

2. El gerente de la empresa “san simón” ha contratado a un programador para que efectúe el


control de sus empleados. Al empezar sus operaciones, la empresa ha contratado a Z
empleados. Posteriormente se han contratado otros empleados. Asimismo, después de
varios años, el gerente ha determinado jubilar a todos aquellos empleados que tienen más
de 65 años. Elabore el diagrama de clases y resuelva el ejercicio utilizando listas.

3. (Bajo el enunciado del ejercicio anterior) el gerente necesita saber cuántos hijos e hijas,
menores de 12 años, tienen sus empleados a fin de comprar presentes para navidad.

4. Se tiene una lista doble normal de participantes en un sorteo de fines de gestión, de los
participantes se conoce nombre, edad, ci, dirección, celular. Se pide ordenar de acuerdo a
la edad y luego eliminar a los participantes menores de edad (edad < 18)

5. Se tiene una lista simple normal de dígitos (0-9), se pide eliminar a los dígitos que estén
repetidos y después sumar los dígitos de dos en dos, si alguna suma excede el 9 entonces
sumar los dígitos de ese resultado para que se convierta en un solo digito. Repetir este
proceso hasta solo obtener un digito.

4
INF – 131 ESTRUCTURA DE DATOS Y ALGORITMOS

Repetidos
9 5 1 5 7 4 3 8 3 9 1 7 4 8

9 + 1 = 10 => 1 + 0 = 1 1+7=8

1 7 4 8 8 4 8

8 + 4 = 12 => 1 + 2 = 3 3 + 8 = 11 => 1 + 1 = 2

3 8 2

6. Considerando que los libros de la biblioteca municipal que están organizados por áreas
(Infantil, Matemáticas, Ciencias políticas, etc.). Se tiene la Lista Doble Normal que
almacena las diferentes áreas<Área, NroLibros> y la Lista Doble Circular que almacena la
información de los libros<Titulo, autor> agrupados por áreas según el orden de la lista de
las áreas.
a. Mostrar cada Área y toda la información de sus libros.
b. Agregar R libros al área X.

7. Sea una Lista (LS_Circular), de productos, donde cada uno almacena (nombre, precio y
stock).
a. Ordenar la Lista de acuerdo al Stock.
b. Eliminar los productos agotados.

8. Crear una lista doble circular R con N elementos (cada elemento tiene código, nombre y
numcelular). Eliminar de la lista R todos los nodos cuyo dígito inicial de numcelular es X y
con estos datos crear una nueva lista doble normal C y luego mostrar ambas listas.

9. Sea la empresa ElectroMulti, se manejan sus datos con dos listas: una lista simple de objetos
electrodoméstico<nombre, idElec, costo> y otra lista simple de objetos venta<cantidad,
fecha, idElec> determinar:
a. El monto total de las ventas de la empresa.
b. La fecha en la que se generó mayor ganancia.

5
INF – 131 ESTRUCTURA DE DATOS Y ALGORITMOS

10. Se tiene la siguiente lista para controlar un hospital:

v v

Objeto Especialidad<NomEspecialidad, Doctor>

Objeto Paciente<Nombre, sexo, Edad>

Se pide:
a. Determinar cuál es la especialidad con mayor demanda de pacientes y mostrarla.
b. Mostrar en que especialidad está el paciente con nombre X.

TEMA: MULTIPLES LISTAS

1. Sea una lista circular de materias donde cada materia tiene una lista simple de
estudiantes. Realizar:
a) Mostrar a los estudiantes de la materia “INF-131”
b) Mostrar las materias en las que está inscrito el estudiante con ci X.
c) Mostrar las materias con la mayor cantidad de estudiantes.

2. Crear una Múltiple Lista de Listas Circulares, en la primera lista almacenar el primer
término de la serie de Fibonacci, en la segunda los dos primeros términos de la serie de
Fibonacci, en la tercera los tres primeros y así sucesivamente hasta las n listas, luego
mostrar las listas generadas. Finalmente eliminar el término X, si existe.

3. Dada una lista Múltiple de sucursales de supermercados (Dirección, Lista de Empleados,


teléfono), Empleado(nombre, edad, Lista de Ventas), Venta (nombreProducto, precio,
cantidad)Mostrar la sucursal que más productos vendió.

4. Del ejercicio 3 Cuál es la sucursal con menos empleados.

5. Del ejercicio 3 De cada sucursal mostrar el nombre del empleado que logro vender más
en el supermercado.

6
INF – 131 ESTRUCTURA DE DATOS Y ALGORITMOS

6. En un campeonato de futbol ABC se controla la información a través de las siguientes


estructuras de datos:
Lista de Equipos: Almacena la información de los equipos, cada nodo guarda información
de un equipo como: el nombre del Equipo y la Lista de sus jugadores. Lista de Jugadores:
Almacena datos de los jugadores, cada nodo guarda información de un jugador: su
nombre y posición (arquero, defensa, etc).
Lista de Fechas: Donde se guarda la información de los diferentes partidos jugados por
fecha, cada nodo guarda una fecha y una Lista de Partidos Jugados en esa fecha. Lista de
Partidos Jugados: Cada nodo almacena nombreEquipoA, nroGolesEquipoA,
nombreEquipoB, nroGolesEquipoB.

a).Mostrar a los equipos que no tiene ningún partido ganado.


b) Mostrar a los jugadores de los equipos, cuyo partido jugado sea empate

7. Los cursos actualización de LASIN, se controlan a través de un Múltiple lista:


Lista de Cursos: Almacena nombre, fecha inicio, Instructor, Lista de Estudiantes
Lista de Estudiantes: Almacena nombreCompleto, Nota
a) Mostrar el nombre del curso con más aprobados
b) Mostrar los cursos aprobados por el estudiante con nombre X

8. Se requiere controlar el índice de un libro organizado por capitulo con un Múltiple Lista:
Lista de Capítulos: Numero, Titulo, NroPagina
Lista de Subtítulos: Texto, NroPagina
a) Mostrar los subtítulos del Capitulo número X
b) Verificar si existe el tema X (como título o subtítulo)

9. La gobernación de La Paz tiene un registro que está basado en listas:


Lista de Municipios (NomMun, Lista de zonas, antigüedad).
Lista de Zonas (NomZona, Lista de Familias, ubicación).
Lista de Familias (CantidadMiembros, Apellido).
Realizar:
a. Mostrar la zona en la que vive la familia con apellido X.
b. Mostrar el nombre de la zona en la que se tienen más vecinos (se toma en cuenta la
cantidad de miembros de cada familia).
c. Encontrar al municipio más antiguo y agregarle una nueva zona.

10. Sea la lista de Docentes <nombre, Lista de pagos> y la lista de pagos <fecha, monto> se
pide:
a. Mostrar a los docentes que tuvieron algún sueldo mayor a 1000.
b. Verificar si el docente de nombre X recibió su pago de la fecha Y.

Você também pode gostar