--- /dev/null
+/* 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 <llucare@fi.uba.ar>
+ * 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 <a href="../latex/refman.pdf">este documento en formato
+ PDF</a>.
+\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 <em>variable =
+ ecuación</em>, donde ecuación es una ecuación con sintaxis C,
+ que puede contener los operadores: <tt>+</tt>, <tt>-</tt>,
+ <tt>*</tt>, <tt>/</tt>, <tt>(</tt>, <tt>)</tt>.
+
+ Por ejemplo:
+ \verbatim
+a = 10 * (b + a) * (b + 2*pi)
+b = b * 2
+ \endverbatim
+
+ Puede suponerse que estas ecuaciones son válidas.
+
+*/