Acciones

Diferencia entre revisiones de «Ejercicio 2: Sumar la sucesión de los n primeros términos de la sucesión de Fibonacci cuyo valor no exceda la cifra 4000000»

De Software Libre para la Enseñanza y el Aprendizaje de las Matemáticas (2010-11)

(Página creada con ''''Enunciado:''' Cada término perteneciente a la sucesión de Fibonacci se genera mediante la suma de los dos términos anteriores. Sabiendo que los dos primeros términos son …')
 
 
Línea 11: Línea 11:
 
En primer lugar, definimos la sucesión de Fibonacci. Para ello, definimos los valores de los dos primeros términos y, luego, definimos el término general de la sucesión:
 
En primer lugar, definimos la sucesión de Fibonacci. Para ello, definimos los valores de los dos primeros términos y, luego, definimos el término general de la sucesión:
  
(%i1) fib1[0]:0;
+
    (%i1) fib1[0]:0;
  
(%i2) fib1[1]:1;
+
    (%i2) fib1[1]:1;
  
(%i3) fib1[n] := fib1[n-1]+fib1[n-2];
+
    (%i3) fib1[n] := fib1[n-1]+fib1[n-2];
  
 
Definimos, de igual forma, la variable suma con valor inicial 0, en la que iremos almacenando la suma de los términos de la sucesión.
 
Definimos, de igual forma, la variable suma con valor inicial 0, en la que iremos almacenando la suma de los términos de la sucesión.
  
(%i4) suma:0;
+
    (%i4) suma:0;
  
 
Y, por último, escribimos un bucle que se repetirá hasta que el valor del término de la sucesión sea mayor que 4000000, y que irá sumando dichos términos mientras que cumpla la condición indicada con anterioridad:
 
Y, por último, escribimos un bucle que se repetirá hasta que el valor del término de la sucesión sea mayor que 4000000, y que irá sumando dichos términos mientras que cumpla la condición indicada con anterioridad:
  
(%i5) for n:1 while fib1[n]<=4000000 do sum:sum + fib1[n];
+
    (%i5) for n:1 while fib1[n]<=4000000 do sum:sum + fib1[n]; sum;
      sum;
 
  
 
El resultado que obtenemos es:
 
El resultado que obtenemos es:
  
(%o5) 9227464
+
    (%o5) 9227464
  
 
Siendo 9227464 la suma de los n primeros términos de la sucesión de Fibonacci, cuyo valor no excede los 4000000.
 
Siendo 9227464 la suma de los n primeros términos de la sucesión de Fibonacci, cuyo valor no excede los 4000000.

Revisión actual del 15:38 22 abr 2011

Enunciado: Cada término perteneciente a la sucesión de Fibonacci se genera mediante la suma de los dos términos anteriores. Sabiendo que los dos primeros términos son el 0 y el 1, los 10 primeros términos de la sucesión tienen la siguiente forma:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34...

Teniendo en cuenta los términos de la sucesión de Fibonacci cuyos valores no exceden los cuatro millones, calcular la suma de dichos términos.


Solución:

En primer lugar, definimos la sucesión de Fibonacci. Para ello, definimos los valores de los dos primeros términos y, luego, definimos el término general de la sucesión:

   (%i1) fib1[0]:0;
   (%i2) fib1[1]:1;
   (%i3) fib1[n] := fib1[n-1]+fib1[n-2];

Definimos, de igual forma, la variable suma con valor inicial 0, en la que iremos almacenando la suma de los términos de la sucesión.

   (%i4) suma:0;

Y, por último, escribimos un bucle que se repetirá hasta que el valor del término de la sucesión sea mayor que 4000000, y que irá sumando dichos términos mientras que cumpla la condición indicada con anterioridad:

   (%i5) for n:1 while fib1[n]<=4000000 do sum:sum + fib1[n]; sum;

El resultado que obtenemos es:

   (%o5) 9227464

Siendo 9227464 la suma de los n primeros términos de la sucesión de Fibonacci, cuyo valor no excede los 4000000.