Pregunta 2 - Apartados a y b · Prácticas de programación UOC 2023
Tema: Comprensión y traza de algoritmos recursivos · Del examen Prueba de síntesis de Prácticas de programación (Enero de 2023) (2023)
Enunciado
Pregunta 2 (50% de la nota). Análisis y desarrollo recursivo e iterativo de la función mystery
Considera el siguiente código implementado en C correspondiente a la función mystery:
int mystery(int x, int y) {
int res;
assert(x >= 0 && y >= 0);
if (y != 0) // (1)
res = x + mystery(x, y - 1); // (2)
else // (3)
res = 0; // (4)
return res; // (5)
}
a)
[10%] Detalla qué operación matemática lleva a cabo la función y describe el significado global de su cómputo. Desarrolla la traza paso a paso (con un esquema o diagrama de cajas donde se muestren las llamadas sucesivas, parámetros y retornos) para la invocación: mystery(5, 4);
Valor final retornado:
b)
[5%] Razona qué efecto tendría sustituir la instrucción de la línea 4 por la asignación: res = x;

Solución
Según los criterios oficiales de corrección
a) Detalla qué operación matemática lleva a cabo la función y describe el significado global de su cómputo.
Solución: Producto aritmético / Multiplicación de x e y ()
a) Desarrolla la traza paso a paso para la invocación: mystery(5, 4);
Solución: 20
b) Razona qué efecto tendría sustituir la instrucción de la línea 4 por la asignación: res = x;
Solución: /
Razonamiento del efecto y nueva operación calculada:
Solución: x*(y+1) / x*y + x
La explicación paso a paso, hecha con IA, es Premium. Premium
Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.
‹ Pregunta 2.b - Punteros y gestión de memoria diná… · 2023 · Pregunta 2.a y 2.b · 2021 ›