X-Git-Url: https://git.llucax.com/z.facultad/75.42/euler.git/blobdiff_plain/977e05b75c7af07b8b733b0ce17c0f9e5cefa13b..7233d9e5d478de8db21bb41c35bf1cfc95438939:/documentacion.h diff --git a/documentacion.h b/documentacion.h index a5c1b2b..d5d4e7f 100644 --- a/documentacion.h +++ b/documentacion.h @@ -1,4 +1,4 @@ -/* vim: set et ts=4 sw=4 fdm=indent fdl=1 fdn=1 fo+=t: +/* vim: set et ts=4 sw=4 fdm=indent tw=80 fdl=1 fdn=1 fo+=t: * * Taller de Programación (75.42). * @@ -17,6 +17,15 @@ /** \mainpage Taller de Programación I (75.42) +\htmlonly +También puede ver este documento en formato +PDF. +\endhtmlonly + +\latexonly +También puede ver este documento en formato HTML en html/index.html. +\endlatexonly + \section objetivo Objetivo. Desarrollar un \ref main "programa" que resuelva, utilizando un \ref metodo "método iterativo", una \ref funcion "función diferencial" @@ -37,7 +46,7 @@ \f] \subsubsection variables Variables. - - \f$t_i\f$: \ref T0 "Tiempo inicial de la iteración" = 0. + - \f$t_i\f$: Tiempo inicial de la iteración = 0. Solicitar al usuario el ingreso de las restantes variables por línea de comandos: @@ -69,14 +78,15 @@ \endverbatim \section resolucion Resolución. - El \ref main "programa principal" se divide en FIXME N tareas principales, + El \ref main "programa principal" se divide en 3 tareas principales, cada una realizada por una función particular. \subsection obtencion Obtención y validación de parámetros del usuario. Antes de comenzar a hacer cálculos es necesario obtener los valores de las \ref variables "variables" de la entrada del usuario (en este caso - a través de parámetros de línea de comandos). Esto es realizado - por la función cargar_datos(). + a través de parámetros de línea de comandos). Esta tarea es realizada + por la función cargar_datos(). En el archivo carga.c y carga.h puede + encontrarse esta función y otras funciones relacionadas a esta tarea. \subsection integracion Integración de la ecuación diferencial. Reemplazando la \ref funcion "ecuación diferencial" \f$ df_{(t)} \f$ @@ -95,7 +105,45 @@ Todo lo que resta es iterar, paso a paso, calculando los valores de la función y almacenándolos en el \ref Resultados "vector de resultados", - tarea realizada por la función calcular(). + tarea realizada por la función resultados_calcular(). En el archivo + calculo.c y calculo.h puede encontrarse esta función y otras funciones + relacionadas a esta tarea. + + \subsection impresion Impresión del gráfico por pantalla. + Finalmente todo lo que queda es graficar por pantalla el resultado de la + función. Para esto se va imprimiendo línea por línea, chequeando qué + punto de la función cae en cada rango de valores representados por una + línea. Esta tarea es realizada por la función resultados_graficar(). + En el archivo grafico.c y grafico.h puede encontrarse esta función y + otras funciones relacionadas a esta tarea. + + \subsection plataforma Plataforma y compilador. + Este trabajo práctico fue realizado y probado bajo la plataforma Debian + GNU/Linux sid. El compilador utilizado fue GNU GCC versión 3.3.1. + + De todas formas, al estar programado sólo utilizando funciones ANSI C, + debería poder compilarse bajo cualquier plataforma y compilador que + soporte este estándar. + +\section conclusiones Conclusiones. + Realmente no se me presentaron muchos problemas para resolver el TP. El + único problema que tuve fue realizando el \ref impresion "gráfico", en + ciertas circunstancias (por problemas de redondeo) el valor máximo de la + función no era graficado. Esto se solucionó incluyendo una línea más al + gráfico, con el rango que va desde el máximo de la función (en realidad + desde el mínimo más 20 pasos verticales) hasta el máximo más un paso + vertical. Es por esto que en realidad se grafican 21 pasos. Podría haber + graficado 20 pasos pero el código quedaría menos claro (o tendría que + poner la constante \ref ALTO en 19 en vez de 20). + + El programa también fue pensado para aceptar como parámetros el caracter + utilizado para dibujar un \ref DEFAULT_PUNTO "punto" de la función y un + espacio en \ref DEFAULT_BLANCO "blanco", así como el + \ref DEFAULT_T0 "tiempo inicial". Por problemas de tiempo, no pude + terminar de implementar estas características extra. + + Otro detalle que cabe ser mencionado es que para valores altos del + \ref variables "step" (mayores a 30), la solución se vuelve inestable. */