[pyar] Ordenar horarios - Ejercicio Python

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


El 7 de julio de 2010 12:22, Juan Pedro Fisanotti <fisadev en gmail.com>escribió:

> 2010/7/7 Juan Rodríguez Monti <juanrodriguezmonti en gmail.com>:
> > 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
> >
> >
>
> Es un lindo problema para resolver con los métodos de búsqueda de
> inteligencia artificial :)
>

Viste, es un lindo problema. Hace tiempo un amigo lo habia implementado en
C++. Por eso después yo lo planteé en Python, y bueno después lo pasé a la
lista.


> Recomiendo ver en AIMA (Artificial Inteligence, a Modern Approach) la
> parte de técnicas para resolver problemas de búsqueda. En especial
> porque todo el código de AIMA está implementado en python (
> http://code.google.com/p/aima-python/ ), por el mismo Norvig, jeje.
>

Buen aporte.

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


More information about the pyar mailing list