Está en la página 1de 4

Fundamentos de programación

Primera Tarea Acumulativa

Ejercicio 1

Se requiere un programa que permita administrar información de las mejores películas del año. Para
esto deberá programar las siguientes funciones:

a) ingresarPeliculas() Esta función permite el ingreso de nombres de películas hasta que el nombre de la
película sea “ninguna”. Se ingresará una cadena representando el nombre de la película y tres valores
entre 0 y 10 separados por comas representando los puntajes por libreto, música y efectos especiales
respectivamente. Por ejemplo:

Película: Rápidos y furiosos


Puntajes: 10,5,9
Película: Piratas del caribe
Puntajes: 9,7,5
Película: xXx: Return of Xander Cage
Puntajes: 8,4,7
Película: ninguna

Con estos datos debe ir creando una lista de películas y una lista de sus respectivos puntajes. El
puntaje de película se calcula con la fórmula:

Donde
L: Libreto
M: Música
E: efectos especiales.

Por ejemplo:

['Rápidos y furiosos', 'Piratas del caribe','xXx: Return of Xander Cage']


[8.3,7.6,6.0]

Esta función retorna las dos listas construidas.

b) ordenarPeliculas(listaPeliculas,listaPuntajes) que recibe la lista de nombres de películas y la lista


de los puntajes respectivos. Esta función debe mostrar en pantalla los nombres de películas
ordenados de menor a mayor de acuerdo a su puntaje.

Por ejemplo:

xXx: Return of Xander Cage


Piratas del caribe
Rápidos y furiosos
c) ingresarActoresXPelicula(listaPeliculas) que recibe la lista de nombres películas. Esta función debe
pedir al usuario que ingrese los datos de actores por cada película de la lista. Por cada actor se
debe especificar su género (M ó F). Así, cada elemento indica el nombre del actor o actriz y su
género separado por una barra vertical (|); mientras que los elementos se ingresarán separados
por comas. A continuación se muestra un ejemplo de la forma en que el usuario debe ingresar
los datos:

Ingrese los actores de “Rapidos y furiosos”: Vin Diesel|M, Michelle


Rodriguez|F, Jason Statham|M
Ingrese los actores de “Piratas del caribe”: Johnny Deep|M, Javier
Bardem|M, Orlando Bloom|M
Ingrese los actores de “xXx: Return of Xander Cage”: Vin Diesel|M, Donnie
Yen|M, Deepika Padukone|F

Con los datos de cada película, vaya armando una lista de tuplas donde cada tupla tendrá como
primer elemento el nombre del actor/actriz y como segundo elemento su género. Al final, deberá
tener una lista con tantas tuplas como películas hay). Muestra esa lista en la función.

A su vez, los nombres de actores deben agruparse en una tupla de mujeres o de hombres según
su género. No agregue repetidos. Esta función retorna las tuplas de actores y actrices Ejemplo:

('Vin Diesel', 'Jason Statham', 'Johnny Deep', 'Javier Bardem', 'Orlando


Bloom', 'Donnie Yen')

('Michelle Rodriguez', 'Deepika Padukone')

Esta función retorna las listas de actores y actrices creadas.

d) calificar(lista) que recibe una tupla de actores o de actrices. Esta función, pedirá al usuario que
de una calificación entre 1 y 10 para cada actor/actriz de la lista.

Ingrese puntuación para Michelle Rodriguez:7


Ingrese puntuación para Deepika Padukone:9

La actriz con mayor puntaje es: Deepika Padukone, con 9 puntos.

Al final esta función muestra en pantalla el nombre del actor/actriz con mayor puntuación y
su respectiva puntuación.

Escriba el programa principal que muestre el siguiente menú y permita acceder a las distintas
opciones:

1. Ingresar datos de películas


2. Ordenar películas
3. Ingresar actores por películas
4. Ingresar calificaciones de actores
5. Salir

En el programa principal debe pedir al usuario que elija una opción del menú, Si el usuario ingresa
una opción no válida debe pedirle nuevamente el dato hasta que la opción sea alguna de las que se
muestra en el menú.
El programa se ejecuta mientras la opción válida ingresada sea diferente de Salir (5).

Para cada opción del menú invoque a la función correspondiente que realice la tarea mencionada.
Las funciones deben estar ubicadas en un nuevo documento Python distinto del documento donde
tiene el programa principal.

Ejercicio 2

Usted ha sido contratado como nuevo administrador en el taller de Papa Noél, en el Polo Norte. Como
es una época muy agitada, existen muchas tareas por realizar, dadas en una lista llamada tareas:

tareas = ['pintar soldados', 'hornear galletas', 'armar muñecos', 'cortar


papel de regalo', 'armar pompones', 'revisar juguetes', 'revisar cartas',
'limpiar taller', 'cortar leña', 'pegar marionetas', 'pintar casitas de
madera', 'alimentar renos' ]

Para cada tarea, usted tiene el tiempo de inicio en minuto del día, y la duración de la tarea, también
en minutos:

inicio = [678, 200, 240, 423, 630, 560, 100, 300, 50, 178, 90, 230 ]
duracion = [200, 200, 256, 212, 240, 120, 278, 190, 179, 120, 210, 274]

Por ejemplo, la tarea ‘pintar soldados’ empieza en el minuto 678 del día, y tiene una duración de
300 minutos.

Su trabajo es planificar la mayor cantidad de tareas que se pueden realizar en un día de 1440
minutos.
Para ello seleccionará las tareas basadas en sus tiempos de finalización prefiriendo las
tareas que terminan más temprano en el día . Recuerde que la finalización de la tarea se calcula
como el minuto de inicio + los minutos de duración. Asuma que no existen tareas que finalizan
en el mismo minuto.
Como en el taller trabajan muchos duendes, no es problema planificar tareas que se deben ejecutar
simultáneamente.
En el ejemplo anterior, la tarea ‘pintar soldados’ termina en el minuto 978 (678 + 300) del día.
Recuerde que no es necesario que se planifiquen todas las tareas en un mismo día.
Escriba un programa que nos diga el orden en que se tiene que ejecutar las tareas, y cuáles son. Su
programa debe mostrar las tareas en orden de ejecución. Por ejemplo:
Ejercicio 3

Se le otorgan listas de fechas de asistencias a clases de 4 estudiantes:

estudiante1=['Juan
Valverde','15/01/2021','16/01/2021','17/01/2021','18/01/2021','19/01/2021','
20/01/2021']
estudiante2=['Carol
Ortega','15/01/2021','16/01/2021','17/01/2021','18/01/2021','19/01/2021','20
/01/2021','21/01/2021']
estudiante3=['Karen
Mendoza','16/01/2021','18/01/2021','20/01/2021','22/01/2021','23/01/2021','2
4/01/2021','25/01/2021']
estudiante4=['Juliana
Ruiz','15/01/2021','18/01/2021','19/01/2021','21/01/2021','23/01/2021']

En base a estos datos, usted debe:

a) Mostrar el estudiante que asistió a menos clases.


b) Buscar y mostrar las fechas en que todos los estudiantes coincidieron y asistieron a clases.
c) Mostrar todas las fechas sin repeticiones
d) Armar una tupla de listas, donde cada lista tendrá dos elementos: el primero será el nombre
de estudiante y el segundo el número de clases asistidas por ese estudiante.
e) Mostrar todas las fechas en las que asistió el estudiante 1 pero no estuvo el estudiante 4.

También podría gustarte