Pregunta 2.b - Transformación a iterativo · Prácticas de programación UOC Juny 2020

Tema: Transformación entre versión recursiva e iterativa en C · Del examen Juny (2020)

Enunciado

Pregunta 2 [60%]. Análisis y transformación de algoritmo recursivo

A partir del siguiente algoritmo recursivo implementado en C:

#define MAX 64

int guess (int v[MAX], int x)

{

int res;

assert (0 <= x && x <= MAX);

if (x == 0) // (1)

res = 0; // (2)

else // (3)

{

res = guess(v, x-1); // (5)

if (v[x-1] == (x-1)) // (6)

res = res + 1; // (7)

}

return res;

}

b. [20%] Reescribe la función para convertirla en un método puramente iterativo en C.

Enunciado: Pregunta 2.b - Transformación a iterativo · Prácticas de programación UOC Juny 2020

Solución

Según los criterios oficiales de corrección

b. [20%] Reescribe la función para convertirla en un método puramente iterativo en C.

Solución: ```c #define MAX 64 int guess (int v[MAX], int x) { int res = 0; int i; assert(0 <= x && x <= MAX); for (i = 0; i < x; i++) { if (v[i] == i) { res++; } } return res; } ```

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 · Juny 2020

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