Aprender a Pensar

Bitácora de clase

Edmundo Mendez Guzman

Universidad La Salle México

Un problema como de examen

Elaborar una regla que calcule el enésimo número de Fibonacci.

0.- Recordatorio: primer número, 1; segundo número,  1; tercero (suma de los dos anteriores), 2; el cuarto (suma de los dos anteriores), 3; quinto (idem), 5; sexto (idem), 8; etc.

1.- Llamemos fibo a la regla. Preguntémonos cuántos argumentos tendrá dicha regla … OK.  Uno para la entrada (el lugar del número fibo) y otro para el resultado.

2.- ¿La regla es recursiva? … OK. Entonces, iniciemos por el caso base (mmmmm ….) En realidad son dos (¿eso se puede? … Claro!)

fibo(1,1).    %Caso base 1

fibo(2,1).    %Caso base 2

Con estas dos reglas, ya tengo el 30% del problema.

3.- Caso recursivo:  el fibo N implica calcular el fibo N-1 y el fibo N-2.  Y luego, nada más sumarlos !!! Qué alegría.

Inténtalo antes de ver la solución:

fibo(N,F):-

X is N-1,

Y is N-2,

fibo(X,F1),

fibo(Y,F2),

F is F1+F2.     % Caso recursivo

Una sola aclaración, no existen fibonaccis negativos ¿cómo se podría evitar tal error?

Pat MethenyGroup – better days ahead



escrito el 22 de marzo de 2011 por en General


1 Comentario en Un problema como de examen

  1. Moisés | 24-03-2011 a las 18:53 | Denunciar Comentario
    1

    Agregando

    N>=0,

    Al principio de la regla recursiva de fibonacci.

    Nos regresará false si le damos un número negativo.

Escribe un comentario

Recuerda que:
  • Las opiniones aquí expresadas serán responsabilidad tuya, y en ningún caso de Aprender a Pensar
  • No se admitirán comentarios que vulneren lo establecido por las leyes y por las Normas de uso de este sitio
  • Aprender a Pensar se reserva el derecho de eliminar los comentarios que considere inadecuados
Los datos serán tratados de acuerdo con lo establecido en la Ley Orgánica 15/1999 de 13 de diciembre de Protección de Datos de Carácter Personal, y demás legislación aplicable. Consultar nuestra Política de Privacidad
Aprender a Pensar