logo LWP
Comunidad de Programadores
Crear cuenta
Recordar contraseña
Recordar contraseña en este navegador
Cursos Biblioteca de Temas Preguntas y Respuestas Buscador para Programadores Drivers Solicitudes para Programadores Programas y Utilidades Ofertas de Trabajo

Pascal/Turbo Pascal - Recursividad

Volver
Filtrado por todos los mensajes
 Imprimir facebook  twitter 
Vistas:
Mensajes realizados anteriormente (No estaban la última vez que entraste)
 Recursividad
Luis (20/01/2009 12:42:46)
3.915 visitas
0 respuesta
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:Recursividad
Autor:Luis (6 intervenciones)
Fecha:20/01/2009 12:42:46
Buenas mi problema es que tengo un código con recursividad y me piden que sea mas iterativo, es decir, que no entre tantas veces en al recursividad. Aqui os dejo el código espero que me ayudeis.

{Entra como parametros el número o valor de X y un contador por variable para llevar
las cuentas de cuantas veces se ejecuta. }

Function Funcion(Numero : word; var Contador : integer) : word;

Begin

Contador := Contador + 1; //Cuantas veces se repite la recursividad.
if (Numero = 1) then
begin
Funcion := 1;
end //FIn if
else if (Numero = 2) then
Begin
Funcion := 1;
end //FIn else if
else
Begin
Funcion := Funcion(Numero - Funcion(Numero - 1,Contador),Contador) + Funcion(Numero - Funcion(Numero - 2,Contador),Contador);
end;//Fin else
End;

El objetivo es que no entre tantas veces como lo hace para un numero elevado para asi reducir el tiempo, que tb se calcula, que tarda en hacerla. Muchas gracias.
Responder al autorSubir