Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Trabajo pr actico 1
Primera entrega: viernes 12 de abril, hasta las 18:00 horas. Segunda entrega: viernes 26 de abril, hasta las 17:00 horas.
Aclaraciones generales
Este trabajo pr actico consta de varios problemas y para aprobar el trabajo se requiere aprobar todos los problemas. Cada problema podr a ser presentado en primera o en segunda fecha y aquellos presentados en primera fecha podr an ser recuperados individualmente. En caso de recuperar (o entregar en segunda fecha), la nota nal de cada ejercicio ser a el 20 % del puntaje otorgado en primera fecha (el cual ser a cero si no se entreg o nada) m as el 80 % del puntaje obtenido al recuperar (o al entregar en segunda fecha). La nota nal del trabajo ser a el promedio de las notas nales de los ejercicios y el trabajo pr actico se aprobar a con una nota de 5 (cinco ) o superior. Para cada ejercicio se pide encontrar una soluci on algor tmica al problema propuesto y desarrollar los siguientes puntos: 1. Describir detalladamente el problema a resolver dando ejemplos del mismo y sus soluciones. 2. Explicar de forma clara, sencilla, estructurada y concisa, las ideas desarrolladas para la resoluci on del problema. Para esto se puede utilizar pseudoc odigo o lenguaje coloquial, o combinar ambas herramientas. Es importante que lo expuesto en este punto sea suciente para el desarrollo de los puntos subsiguientes, pero no excesivo (no es un c odigo). 3. Justicar por qu e el procedimiento desarrollado en el punto anterior resuelve efectivamente el problema. 4. Encontrar una cota de complejidad temporal del algoritmo propuesto, en funci on de los par ametros que se consideren correctos. Utilizar el modelo uniforme salvo que se explicite lo contrario. 5. Justicar por qu e el algoritmo desarrollado para la resoluci on del problema cumple la cota de complejidad dada en el punto anterior. 6. Dar un c odigo fuente claro que implemente la soluci on propuesta. El mismo no s olo debe ser correcto sino que adem as debe estar bien programado. Si bien no se pide que siga ninguna convenci on de codicaci on espec ca, m nimamente el mismo debe tener nombres de variables apropiados y un estilo de indentaci on coherente. 7. Dar un conjunto de casos de test que cubran todos los casos posibles del problema justicando la elecci on de los mismos. No se esperan much simos casos ni tampoco muy grandes, a menos que el tama no sea determinante. 8. Dar un conjunto de casos de test que permitan observar la performance del problema, en t erminos de tiempo. Para esto se deben desarrollar tanto tests patol ogicos de peor caso como tests aleatorios (con cierta distribuci on en funci on del problema). Se debe explicar c omo los tests cubren los casos posibles del problema. No considerar la entrada/salida al medir los tiempos. 9. Presentar en forma gr aca una comparaci on entre el tiempo de corrida seg un la complejidad temporal calculada, tiempo medido de corrida para los tests patol ogicos de peor caso, y tiempo medido de corrida para los tests aleatorios. Respecto de las implementaciones, se acepta cualquier lenguaje que permita el c alculo de complejidades seg un la forma vista en la materia. Adem as, debe correr correctamente en las m aquinas de los laboratorios del Departamento de Computaci on. La c atedra recomienda el uso de C++ o Java, y se sugiere consultar con los docentes la elecci on de otros lenguajes para la implementaci on. La entrada y salida de los programas deber a hacerse por medio la entrada y salida est andar del sistema. Deber a entregarse un informe impreso que desarrolle los puntos anteriores junto con un CD, DVD, pendrive o similar conteniendo los c odigos fuentes desarrollados e instrucciones de compilaci on, de ser necesarias. 1/3
2/3