Está en la página 1de 2

Universidad Católica del Norte

Facultad de Ingeniería y Ciencias Geológicas


Departamento de Ingeniería de Sistemas y Computación

ESTRUCTURA DE DATOS – CONTROL 2 (I-2017)


-Total: 40 puntos (escala 60%)-

Nombre - RUT:
Fecha: 29 de marzo del 2017.

Competencias a evaluar: Abstracción de datos (POO, programación genérica, contenedores), programación


a gran escala, y librería estándar de C++.

De acuerdo al artículo «An Overview of the C++ Programming Language» de Bjarne Stroustrup:

1. Defina los siguientes conceptos: (10 pts)


 Programación Orientada a Objetos: es un conjunto de técnicas basadas en la herencia de clases
para dar extensibilidad y flexibilidad. (2 pts)

 Herencia múltiple: característica de la herencia en C++ que permite que una clase tenga más de una
clase base directa. (2 pts)

 Contenedor: clase que contiene una colección de elementos de algún tipo. (2 pts)

 RTTI: Run-Time Type Identification. Mecanismo de C++ que permite determinar en tiempo de
ejecución el tipo de un objeto, incluso cuando éste sólo es accesible mediante un puntero o
referencia. (4 pts)

2. Indique si las siguientes afirmaciones son verdaderas (V) o falsas (F). Justifique las falsas. (10 pts)
 __V__ Con la herencia de clases es posible definir tratos comunes a un conjunto de clases
derivadas. (2 pts)

 __F__ Crosscast hace referencia a la conversión de una clase derivada a la clase base de su
hermana. (1 pt)
Es la conversión de una clase base a una clase hermana. (1 pt)

 __V__ Las excepciones son un mecanismo que sólo debiese ser usado por errores que no
se pueden manejar localmente. (2 pts)

 __F__ C++ entrega librerías para utilizar excepciones y manejo de errores, y espacios de
nombre. (1 pt)
No son librerías, son características de C++ para facilitar la programación a gran escala. (1 pt)

 __V__ Las excepciones que se lanzan dentro de un bloque try, se capturan en la cláusula catch de
su tipo. (2 pts)
3. Encierre en un círculo la letra de la alternativa correcta: (6 pts)
 Cambiar el tipo de un objeto desde una clase base a una derivada se denomina: (2 pts)
a) Downcast.
b) Postcast.
c) Upcast.
d) Crosscast.
e) Undercast.

 ¿Cuál de los siguientes elementos puede implementarse con el uso de templates? (2 pts)
a) Números complejos.
b) Map.
c) Ival_box.
d) Todas las anteriores.
e) Ninguna de las anteriores.

 ¿Qué facilidad básica de C++ se utiliza en la POO? (2 pts)


a) Tipos de datos definidos por el usuario.
b) Habilidad de derivar una clase de otra.
c) Funciones virtuales.
d) Todas las anteriores.
e) Ninguna de las anteriores.

4. Responda brevemente las siguientes preguntas: (14 pts)


 ¿Qué hace el operador dynamic_cast? (2 pt)
R: Convierte el tipo de un objeto y retorna un puntero válido si el objeto es del tipo operador y null
si no lo es.

 ¿Para qué se utilizan las excepciones? (3 pts)


R: Para transferir el control desde donde se detecta un error a un llamado que tenga interés en
manejar ese tipo de errores.

 ¿Para qué se utilizan los namespace? (3 pts)


R: Para agrupar declaraciones relacionadas y para mantener separados los ítems que deben estarlo.

 ¿Qué provee la librearía estándar de C++? (6 pts)


R: Soporte básico del lenguaje en tiempo de ejecución. (1 pt)
La librearía estándar de C. (1 pt)
Strings y flujos I/O. (1 pt)
Un framework de contenedores y algoritmos que los usan. (2 pts: 1 contenedores, 1 algoritmos)
Soporte para la computación numérica. (1 pt)

También podría gustarte