Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
Profesor Adolfo Di Mare
CI-1201
I Semestre 1999
[<=] [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. ¡No haga más de lo que se le pide! ¡Conteste todas las preguntas!

1) [25 pts] Escriba un programa que utilice dos archivos de implementación [uno.cpp y dos.cpp] y un archivo de encabezados [uno.h] que tenga un error pueda sólo ser detectado por el editor de eslabonamiento ("linker").

1.a) [10 pts] Escriba el código de los tres archivos.

1.b) [15 pts] Explique cómo funciona el sistema de compilación separada de C++. Incluya diagramas explicativos y un ejemplo explicativo usando los módulos que ha programado en la quinta tarea. No se olvide de usar diagramas explicativos en su respuesta.

2) [25 pts] El lenguaje C++ tiene muchas construcciones sintácticas que lo diferencias de los lenguajes C y Pascal.

2.a) [10 pts] Explique la diferencia entre un puntero y una referencia C++. Incluya el código que sustente su respueta.

2.b) [10 pts] Diga en qué condiciones es más cómodo para el programador usar referencias en lugar de punteros. Incluya el código que sustente su respueta.

2.c) [5 pts] Explique porqué no hace falta en C pasar parámetros por referencia (aunque es más cómodo usarlas, como habrá usted mostrado en la sección b) de esta misma pregunta).

3) [25 pts] Considere la operación para racionales Exp(x,y), que calcula el valor de "x" elevado a la pontencia "y", en donde "y" es un número entero.

3.a) [5 pts] Declare la operación Exp(x,y).

3.b) [12 pts] Implemente Exp(x,y).

3.c) [3 pts] ¿Porqué debe o no invocar a rational::simplify() en la implementación de Exp(x,y)?

3.d) [5 pts] ¿Qué desventajas tiene que la función Exp() sea un miembro de la clase rational?

4) [25 pts] Haga un programa C++ que lea un archivo y cuenta la cantidad de letras mayúsculas, minúsculas y de otros tipo, e imprima los totales. Recuerde que en Costa Rica, la pareja "CH" es una letra, y que también el alfabeto incluye a la letra "Ñ".

Soluciones

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