From: Leandro Lucarella Date: Sat, 30 Aug 2003 23:05:03 +0000 (+0000) Subject: Se agrega la documentación con la consigna del TP. X-Git-Tag: svn_import~30 X-Git-Url: https://git.llucax.com/z.facultad/75.42/calculadora.git/commitdiff_plain/37da2ec9d83893db6b7b05acc7a0ecc361bfa60f Se agrega la documentación con la consigna del TP. --- diff --git a/documentacion.h b/documentacion.h new file mode 100644 index 0000000..353654a --- /dev/null +++ b/documentacion.h @@ -0,0 +1,153 @@ +/* vim: set et sts=4 sw=4 fdm=indent fdl=1 fdn=1 fo+=t tw=80: + * + * Taller de Programación (75.42). + * + * Ejercicio Número 2: + * Programa calculadora. + * + * Copyleft 2003 - Leandro Lucarella + * Puede copiar, modificar y distribuir este programa bajo los términos de + * la licencia GPL (http://www.gnu.org/). + * + * Creado: sáb ago 30 18:56:28 ART 2003 + * + * $Id$ + */ + +/** \mainpage Trabajo Práctico II + +\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 consigna Consigna. + \subsection temas Temas a practicar. + - Estructura de un programa. + - Directivas y Macros. + - Códigos de error. + - Punteros. + - Estructuras de datos (Lista). + - Declaraciones / definiciones. + - Estructuras (struct) y tipos de datos del usuario (typedef). + - Memoria dinámica. + - Archivos. + + \subsection introduccion Introducción. + El trabajo práctico consiste en desarrollar un programa capaz + de evaluar ecuaciones aritméticas, y se compone de dos partes, + un manejador de memoria y un módulo matemático. + + \subsection parte1 Parte 1 - Memlist. + Desarrollar las funciones malloc2() y free2(), y las + correspondientes macros para que al llamar a malloc() y free() + se llamen estas funciones. Las nuevas funciones deben almacenar + información de la memoria alocada. Esta información debe incluir: + Puntero, cantidad de bytes alocados, hora, nombre y linea del + archivo donde se realizó el malloc. + + Desarrollar una función MemList (), que liste los bloques de memoria + alocada. + + Por ejemplo: + \verbatim +Dirección Bytes Archivo Linea Fecha Hora +0x48252342 300 ejemplo.c 200 20/08 10:30:30 +0x48252342 400 ejemplo.c 1110 20/08 10:30:40 + \endverbatim + + \note + -# Los bloques liberados no deben ser listados. + -# Limitar el nombre del archivo a 20 caracteres. + + \subsection parte2 Parte 2 - Calculadora. + + Desarrolle un programa capaz de evaluar ecuaciones + aritméticas. Para ello deberá cargar en memoria dos archivos, + uno de los cuales contiene una lista de variables y otro una + lista de ecuaciones. Los nombres de estos archivos deben tomarse + por linea de comandos. + + Por ejemplo: + \verbatim +matem.exe var.txt eq.txt + \endverbatim + + Las variables deberán cargarse en una lista de estructuras en + memoria, y las ecuaciones en una lista de strings. Una vez hecho + esto, el programa deberá mostrar el siguiente menú: + + \verbatim +1 - Listar variables +2 - Listar ecuaciones +3 - Evaluar ecuaciones +4 - Listar bloques de memoria alocados +5 - Salir + \endverbatim + + - La opcion 1 debe listar las variables definidas e indicar + un alerta si alguna de ellas esta fuera del rango definido + (mínimo y máximo). + - La opcion 2 debe listar las ecuaciones. + - La opcion 3 debe evaluar las ecuaciones definidas y recalcular + los valores de las variables. + - La opcion 4 debe listar los bloques de memoria alocados + llamando a MemList. + - La opcion 5 debe terminar + el programa. + + En caso de producirse un error, se debe mostrar en memoria una + descripción del mismo, pero no debe interrumpirse la ejecución + del programa. + + Por ejemplo: + \verbatim +a = 20 * 10 + (2 / b) * (pi + c) + \endverbatim + + \subsubsection archivo_variables Archivo de variables. + + Archivo en formato texto, donde se almacenan variables, + con el siguiente formato: + \verbatim +[NOMBRE][espacios][VALOR][espacios][MINIMO][espacios][MAXIMO][salto de linea] + \endverbatim + + Donde: + - \b \c NOMBRE: Es un string con el nombre de una variable. + - \b \c VALOR: Es el valor de la variable. + - \b \c MINIMO: Valor mínimo que puede tomar la variable. + - \b \c MAXIMO: Valor máximo que puede tomar la variable. + - \b \c espacios: Caracteres \c ' ' o \c '\\t'. + + Los valores mínimo y máximo son opcionales. Si no están, + la variable es una constante y no puede ser modificada. + + Por ejemplo: + \verbatim +a 20.0 10.0 30.0 +pi 3.14 +b 23.0 123 800 +temperatura 25 -30 70 + \endverbatim + + \subsubsection archivo_ecuaciones Archivo de ecuaciones. + + Es un archivo de texto con el formato variable = + ecuación, donde ecuación es una ecuación con sintaxis C, + que puede contener los operadores: +, -, + *, /, (, ). + + Por ejemplo: + \verbatim +a = 10 * (b + a) * (b + 2*pi) +b = b * 2 + \endverbatim + + Puede suponerse que estas ecuaciones son válidas. + +*/