]> git.llucax.com Git - z.facultad/75.40/2do-cuat/polinomios.git/blob - HISTORIAL.TXT
Se expanden keywords del svn.
[z.facultad/75.40/2do-cuat/polinomios.git] / HISTORIAL.TXT
1 POLI_2 (0.6.0a):\r
2         Funcionamiento basico de lectura de los polinomios desde el archivo de texto.\r
3 \r
4 POLI_3 (0.7.0a):\r
5         Se le agragan los procedimientos pensados en la clase para operar entre polinomios\r
6         ("suma", "resta", "producto" y "division").\r
7         Se le agrega un procedimiento para inicializar los vectores.\r
8         Se unifica el tipo de vectores, desapareciendo "VectorResultado" y pasando el tipo\r
9         "Vector" a tener el tamaño maximo (TAM_MAX).\r
10         Se borran las lineas para DEBUG (refinar) y el tipo de dato "Termino".\r
11         Por ahora no compila ...\r
12 \r
13 POLI_4 (0.8.0a):\r
14         Compila pero no fueron probadas las operaciones (solo se arreglo el codigo erroneo\r
15         que no permitia compilar).\r
16 \r
17 POLI_5 (0.8.2a):\r
18         Se testeo la suma y funciona correctamente. Tambien se agrega un procedimiento para mostrar\r
19         los polinomios por pantalla ("muestraVector").\r
20 \r
21 POLI_6 (0.8.4a):\r
22         Se mejora notablemente el procedimiento , agregandole una funcion "exponente"\r
23         para mejorar la presentacion de los polinomios por pantalla. Ahora la salida es mas limpia\r
24         y legible.\r
25 \r
26 POLI_7 (0.8.5a):\r
27         Se testea la resta y se arregla la dicho procedimiento porque tenia un operador mal, lo que hacia\r
28         que se sume en vez de que se reste.\r
29         Se cambia:\r
30                 vr[i] := v1[i] + v2[i];  { resta los coeficientes de los terminos con igual exponente }\r
31                                           ===\r
32         por:\r
33                 vr[i] := v1[i] - v2[i];  { resta los coeficientes de los terminos con igual exponente }\r
34                                           ===\r
35 \r
36 POLI_8 (0.9.0b):\r
37         Se testea el producto y se arregla la dicho procedimiento porque tenia una nombre de variable mal,\r
38         lo que hacia que la variable j no se incremente y que i pierda su valor, dando un resultado erroneo.\r
39         Se cambia:\r
40                 for i := 0 to TAM - 1 do { recorre el 2do vector (de tamaño maximo TAM) }\r
41                    ===\r
42         por:\r
43                 for j := 0 to TAM - 1 do { recorre el 2do vector (de tamaño maximo TAM) }\r
44                    ===\r
45 \r
46 POLI_9 (0.9.8b):\r
47         Se corrije nuevamente el procedimiento "muestraVector" para que si el polinomio es nulo,\r
48         se presente en pantalla un cero en vez de no presentar nada como se hacia antes.\r
49         Se testea la division y se encuentra que si el segundo polinomio es nulo, da un error de\r
50         ejecucion (runtime error). Para evitarlo, se transforma el procedimiento en funcion, haciendo\r
51         que devuelva true si se efectuo con exito (el segundo polinomio no es nulo) o false si no\r
52         se pudo efectuar (el segundo polinomio es nulo). De esta manera el bloque que llame a esta\r
53         funcion puede decidir que hacer en caso de que el segundo polinomio sea nulo.\r
54         Tambien se agregan los comentarios a esta funcion.\r
55 \r
56 POLI_10 (1.0.1r):\r
57         Se agrega una descripcion del programa indicando el formato que debe tener el archivo con los datos.\r
58         Tambien se agrega a esta y todas las versiones anteriores una constante llamada VERSION, que\r
59         almacena un String con la version del programa para ser mostrada cuando se mejore la salida.\r
60         Tambien se modifica el nombre del programa como PolinomiosEnVector para diferenciarlo de la nueva\r
61         implementacion con un record (TERM o PolinomiosEnTermino).\r
62 \r
63 POLI_11 (1.0.5r):\r
64         Se corrije el case en la seccion FIN de la funcion cargarVectores:\r
65         Se reescribe por casi completo porque tenía varias lineas que no aportaban nada y un par\r
66         de errores por los cuales la funcion devolvia verdadero sin que se hayan leido ambos polinomios.\r
67         Ahora es mas concisa, legible y eficiente.\r
68 \r
69 POLI_12 (1.1.3b):\r
70         Se mejora la interfaz para el usuario. Ahora se basa en menues a color con diferentes opciones.\r
71         Tambien se agrega un procedimiento para presentar un mensaje en la salida pero aún no está \r
72         implementado.\r
73 \r
74 POLI_13 (1.2.3r):\r
75         Se implementa el mensaje de salida y se corrigen algunas pequeñas lineas del bloque principal del\r
76         programa. Tambien se corrijen algunos mensajes para que la salida sea mas prolija. Entre las\r
77         correcciones se encuentra la funcion obtenerNombreArchivo que en ciertas circunstancias se\r
78         superponian los mensajes.\r
79 \r
80 POLI_14 (1.2.5r):\r
81         Se corrijen algunos otros mensajes de pantalla y se cambia el titulo del programa por el nombre\r
82         del mismo.\r
83 \r
84 ==========================================================================================================\r
85 ==========================================================================================================\r
86 \r
87 TERM_0 (0.0.1a):\r
88         Se empiezan a hacer los cambios para transformar el programa POLI en TERM, programa similar pero\r
89         que guarda los datos en un record llamado Termino:\r
90         type\r
91                 Termino = record\r
92                                                 coef: real;\r
93                                                 exp: integer;\r
94                                   end;\r
95         El nombre del programa es: PolinomiosEnTermino.\r
96         Hasta ahora se modifico hasta la linea 330 aproximadamente y dudo que compile (de hacerlo seria una\r
97         coincidencia).\r
98 \r
99 TERM_1 (0.1.0a):\r
100         Se agregan 2 variables en la funcion cargarVectores:\r
101                 n: integer -> indica el termino actual del polinomio para hacer las asignaciones.\r
102                 asignado: boolean -> indica si ya se hizo la asignacion.\r
103         Se agrega una condicion mas para el formato del archivo con los datos (el orden de los terminos\r
104         segun el exponente).\r
105         Se hace una cantidad de cambios considerables al case en sus secciones:\r
106                 COEF_FIN: se inicializan las nuevas variables.\r
107                 EXP_FIN: se corrije el metodo de asignacion para funcionar con la nueva estructura Termino.\r
108                 POLI_FIN: se cambian y agregan algunas asignaciones para funcionar con la nueva implementacion.\r
109                 FIN: se efectuan cambios considerables para adaptarlo al nuevo sistema.\r
110         Finalmente se sacan las antiguas funciones suma, resta, producto y division. Tambien se pone en\r
111         comentarios sus llamadas desde el bloque principal para lograr que el codigo compile.\r
112         El programa compila y supuestamente deberia funcionar la lectura de datos. No se hizo ninguna\r
113         prueba de ejecucion del programa a esta altura...\r
114 \r
115 TERM_2 (0.2.0a):\r
116         Se agregan un par de lineas de DEBUG y con esto se ve que la funcion muestraVector funciona\r
117         correctamente. Se arreglan un par de lineas en el case de cargarVectores, en la seccion EXP_FIN:\r
118         En las lineas 346/7 decia:\r
119                         v1[n].coef := rCoef;\r
120                         v1[n].exp := iExp; \r
121         y fue reemplazado por\r
122                         v2[n].coef := rCoef;\r
123                         v2[n].exp := iExp;\r
124         Gracias a esto antes se reemplazaba los valores de v1 y nunca se le asignaba nada a v2 (con una\r
125         excepcion).\r
126         Aparentemente, con estas correcciones ya funciona la parte de lectura.\r
127 \r
128 TERM_3 (0.9.0b):\r
129         Se cambia toda la forma de encarar el problema. Practicamente se anulan todas las modificaciones\r
130         hechas en las versiones TERM_1 y TERM_2. Ahora la implementacion de este programa es mucho mas\r
131         similar a la de POLI, ya que se estaba haciendo cada vez mas compleja sin necesidad y sin proporcionar\r
132         beneficios (ni de espacio, ni de velocidad, ni de memoria).\r
133         Los cambios con respecto a POLI son minimos, solo se modifican las funciones mostrarVector (sigue\r
134         igual que en TERM_0), la funcion cargarVectores (en las secciones EXP_FIN y FIN, de manera\r
135         practicamente identica), en la funcion inicializaVector y en las funciones de operaciones (suma,\r
136         resta, producto y division).\r
137         Los cambios se centran en su mayoria (casi en su totalidad) en el reemplazo de instrucciones como\r
138         esta:\r
139                         vr[i-j] := v1[i] / v2[j];\r
140 \r
141         por instrucciones de este estilo:\r
142 \r
143                         vr[i-j].coef := v1[i].coef / v2[j].coef;\r
144                         vr[i-j].exp := v1[i].exp - v2[j].exp;\r
145 \r
146         Todavia no se probó el funcionamiento del programa pero se espera que no haya grandes problemas.\r
147 \r
148 TERM_4 (1.2.0r):\r
149         Se implementa la misma interfaz grafica que se utilizo en POLI. Ademas se prueba la funcionalidad\r
150         del programa.\r
151 \r
152 TERM_5 (1.2.2r):\r
153         Se corrijen algunos otros mensajes de pantalla y se cambia el titulo del programa por el nombre\r
154         del mismo.\r