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

Examen #1 [solución]

      Duración: dos horas. Lea bien el examen antes de hacerlo. El examen es a libro abierto. Cuenta la documentación. Cuenta la redacción y la ortografía. Puede hacer el examen con lápiz. Resuelva tres de las cuatro preguntas. La pregunta 1) es obligatoria. ¡No haga más de lo que se le pide!

1) [25 pts] Especifique e implemente el operador Particion() para la clase List2 de la segunda tarea programada, el que separa una lista en dos listas, de manera que los valores que quedan en la primera lista son mayores que el parámetro "pivote" de Particion(), y los de la segunda son los demás valores almacenados en la lista original. Evite copiar cualquier valor almacenado en la lista.

2) [25 pts] Considere la clase List2 que usted implementó en la segunda tarea programada.

2.a) [20 pts] Especifique, declare e implemente un operador que permita avanzar, hacia adelante o hacia atrás, una cantidad "n" de posiciones.

2.b) [5 pts] Explique por qué es importante usar sobrecarga de operadores para implementar el operador de la parte a) de este pregunta.

3) [25 pts] Explique cuál es la diferencia entre los conceptos de "Abstracción", "Especificación", e "Implementación". Incluya ejemplos detallados de cada uno de estos conceptos.

4) [25 pts] Explique una manera de simular el efecto de usar plantillas con macros. Luego explique qué limitación tiene esa técnica, por lo menos al compararla con el uso de plantillas.

Soluciones

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