Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
Profesor Adolfo Di Mare
CI-1402
II Semestre 1998
[<=] [home] [<>] [\/] [=>]
CI-1402 Organización de Lenguajes de Programación

Tarea #3 [solución]

Excepciones

      Como muchos fayaron al contestar la pregunta #2 del primer exámen, deben contestarla correctamente escribiendo los programas en dos lenguajes: C++ y Pascal. No es tan fácil como parece... En particular, eviten invocar recursivamente al constructor: sus programas no deben enciclarse. Recuerde: sus programas deben estar correctos.

      Escriban su respuesta en HTML, y se la envían por correo a la asistente del curso Mónica Gómez:

[mailto:]Mónica Gómez <e941497@anubis.ecci.ucr.ac.cr>.

2) [25 pts] Excepciones

    +---+-------+
 +->| n |  sp   |--+ 
 |  +---+-------+  |
 |                 |
 |                 |
 |    +-------+    |
 +----|  @sp  |<---+
      +-------+
 TYPE
   TSelfPoint = OBJECT
      n      :   INTEGER;      { Rep }
      pBlock : ^^TSelfPoint;   { Rep }
       ...
      CONSTRUCTOR Init;
      DESTRUCTOR  Done;
       ...
   END; { TSelfPoint }

 PROCEDURE Recursivo( n: INTEGER );

2.a) [0 pts] Defina el tipo TSelfPoint, que tiene la particularidad de que cada instancia incluye en su Rep un puntero (pBlock) a un bloque de memoria en el que está almacenado un puntero que apunta de vuelta a la instancia, como se muestra en el diagrama. Use su lenguaje predilecto.

2.b) [10 pts] Implemente el procedimiento Recursivo(n). Inclúyale un manejador de excepciones. Puede usar la biblioteca de exepciones descrita en [DiM­94].

[All­97a] Allison, Chuck: Error Handling with C++ Exceptions, Part 1, C/C++ User's Journal, Vol.15, No.11, pp [73­80], Noviembre 1997.
[All­97b] Allison, Chuck: Error Handling with C++ Exceptions Part 2, C/C++ User's Journal, Vol.15, No.12, pp [57­61, 63, 65­67], Diciembre 1997.
[DiM­94] Di Mare, Adolfo: Manejo de excepciones en Turbo Pascal, Reporte Técnico ECCI­94­10 (Revisión 4), Proyecto 326­89­019,, Escuela de Ciencias de la Computación e Informática (ECCI), Universidad de Costa Rica (UCR), 1994.
      http://www.di-mare.com/adolfo/adt/except.htm
[Str­98] Stroustrup, Bjarne: The C++ Programming Language, 3rd edition, ISBN 0­201­88954­4; Addison-Wesley, 1998.
      http://www.research.att.com/~bs/papers.html
[Swa­98] Swaine, Michael: A Chat with Bob Bemer, Dr. Dobb's Journal, No.285, pp [115­117], Mayo 1998.


Soluciones

[952809] Braulio José Solano Rojas
[922840] Edgardo Pérez Pérez
[952508] Arnulfo Rodríguez Zamora
[940795] Cristian Carvajal U.
[952234] Hilda Pineda Rodríguez

Tiempo de entrega: 2 Días
Modalidad: Individual

[mailto:] Adolfo Di Mare <adolfo@di-mare.com>.
Copyright © 1998
Derechos de autor reservados © 1998
[home] <> [/\]