• Objetivo del Segundo Parcial

    Evaluar la capacidad del estudiante para formular y aplicar contratos, precondiciones, postcondiciones, aserciones e invariantes, y utilizar técnicas de verificación para analizar la correctitud y terminación de programas secuenciales, condicionales, ciclos, funciones, algoritmos y componentes desarrollados bajo el paradigma orientado a objetos.

    • Orientación para el Primer Parcial

      Fecha: 5 de noviembre de 2026
      Modalidad: Evaluación individual en Moodle
      Tiempo: 1 hora

      🎯 ¿Qué debo estudiar?

      El examen evaluará los temas desarrollados en clase correspondientes a:

      1. Contrato: precondiciones y postcondiciones
      • Concepto y propósito de los contratos. 
      • Identificación y formulación de precondiciones y postcondiciones.
      • Relación entre las condiciones de entrada, la ejecución y el resultado esperado. 
      2. Aserciones e Invariantes
      • Concepto y uso de aserciones.
      • Identificación de invariantes y condiciones que deben mantenerse.
      • Relación de las aserciones e invariantes con la correctitud del programa. 
      3. Verificación de estructuras de programas
      • Verificación de programas secuenciales y condicionales.
      • Análisis de las condiciones y de las diferentes ramas de ejecución.
      • Verificación de ciclos mediante invariantes.
      4. Correctitud parcial, total y terminación
      • Diferencia entre correctitud parcial y correctitud total.
      • Uso de invariantes para razonar sobre ciclos.
      • Identificación de condiciones o medidas que permiten justificar la terminación.
      5. Verificación de funciones, métodos y algoritmos
      • Contratos aplicados a funciones y métodos.
      • Introducción y aplicación de la lógica de Hoare: {P} C {Q}.
      • Verificación de funciones y algoritmos.
      6. Recursividad y programación orientada a objetos
      • Verificación de algoritmos recursivos: caso base y reducción del problema.
      • Modularidad y contratos en métodos. 
      • Invariantes de clases y verificación del estado de los objetos.
    • 📝 ¿Cómo será el examen?

      El examen estará compuesto por diferentes tipos de preguntas:

      • Selección múltiple con única respuesta.
      • Verdadero o falso.
      • Emparejamiento de conceptos
      • Ejercicios de aplicación y análisis.
      • Ejercicios para formular precondiciones, postcondiciones e invariantes.
      • Análisis de fragmentos de algoritmos, ciclos, funciones o métodos.
      ⚠️ Importante

      El examen no estará orientado únicamente a memorizar definiciones. Se presentarán situaciones y fragmentos de programas en los que deberán identificar qué concepto aplicar, formular condiciones y justificar si el comportamiento del algoritmo corresponde con lo esperado.

      Se recomienda practicar los ejercicios desarrollados en clase y comprender el procedimiento para resolverlos. Las preguntas pueden presentar situaciones diferentes a los ejemplos vistos, pero evaluarán los mismos conceptos y procedimientos.

      📌 Material de estudio

      Para prepararse, revisen:

      • Presentaciones de las clases.
      • Exposiciones de los compañeros.
      • Apuntes realizados durante las clases.
      • Actividades desarrolladas.
      • Ejemplos y ejercicios trabajados.
      • Conceptos y ejercicios relacionados con sus proyectos.

      Recomendación: no memoricen únicamente las definiciones. Practiquen cómo identificar el concepto o técnica que deben aplicar ante una situación nueva y cómo justificar su respuesta.

      .