[pyar] Ordenar horarios - Ejercicio Python

Juan Rodríguez Monti juanrodriguezmonti en gmail.com
Mie Jul 7 11:26:41 ART 2010


El otro día - hace un tiempo - revisando los mails que no habia leido de la
lista ví uno en donde un listero contaba un ejercicio que tomaban en un
trabajo en las entrevistas. Me pareció interesante. En especial alguna de
las respuestas de algunos listeros. Algunos códigos eran geniales.

Ahora yo voy a hacer lo mismo. Un amigo me contó que toma el siguiente
ejercicio para desarrollar en Python ( no me pareció tan simple ) cuando
recluta programadores.

Es bastante sencillo, pero para alguien que recién empieza puede ser medio
bravo. Lo planteo para ver cómo lo armarian ustedes, y para que compartan su
sapiencia con Python.

El ejercicio: Se debe escribir una aplicación en python que permita ingresar
por teclado los horarios de cursada disponibles para un alumno ( Esto
significa que la Universidad ofrece n horarios posibles; por ejemplo: hay 3
horarios de matemática disponibles con sus día y hora respectivos, 2 de
algebra, 5 de programación, etc ), y que dicho programa procese la entrada
de datos e imprima en la pantalla todas las posibles combinaciones de
horarios de cursada en base a esa entrada.

Ejemplo de horario:

Matemática I - Lunes de 15 a 17 - Miércoles de 20 a 21 - Viernes de 16 a 18.
Algebra II - Martes de 15 a 19
Algoritmos III - Martes de 14 a 18 - Miércoles de 16 a 19

En base a toda la entrada de datos, en donde habrá horarios que se
superponen por coincidir parcial o totalmente en hora o día, el sistema
deberá construir e imprimir opciones de horarios para que el alumno elija
cúal es la ideal para el. Es decir, en base a las n opciones de cursada que
se ingresan, el sistema deberá mostrar por pantalla opciones para que el
alumno utilice. em donde ninguna materia se superponga con otra, y
contemplando que sea posible cursar la mayor cantidad de materias posibles.

Dato aclaratorio: Se ingresará nombre de materia, cantidad de días que se
cursa ( generalmente 2, pero pueden ser más ), y horarios. Ayuda: Puede ser
de ayuda pedirle al usuario que ingrese por cada día que se cursa hora de
inicio y fin de la cursada.

Plus: Si se diseña un algoritmo que optimice las opciones. Es decir, si se
determina un criterio a través del cual es mejor cursar 4 hs lunes y 4 hs
martes, en lugar de cursar 8 horas un único día. O aquí se puede implementar
la optimización que se deseé.

Si les interesa posteen su código que siempre es un placer leerlos.

Un saludo,
Juan
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100707/32b7069f/attachment.html>


More information about the pyar mailing list