Pregunta 2.c · Prácticas de programación UOC 2023

Tema: Transformación entre versión recursiva e iterativa en C · Del examen Prueba de síntesis de Prácticas de programación (Enero de 2023) (2023)

Enunciado

Pregunta 2. Análisis y desarrollo recursivo e iterativo de la función mystery

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)

}

c)

[20%] Escribe una implementación iterativa equivalente en lenguaje C, explicando brevemente el diseño y funcionamiento de tu propuesta.

Enunciado: Pregunta 2.c · Prácticas de programación UOC 2023

Solución

Según los criterios oficiales de corrección

c) Escribe una implementación iterativa equivalente en lenguaje C

Solución: ```c int mystery(int x, int y) { int res = 0; assert(x >= 0 && y >= 0); while (y != 0) { res += x; y--; } return res; } ```

c) Explicación del diseño y funcionamiento de tu propuesta

Solución: Se inicializa una variable acumuladora en 0 y se ejecuta un bucle while que descuenta una unidad a y en cada ciclo, sumando x al acumulador hasta agotar el contador y cuando alcanza el valor 0.

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.c - Transformación entre versión recur… · 2023 · Pregunta 2.c · 2021 ›

Más ejercicios de Transformación entre versión recursiva e iterativa en C