option
Cuestiones
ayuda
daypo
buscar.php

POO PARCIAL 1

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
POO PARCIAL 1

Descripción:
Intento desesperado de aprobar el primer parcial de POO, UCA Puerto Real

Fecha de Creación: 2026/03/10

Categoría: Otros

Número Preguntas: 18

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

¿Cuál es la diferencia entre clase y objeto?. Las clases se pueden agrupar para formar otras clases más complejas que permiten organizar jerárquicamente el código y reutilizar funcionalidades entre distintos módulos de un programa. Las clases poseen métodos y atributos, a diferencia de los objetos. Una clase agrupa un conjunto de objetos, por lo que un objeto es una instancia (o ejemplar) de una clase. Las clases poseen operaciones y datos, a diferencia de los objetos.

La principal ventaja que proporciona la herencia a las tareas de programación es…. Potenciar la reutilización de componentes mediante especialización. Favorecer la abstracción para disminuir el código redundante. Permitir la generalización de las clases para reducir el acoplamiento. Permitir la generalización mediante plantillas.

El encapsulamiento y ocultación de información…. Se definen al nivel de un objeto aislado dentro del sistema o programa. No poseen relación alguna. Son principios de la POO, pero se trata de principios ortogonales. Se definen al nivel de una clase.

¿Limita el principio de ocultación de la información la comunicación entre objetos?. No supone limitación, en tanto en cuanto se comunican a través de su interfaz pública. Sí, para objetos de una misma clase. Sí, para objetos de clases distintas. No supone limitación alguna, siempre es posible acceder directamente a los datos internos.

Factores de calidad que contribuyen a la fiabilidad de los programas. La facilidad de manejo mediante una interfaz bien diseñada. La extensibilidad y la protección de integridad. Únicamente la corrección en el funcionamiento del programa desarrollado. La fiabilidad se caracteriza por corrección y robustez.

Diferencia fundamental entre POO y programación estructurada. La POO prescinde del concepto de módulo dentro de la estructura del programa. La POO prescinde de construcciones estructuradas. La POO une encapsulamiento y ocultación de información en un módulo. La POO posee excepciones.

Diferencia entre compatibilidad y portabilidad. Compatibilidad implica tanto el código como los datos; mientras que la portabilidad se limita únicamente al código. Compatibilidad solo código; portabilidad código y datos. Compatibilidad = combinar componentes; portabilidad = ejecutar en distintos entornos. La portabilidad está garantizada si las interfaces son compatibles.

¿En qué medida afecta la eficiencia a la corrección?. Más eficiente = más correcto. La eficiencia es primordial para la corrección. Un programa ineficiente no puede ser correcto. La corrección no depende de la eficiencia.

Elemento central en el desarrollo orientado a objetos. Los asertos. La herencia y el polimorfismo. Las clases y sus relaciones. Los objetos individuales.

El uso de excepciones es adecuado para…. Errores lógicos y sintácticos. Errores de ejecución. Errores lógicos. Errores de compilación y ejecución.

Orden correcto de manejadores en un try-catch. De más específicos a más genéricos. El orden no importa. De más genéricos a más específicos. No se pueden añadir más de uno.

Una excepción generada dentro de un try…. Todas las respuestas son correctas. Puede ser capturada por catch(...). Si no se captura, se propaga al nivel superior. Puede ser capturada por un manejador adecuado.

try{ if(/*error de rango*/) throw out_of_range("Error de rango"); if(/*desbordamiento*/) throw overflow_error("Desbordamiento"); } catch (runtime_error& e) { //... } catch (exception& e) { //... } catch (...) { //... }. Las excepciones de ambos tipos son capturadas por exception. La excepción out_of_range es capturada por exception. La excepción overflow_error es capturada por el último manejador. La excepción out_of_range es capturada por el último manejador.

struct test{ test() noexcept{} ~test() noexcept(false) {throw 1;} }; int main(){ try{ test t; } catch (...) { std::cerr << "Excepción capturada"; } std::cout << "Fin del programa"; }. Solo muestra "Fin del programa". Llama a terminate porque un destructor no puede lanzar. Llama a terminate porque la excepción no se captura. Muestra "Excepción capturada" y "Fin del programa".

void func() { int i=20; throw &i; } catch(const int& ex). Solo muestra "Fin del programa". Muestra "Excepción capturada" y "Fin del programa". Llama a terminate porque la excepción no se captura. Llama a terminate porque func() no es noexcept(false).

class test{ public: class Fallo{}; test(bool b) noexcept: b_(b){} ~test() noexcept(false) { if(!b_) throw Fallo(); } void func() { if(!b_) throw Fallo(); } private: bool b_; };. Muestra "Fallo detectado". Muestra "Fin del programa". Llama a terminate por excepción no capturada. Llama a terminate tras dos excepciones.

void func() noexcept{ if(!b_) throw "Error en test::func"; }. Muestra "Error en test::func". Llama a terminate. Muestra "Fin del programa". Error de compilación.

class Fallo{}; throw f;. Muestra "Fallo en test::func". Error de compilación. Solo muestra "Fin del programa". Llama a terminate.

Denunciar Test