Universidad de Costa Rica
|
|
TYPE
TPoly = OBJECT
PRIVATE
_grad : WORD; { numerador }
_coef : ARRAY[0..Max_Grado] OF REAL;
PROCEDURE Add (VAR o: TPoly);
PROCEDURE Substract (VAR o: TPoly);
PROCEDURE Multiply (VAR o: TPoly);
PROCEDURE Divide (VAR o: TPoly);
END; { TPoly }
poly.pas
Con alguna frecuencia es necesario hacer aritmética con
polinomios, para lo que conviene contar con una clase polinomio.
En el siguiente artículo, disponible en Internet, se
describe una implementación de la clase
poly
para el lenguaje
Turbo Pascal:
Poly.pas
"; Reporte
técnico
ECCI-94-04; Proyecto
326-89-019; 1994.
http://www.di-mare.com/adolfo/p/poly.htm
http://www.di-mare.com/adolfo/p/src/poly.zip
Como referencia, use la implementación C++ de la clase de
números racionales que se encuentre empacada en este
archivo:
http://www.di-mare.com/adolfo/p/src/rational.zip
Una descripción de la implementación de números racionales en Pascal está en este artículo:
Rational.pas
";
Reporte técnico
ECCI-94-03; Proyecto
326-89-019; 1994.
http://www.di-mare.com/adolfo/p/rational.htm
http://www.di-mare.com/adolfo/p/src/rational.zip
En la Figura 1 aparece el encabezado del objeto TPoly
, que sirve para hacer aritmética con polinomios. Todo el código fuente se encuentra en un archivo empacado
.zip
en este sitio Internet:
http://www.di-mare.com/adolfo/p/src/poly.zip
http://www.di-mare.com/adolfo/p/src/poly.pas
:: PAS-C.bat ==> Convierte código Pascal a C [SUPER-BURDO]
:: USA el programa GSAR.exe para remplazar hileras:
:: ftp://ftp.simtel.net/pub/simtelnet/msdos/txtutl/gsar110.zip
gsar -o "-s{" "-r/*" %1
gsar -o "-s}" "-r*/" %1
gsar -o "-sBEGIN" "-r{" %1
gsar -o "-sEND" "-r}" %1
gsar -o "-s}; "-r}" %1
gsar -o "-sTYPE" "-rclass" %1
gsar -o "-sOBJECT" "-rclass" %1
gsar -o "-sWHILE" "-rwhile (" %1
gsar -o "-sIF " "-rif (" %1
gsar -o "-s THEN" "-r)" %1
gsar -o "-sELSE" "-relse" %1
gsar -o "-sNIL" "-rNULL" %1
gsar -o "-sINTEGER" "-rint" %1
gsar -o "-sWORD" "-runsigned" %1
gsar -o "-sPOINTER" "-rvoid" %1
gsar -o "-s=" "-r==" %1
gsar -o "-s::==" "-r=" %1
gsar -o "-sREPEAT" "-rdo {" %1
gsar -o "-sUNTIL " "-r} while NOT (" %1
gsar -o "-sCASE" "-rswitch (" %1
gsar -o "-s OF" "-r) {" %1
gsar -o "-sFOR" "-rfor (" %1
gsar -o "-s DO" "-r ;.;.)" %1
gsar -o "-s^." "-r->" %1
gsar -o "-s<>" "-r!=" %1
gsar -o "-sEXIT" "-rreturn" %1
gsar -o "-s AND" "-r &&" %1
gsar -o "-s OR" "-r ||" %1
gsar -o "-sAND" "-r&& " %1
gsar -o "-sOR" "-r|| " %1
:: PAS-C.bat ==> Fin de archivo
PAS-C.bat
Si lo desea, puede usar los fuentes Turbo Pascal para obtener su
implementación C++. Una forma de lograrlo
rápidamente es obtener el programa GSAR.exe
de
Internet. Este programa sirve para sustituir una hilera por otra
en archivos. A diferencia de otros programas que realizan esta
misma tarea, GSAR.exe
puede trabajar con archivos que
no contienen exclusivamente texto.
Después de obtener y depurar su clase polinomio, úsela para implementar una burda calculadora de polinomios. Para eso, puede usar una implementación similar a la de la Figura 3.
Luego de imprimir la documentación de su programa, y
entregarla en clase, envíe su trabajo al
asistente del curso por correo electrónico. Para esto,
haga un archivo empacado
.zip
cuyo nombre sea su número de carnet. Incluya en ese archivo
lo siguiente:
Las cuentas de computador en la
ECCI se asignan de acuerdo
al número de carnet. Por ejemplo, si su carnet es el
número 95-28-09, para entregar su tarea usted debe crear el
archivo
952809.zip
para enviarlo por correo electrónico al
asistente del curso.
Luego haga en su cuenta personal un subdirectorio llamado
public_html
, que es bajo el que se instalan todas sus
páginas Internet. Por ejemplo, si su solución
está en el archivo
HTML
llamado
"OLP/t3sol952809.htm
", entonces usted debe instalar esa
página en el archivo
public_html/OLP/t3sol952809.htm
de su cuenta. Luego, para acceder esa página Internet, debe
entrar a este sitio:
http://anubis.ecci.ucr.ac.cr/~e952809/OLP/t3sol952809.htm
Como todas las cuentas de estudiante son la letra "e" seguida del
número de carnet, para el estudiante de carnet "952809" la
cuenta es
"e952809
".
Para indicarle al servidor Internet a cuál cuenta entrar se
usa el caracter "~" (Alt-126), seguido del nombre de
la cuenta:
"~e952809
".
Después de la fecha de entrega del programa, puede usted instalar en su cuenta personal su solución (no instale antes su solución en Internet, pues en ese caso sería usted culpable de facilitar la copia de su trabajo, y en consecuencia se haría acreedor a la sanción respectiva).
|
Adolfo Di Mare <adolfo@di-mare.com>.
|