Professional Documents
Culture Documents
GUIA DE EJERCICIOS
INF-131
Algoritmos y Programacin
GESTION: II/2017
PARALELO: C
DOCENTE:
Lic. Carmen Rosa Huanca Quisbert
AUXILIARES:
Univ. Lisbeth Yasminka Quisbert Patzi
Univ. Josue Oscar Espejo Quenta
Paralelo C Pgina 1
INF-131 Algoritmos y Programacin Gestin II/2017
1. Mostrar el mayor elemento y menor elemento de una pila que tiene N datos
numricos.
2. Crear un objeto Pila que almacena objetos Persona; cada persona tiene como
datos [nombre, apellido, fecha de nacimiento]. Se desea crear otra Pila, tal que
ingresada la fecha actual, esta nueva Pila almacene el nombre y la edad actual.
3. Sea una pila de objetos CDs de pelculas. Cada pelcula tiene como datos [titulo,
duracin, tipo, argumento]
a) Ordenar los CDs por la cantidad de peliculas.
b) Eliminar el CD que tiene pelcula(s) de tipo x.
4. Disear un algoritmo que inserte un elemento en una pila de nmeros ordenada
manteniendo el orden de la misma.
5. Se tienen dos pilas que contienen los dgitos de 2 nmeros, respectivamente.
Manejando dgitos se pide:
a) Sumar los nmeros
b) Multiplicar los nmeros
6. Dadas dos Pilas A y B ambas con valores enteros y mayores a cero, se trata de
intercambiar sus valores de tal forma que en la Pila A queden los pares y en B los
impares.
Paralelo C Pgina 2
INF-131 Algoritmos y Programacin Gestin II/2017
9. Dada una cola circular eliminar los elementos repetidos sin utilizar estructuras
auxiliares.
10. Sea una Cola Simple que maneja los pedidos de un restaurante donde se guarda:
nmero de mesa, fecha, un objeto Cliente (nombre completo y nit), cdigo de
plato, cantidad de platos, y sea una Cola Circular de objetos Plato (cdigo,nombre
y precio).Realizar:
a) Calcular el monto total a pagar del cliente de nombre X en la fecha Y.
b) Eliminar los pedidos del Plato con nombre X
11. En una empresa A donde los clientes que llegan son almacenados y registrados
en una cola de clientes, pues para el manejo ms fcil de datos y clientes se le
pide a usted que disee un mtodo de tal manera que pueda ordenar los Clientes
por nombre.
12. Emular el funcionamiento de una Estacin de Servicio (ES) donde existen K
surtidores representar en una cola circular donde se venden distintos productos
almacenados en una cola simple (Gasolina, Diesel, etc) cada surtidor est a cargo
de un empleado. Luego el gerente requiere la siguiente informacin (usar la
estructura cola):
a) En cul de los surtidores se ha vendido ms?
b) Cul fue el producto ms vendido?
13. Se tiene una cola simple Q y una cola circular R. Intercambiar el i-esimo elemento
de R con el k-esimo elemento de Q.
14. Crear una cola simple W, donde se tiene libros vendidos por mes, cuyos atributos
son: [cod_lib, titulo y nro_pag]
a) Se pide ordenar en forma descendente tomando en cuenta el nmero de
pginas que tiene cada Libro.
b) Determinar la cantidad de libros que se vendi (por libro).
Paralelo C Pgina 3
INF-131 Algoritmos y Programacin Gestin II/2017
7. Sea una mltiple cola circular, y cada cola almacena el objeto libro [cdigoLibro,
autor, nombreDelLibro, precioLibro].
Determinar:
a) Cuantos libros escribi el autor X.
b) Mostrar el libro ms caro de cada cola circular.
c) Llevar los libros del autor X a una nueva cola circular en la misma mltiple cola
circular.
d) Intercambiar el primer y ltimo elemento de cada cola de la mltiple cola
circular.
e) Verificar si existe una cola circular vaca.
f) Sean dos mltiples colas circulares, mostrar los libros de la primera mltiple cola
circular que existen en la segunda.
8. Sea una mltiple cola simple de personas (ci, nombre, apPaterno, apMaterno,
edad), realizar:
a) Eliminar la i-esima cola simple.
b) Eliminar a la persona con ci X.
c) Eliminar a las personas menores de edad.
d) Adicionar una persona Y a la j-esima cola.
Paralelo C Pgina 4
INF-131 Algoritmos y Programacin Gestin II/2017
9. Un campo deportivo, tiene una serie de ventanillas, para la venta de entradas del
partido final, por ser un partido muy importante donde se determinara quien ser el
campen del torneo de la copita feliz. La aglomeracin de las personas es
bastante, entonces cada persona debe hacer fila por cada ventanilla. Cada
espectador compra su entrada con sus datos [Nombre, CI, Nro. de entradas] y
adicionalmente cada ventanilla tiene un numero lmite de entradas (Por lo tanto el
numero lmite de entradas va reduciendo a medida a que cada espectador compre
entradas).
Utilice como estructura una Cola Mltiple para implementar el problema y resuelva
los siguientes puntos.
a) Desplegar el nombre del espectador que compro ms entradas de todas las
ventanillas.
b) Suponiendo que cada entrada costo 15 Bs Cunto se logr recaudar?
c) Encontrar el nro. de ventanilla donde compro entradas el espectador X.
10. Una empresa realiza proyectos de desarrollo de software, para un determinado
proyecto se requiere un tiempo de desarrollo de horas por da, los cuales son
guardados en una mltiple cola circular de enteros, donde cada pila de la mltiple
pila representa un determinado proyecto y cada elemento de la pila son unidades
de tiempo de desarrollo (en horas) de cada proyecto.
a) Encontrar el proyecto que necesito ms tiempo en desarrollo.
b) Encontrar el promedio horas/da de cada proyecto.
c) Encontrar el promedio total de horas/da de todos los proyectos.
d) Ordenar los proyectos por orden de desarrollo.
e) Eliminar el proyecto de la mltiple pila con menor tiempo.
11. En un restaurant de comida rpida, ofrece a los comensales una variedad de
combos cuya informacin se almacena en una cola circular (nroCombo, nombre,
precio).
En una Mltiple Cola Circular se almacenan la informacin de las diferentes
rdenes de los comensales, del dia1cola1, dia2cola2, dia3cola3, etc.
Cada orden tiene nombreComensal y una Pila de los combos solicitados por el
comensal. En la pila se almacena (nroCombo, cantidad),
a. Calcular el total ganado en el da X.
b. Por cada combo, calcular la cantidad total de pedidos de todos los das.
c. Mostrar los combos que no salieron en el dia1, dia2, dia3, etc.
12. Sea una mltiple cola simple de libros [titulo, autor], realizar:
a) Determinar cuntas colas almacenan libros del autor X.
b) Llevar el i-esimo libro de cada cola al principio.
c) Sean dos mltiples colas, mostrar los libros de la primera mltiple cola que
estn en la segunda mltiple cola
13. Sea una lnea de los buses Puma Katari de la ciudad de La Paz, que tiene un
conjunto de paradas definidas, donde las personas hacen cola para poder subir.
Considerando que est representada mediante una Mltiple Cola Simple, donde
cada cola almacena la informacin de las personas [nombre, edad]
a. Dado que el pasaje para menores es 1.00 Bs y para mayores (edad >= 18) es
de 2.00 Bs calcular y mostrar el total que se gana en la lnea.
b. Dar prioridad en la cola a las personas adulto mayor (edad>=65)
Paralelo C Pgina 5
INF-131 Algoritmos y Programacin Gestin II/2017
14. Con el ejercicio anterior: Sean dos mltiples Colas, una de ida y la otra de retorno,
calcular el total ganado en la ida y la vuelta.
15. Sea una mltiple cola circular de materias [sigla, nombre, semestre] de la carrera
de informtica, ordenadas por semestre, y sea una pila donde se almacena
estudiantes [ci, nombre, semestre, siglaDeLaMateria] de la carrera de informtica
realizar:
a) Mostrar a los estudiantes que estn tomando la materia de LAB-131 e INF-131
b) Eliminar a los estudiantes de 5to semestre que estn tomando menos de 6
materias.
1. Sea la empresa ElectroMulti, se manejan sus datos con dos listas: una lista simple
de objetos electrodomstico<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.
c. Si se vendi el producto con nombre X en ms de 4 fechas diferentes.
2. Se maneja el control de los huspedes y habitaciones de un hotel de 5 estrellas
mediante listas, habiendo dos listas: una lista doble que contiene objetos
habitacin<Nrohabitacion, capacidad, costo> y una lista simple circular de objetos
husped<Nombre, nrohabitacion, nroIntegrantes>
a. Verificar y mostrar si existe alguna habitacin que est excediendo su
capacidad.
b. La habitacin nmero X quedo vaca, entonces se pide eliminar a los
huspedes de dicha habitacin.
c. Una familia de 3 miembros llego al hotel y piden la habitacin nmero X,
verificar si esta habitacin tiene una capacidad de 3 personas, si es as
agregar a la familia a la lista de huspedes.
3. Se tiene una lista simple normal de dgitos (0-9), se pide eliminar a los dgitos que
estn repetidos y despus sumar los dgitos de dos en dos, si alguna suma excede
el 9 entonces sumar los dgitos de ese resultado para que se convierta en un solo
digito. Repetir este proceso hasta solo obtener un digito.
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
Paralelo C Pgina 6
INF-131 Algoritmos y Programacin Gestin II/2017
v v
Se pide:
a. Determinar cul es la especialidad con mayor demanda de pacientes y
mostrarla.
b. Mostrar en que especialidad est el paciente con nombre X.
c. Eliminar a los pacientes con ms de 14 aos de la especialidad de
Pediatra.
8. Se tiene una lista doble circular de los procesos de una computadora donde
Proceso<NombreProc, espacioMemo, ubicacin>, se pide:
a. Agregar K nuevos procesos despus del proceso con mayor espacio en
memoria.
b. Eliminar aquellos procesos que ocupan ms de 100 Mbs.
c. Ordenar los procesos de acuerdo a su ubicacin(Primero los q estn el
disco C, D y E).
Paralelo C Pgina 7
INF-131 Algoritmos y Programacin Gestin II/2017
9. En una guardera, dada una lista simple circular que controla a los nios<nombre,
edad, seccin>, donde seccin puede ser: pequeines(desde los ms pequeos a
1 ao)y niditos(de 2 a 4 aos).
a. Mostrar a los nios por secciones.
b. Separar a los nios por secciones en dos listas distintas.
10. Sea una lista doble normal de objetos contacto<nombre, nroCel> y una lista simple
normal de objetos Registro<NroCel, tiempo, fecha> se pide:
a. Eliminar los registros del contacto con nombre X.
b. Hacer una llamada telefnica de 1 minuto al nro. de celular del contacto con
nombre X (si existe).
c. Mostrar el nombre del contacto con el cual se tuvo la llamada con mayor
tiempo.
11. Sea una lista simple circular donde se guardan los mensajes de entrada de una
cuenta de Facebook mensaje<idusuario, texto, fecha> y una lista de amigos
amigo<nombre, idusuario, edad, sexo>. Realizar:
a. Eliminar al amigo con nombre X y sus mensajes.
b. Verificar si el amigo con nombre X envi mensaje en la fecha Y.
c. Mostrar al amigo que tiene ms edad y sus mensajes.
12. En las salas de un cine se manejan los asientos para una funcin mediante una
lista doble normal con objetos asiento<fila, columna, idAsiento> fila = A, B C ...,
Columna = 1, 2, 3, y otra lista simple normal con objetos cliente<Nombre,
idAsiento>.
a. Verificar si el asiento de fila X y columna Y est disponible.
b. Mover al cliente con nombre X al asiento de su izquierda si existe y est
vacante.
13. En una feria de Arduino en la universidad que se realiza cada ao existe una lista
simple normal de los proyectos<nombreProy, participante, costo> se pide:
a. Eliminar el proyecto el participante de nombre X.
b. Ordenar la lista de acuerdo al costo del ms bajo al mayor.
c. Contar los proyectos con un costo mayor a 300 bs.
14. Sea la lista doble circular que maneja los cupones vendidos de una lotera donde
cupn<NroCupon, ciudad> y otra lista simple con participantes<Nombre,
NroCupon>.
a. Se pide mostrar al ganador si el nro. del cupn es el 12345.
b. Determinar en qu ciudad se vendi ms cupones.
15. Se tiene la siguiente lista
Paralelo C Pgina 8
INF-131 Algoritmos y Programacin Gestin II/2017
Paralelo C Pgina 9
INF-131 Algoritmos y Programacin Gestin II/2017
8. Se tiene una lista doble circular de los viviendas de una urbanizacin donde
vivienda<Nombre Propietario, ubicacin, ListaHabitantes>, habitante<Nombre, ci,
edad>. Se pide:
a. Mostrar a los habitantes de las viviendas donde se tenga ms de 4
habitantes.
b. Agregar un nuevo habitante en la vivienda del propietario X.
c. Eliminar al habitante con nombre X y edad Y.
10. Sea una lista doble normal de objetos contacto<nombre, nroCel> y una lista simple
normal de objetos Registro<NroCel, tiempo fecha> se pide:
a. Eliminar los registros del contacto con nombre X.
b. Hacer una llamada telefnica de 1 minuto al nro. de celular del contacto con
nombre X (si existe).
c. Mostrar el nombre del contacto con el cual se tuvo la llamada con mayor
tiempo.
11. Para una eleccin se tiene una lista doble circular de objetos frentes<Nombre,
colores, lista candidatos> donde candidatos<Nombre, cargo, edad>
a. Eliminar a los candidatos con edad menor a 18.
b. Agregar un nuevo candidato al frente de colores X.
13. En una feria de las alasitas se tiene una lista del campo ferial ordenada por bloques
donde Bloque<NumeroBloque, ListaPuestos> donde
Puesto<NomDueo,Articulos>:
a. Mover al puesto con nombre de dueo X al Bloque 3.
b. Mostrar el bloque con ms puestos.
c. Eliminar los puestos donde se expone artculos de nombre X
.
14. Sea la lista doble circular que maneja las notas de la materia de INF 131 donde se
tiene nota<ci, 1erParcial, 2doParcial, ExFinal>. Adems Se tiene la lista simple
Paralelo C Pgina 10
INF-131 Algoritmos y Programacin Gestin II/2017
TEMA: RECURSIVIDAD
Paralelo C Pgina 11
INF-131 Algoritmos y Programacin Gestin II/2017
TEMA: ARBOLES
Paralelo C Pgina 12
INF-131 Algoritmos y Programacin Gestin II/2017
Paralelo C Pgina 13