Exámenes de Prácticas de programación UOC 2023
Los 3 exámenes de Prácticas de programación de la UOC (Grado en Ingeniería Informática) de 2023 (Examen de síntesis. Prácticas de programación (Enero 2023)), con 16 problemas resueltos. Entran temas como Especificación: precondiciones y postcondiciones. Practícalos con corrección al momento, pistas en cada apartado y la solución paso a paso.
Examen de síntesis. Prácticas de programación (Enero 2023) (2023)
Temas del examen: Especificación: precondiciones y postcondiciones · Diseño descendente sobre vectores de registros en lenguaje algorítmico · Comprensión y traza de algoritmos recursivos · Transformación entre versión recursiva e iterativa en C · Análisis de complejidad y eficiencia
- Pregunta 1.a · Especificación: precondiciones y postcondiciones
Pregunta 1.a: Redactar formalmente las precondiciones que debe satisfacer la rutina available_people_city (la plantilla no está vacía y cada miembro tiene al menos un intervalo de disponibilidad… - Pregunta 1.b · Diseño descendente sobre vectores de registros en lenguaje algorítmico
Desarrolla la solución en lenguaje algorítmico empleando diseño modular descendente para la función available_people_city, descomponiendo en subalgoritmos y documentando cada módulo. - Pregunta 2.a-b · Comprensión y traza de algoritmos recursivos
Pregunta 2.a-b: Describir la labor computacional de la función mystery(int x), detallar el árbol/pila de llamadas con diagrama de marcos para mystery(25) y razonar el efecto de sustituir assert(x >=… - Pregunta 2.c · Transformación entre versión recursiva e iterativa en C
Pregunta 2.c: Reescribir el algoritmo recursivo mystery(int x) en C bajo un enfoque no recursivo (iterativo) y aportar una explicación sintética del mecanismo empleado. - Pregunta 2.d · Análisis de complejidad y eficiencia
Pregunta 2.d: Evaluar el coste temporal en el peor caso de mystery justificando con rigor analítico la formulación matemática de la recurrencia y deduciendo el orden asintótico final.
Examen Prueba de síntesis enero 2023 (2023)
Temas del examen: Especificación: precondiciones y postcondiciones · Diseño descendente sobre vectores de registros en lenguaje algorítmico · Comprensión y traza de algoritmos recursivos · Transformación entre versión recursiva e iterativa en C · Análisis de complejidad y eficiencia
- Pregunta 1.a - Especificación: precondiciones y p… · Especificación: precondiciones y postcondiciones
Detallar las precondiciones formales de la función staff_birthdays y su justificación de 1 o 2 líneas, asumiendo que al menos un miembro del equipo cumple años en dicha fecha. - Pregunta 1.b - Diseño descendente en lenguaje alg… · Diseño descendente sobre vectores de registros en lenguaje algorítmico
Desarrollar la solución en lenguaje algorítmico empleando diseño descendente para la función staff_birthdays, escribiendo el Nivel 1 y los subprogramas auxiliares de Nivel 2 con comentarios… - Pregunta 2.a - Comprensión y traza de algoritmos… · Comprensión y traza de algoritmos recursivos
Indicar el propósito del método recursivo mystery y detallar la traza secuencial de llamadas y retornos con diagrama de cajas para v = {23, 4, 7, 13} y x = 3. - Pregunta 2.b - Punteros y gestión de memoria diná… · Comprensión y traza de algoritmos recursivos
Determinar el problema que ocurriría si se sustituyera en la aserción x < MAX por x <= MAX en el algoritmo mystery. - Pregunta 2.c - Transformación entre versión recur… · Transformación entre versión recursiva e iterativa en C
Reescribir el algoritmo recursivo mystery en forma iterativa en lenguaje C y añadir una explicación breve del enfoque adoptado. - Pregunta 2.d - Análisis de complejidad y eficienc… · Análisis de complejidad y eficiencia
Obtener la complejidad computacional en notación asintótica de la versión recursiva de mystery en el peor de los casos resolviendo la relación de recurrencia paso a paso.
Prueba de síntesis de Prácticas de programación (Enero de 2023) (2023)
Temas del examen: Especificación: precondiciones y postcondiciones · Diseño descendente sobre vectores de registros en lenguaje algorítmico · Comprensión y traza de algoritmos recursivos · Transformación entre versión recursiva e iterativa en C · Análisis de complejidad y eficiencia
- Pregunta 1.a · Especificación: precondiciones y postcondiciones
Pregunta 1.a: Formular en lógica de predicados la precondición de la acción delete_person_project asumiendo al menos una campaña registrada y sin duplicidades de personas en la misma campaña,… - Pregunta 1.b · Diseño descendente sobre vectores de registros en lenguaje algorítmico
Pregunta 1.b: Diseño e implementación en lenguaje algorítmico aplicando diseño descendente por niveles para dar de baja a una persona de las campañas de un proyecto y compactar el vector de personal,… - Pregunta 2 - Apartados a y b · Comprensión y traza de algoritmos recursivos
Pregunta 2 - Apartados a y b: Determinar la operación matemática que realiza la función recursiva mystery(x, y), desarrollar la traza de ejecución de mystery(5, 4) con su valor devuelto y razonar el… - Pregunta 2.c · Transformación entre versión recursiva e iterativa en C
Pregunta 2.c: Escribir una implementación iterativa equivalente de mystery en lenguaje C y explicar brevemente su diseño y funcionamiento. - Pregunta 2.d · Análisis de complejidad y eficiencia
Pregunta 2.d: Formular la ecuación de recurrencia del coste temporal de la versión recursiva de mystery y resolverla mediante sustitución iterativa para deducir su complejidad asintótica.
También puedes estudiar por temas
Practica un tema con ejercicios de los exámenes de todos los años, mezclados.
- Comprensión y traza de algoritmos recursivos · 9 problemas · 95 % de que salga
- Especificación: precondiciones y postcondiciones · 8 problemas · 95 % de que salga
- Diseño descendente sobre vectores de registros en lenguaje algorítmico · 8 problemas · 95 % de que salga
- Transformación entre versión recursiva e iterativa en C · 8 problemas · 95 % de que salga
- Análisis de complejidad y eficiencia · 8 problemas · 95 % de que salga