0% encontró este documento útil (0 votos)
18 vistas4 páginas

Fibonacci

El documento presenta un programa para generar elementos de la sucesión de Fibonacci utilizando pseudocódigo y código en C. Se describen las variables necesarias y el algoritmo que permite calcular la serie, comenzando con los valores iniciales 0 y 1. Además, se incluye una prueba de escritorio para verificar el funcionamiento del código.

Cargado por

Angelaanaconda0
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
18 vistas4 páginas

Fibonacci

El documento presenta un programa para generar elementos de la sucesión de Fibonacci utilizando pseudocódigo y código en C. Se describen las variables necesarias y el algoritmo que permite calcular la serie, comenzando con los valores iniciales 0 y 1. Además, se incluye una prueba de escritorio para verificar el funcionamiento del código.

Cargado por

Angelaanaconda0
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Universidad Digital del Estado de Hidalgo

Licenciatura en Ingeniería de Software


Asignatura: Programación Estructurada

Unidad 3. Estructuras de repetición

Fibonacci

Ejemplo. Se realizo un programa para generar N elementos de la sucesión de Fibonacci (0, 1,


1, 2, 3, 5, 8, 13,…). Se realiza el pseudocódigo y el programa para representarlo.

El planteamiento del algoritmo correspondiente se hace a partir del análisis de la sucesión, en la


que se puede observar que un tercer valor de la serie está dado por la suma de los dos valores
previos, de aquí que se asignan los dos valores para sumar (0, 1), que dan la base para obtener
el siguiente elemento que se busca, además, implica que el ciclo se efectué dos veces menos.
Las variables que se requieren para la solución de este problema se muestran en la siguiente
tabla (Delgado & Velázquez, 2018).

Nombre de la variable Descripción Tipo


A, B Valores iniciales o previos Entero
C Valor generado Entero
M Contador del ciclo Entero
Número de elementos de
N Entero
la serie

Se requiere entonces pedir un número máximo de iteraciones para sacar la sumatoria, entonces
pensemos en el 9 y se guardara en N.

Bien los primeros números serán 0 y 1 siempre, entonces guardaremos en:


A=0;
B=1;

1) Iniciemos un ciclo para obtener la suma de C, con el resultado modificaremos el valor de


B y éste a su vez modifica A, el ciclo como tope tendrá el número máximo de iteraciones
menos dos, debido a que anteriormente ya se establecieron los valores de 0 y 1,
entonces:

2) C = A + B;
C = 0 + 1➔ C=1
A continuación, actualizamos los contenidos de las variables A y B con los nuevos valores, ahora

3) A=B
4) B=C

Es decir;

A=1
B=1

Regresamos al paso 1 donde se debe de preguntar si se ha llegado hasta el número máximo de


iteraciones en caso de que aún no se llegue al tope y se realiza

C=2

Aplicamos 3 y 4:

A=1
B=2

Regresamos al paso 1 donde se debe de preguntar si se ha llegado hasta el número máximo de


iteraciones en caso de que aún no se llegue al tope entonces se repite:

C=3

Aplicamos 3 y 4:

A=2
B=3
Y así se actualizan los datos:

Pseudocódigo Código
1. Inicio #include <conio.h>
2. Leer N #include <stdio.h>
3. Hacer A = 0 void main()
4. Hacer B = 1 {
5. Escribir A, B clrscr(); //limpiamos pantalla cada que se ejecuta el
7. Desde M = 1 hasta M<N-2 programa
Hacer C = A + B /*Se definen las variables como se indicó en el diseño*/
Escribir C int N;
Hacer A = B int A;
Hacer B = C int B;
Fin Desde int C=0; //Se inicializa a cero el acumulador, recuerda
n que es una buena práctica realiza
//la inicialización a cero
printf("Teclea el número de iteraciones para la serie
\n");
scanf("%d",&N); // Se guarda en esta variable el
número de veces que el for trabajará.
A=0;// se inicializan variables
B=1;
printf("%d, %d",A,B); //Se imprimen los valores
iniciales 0,1
/*Cuerpo del ciclo donde se actualizan las variables el
seguimiento del código lo puedes verificar con la prueba
de escritorio que se muestra más adelante*/
for(int M=1; M<=N-2; M++){
C = A + B;
printf(", %d",C);
A = B;
B = C;
}
getch();
}
Una manera de comprobar el código es hacer su seguimiento, con una prueba de escritorio.

A B N M M <= N-2 C
0 1 9 1 True 1
1 1 9 2 True 2
1 2 9 3 True 3
2 3 9 4 True 5
3 5 9 5 True 8
5 8 9 6 True 13
8 13 9 7 True 21
9 8 False

También podría gustarte