[2015][Diciembre][Problema 2] Parte b

[2015][Diciembre][Problema 2] Parte b

de Alvaro Jose Callero Umpierre -
Número de respuestas: 2

Buenas,

Me queda una duda acerca de el tamaño de stack requerido para ejecutar la función:

el consumo de stack sería el siguiente:

* Pila invocación: 4 palabras => 8 bytes (dato, indic_min, indice_max e IP)

* Pila paso base: 7 palabras => 14 bytes (BP, BX, SI, DI, AX, CD, DX)

* Pila paso recursivo: 11 palabras => 22 bytes (paso base + invocación)

Osea que el consume de stack va a ser de 22 bytes + 22.N bytes, es decir, 22 (N + 1) bytes.


Si se necesitan 4 ejecuciones para que la función devuelva resultado, no se necesitarían 22.(4 + 1) bytes = 22.5 bytes = 110 bytes?

Saludos


En respuesta a Alvaro Jose Callero Umpierre

Re: Examen Diciembre 2015 - Problema 2 - Parte b

de Federico Rivero -

Estimado:

En tu fórmula, escribís ´N + 1´ * 22 son la cantidad de bytes ocupados por la función. Donde N es la cantidad de pasos recursivos. 

En el ejemplo que damos nosotros, hay 4 llamadas en total, de las cuales 3 son recursivas, por lo cual N = 3, y la cuenta de 88 bytes (aplicando tu fórmula)

Saludos!

         Federico