Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Informe Tecnico recursividad
1. INSTITUTO TECNOLÓGICO SUPERIOR DE FELIPE
CARRILLO PUERTO
MATERIA:
ESTRUCTURA DE DATOS
UNIDAD 2:
RECURSIVIDAD
DOCENTE:
MTI.NIELS HENRYK ARADA CUEVAS
COTENIDO:
INFORME TECNICO
ALUMNO:
ELIEZER BALAM SANTOS
CARRERA:
INGENIERÍA EN SISTEMAS COMPUTACIONALES
2. INTRODUCCIÓN:
Esta es la segunda unidad de estructura de datos que al igual que la primera unidad es
una unidad importante e interesante ya que realizamos dos programas con una nueva
forma de programación y manejo de variables en nuestros códigos de manera que
ahora conocemos la forma de usar arreglos y ciclos, los arreglos unidimensionales y los
arreglos bidimensionales, vamos a mostrar el código con el cual realizamos el cálculo
de los datos aplicando la recursividad que prácticamente es el uso de funciones donde
existe una función en la que se vuelve a llamar a la función sí misma, pero manteniendo
una base para que el programa pueda calcular los datos necesarios, el primer programa
realizado se muestra la forma de calcular la factorial de un número y la segunda realiza
la serie conocida de Fibonacci en la cual obtiene posición de numero sumando los dos
anteriores. Esta unidad es muy corta la cual es la base e introducción a los temas de las
siguientes unidades donde vamos a complementar el uso de la recursividad como
también seguir usando los métodos de arreglos y ciclos.
3. PROGRAMA FACTORIAL DE UN NÚMERO:
Introducción:
El siguiente programa lo que hace es realizar el cálculo de la factorial de un número que
prácticamente la factorial en definición teoría se refiere la multiplicación de los números
anteriores de un número que se tiene por ejemplo la factorial de 5 es igual a 5*4*3*2*1
todos los valores se multiplican. Ahora vamos a ver la forma de programarlo en el
lenguaje de programación c++.
#include <iostream>
using namespace std;
//Declaraciones de las funciones
int factorial(int n);
int main(int argc, char** argv) {
int n;
//Pedir datos
cout<<"Ingrese un numero:";
cin>>n;
//Llamada de la funcion factorial
cout<<"El resultado es :"<<factorial(n);
return (0);
}
//funcion factorial
int factorial(int n){
if(n==0)
return 1;
4. else
return(n*factorial(n-1));
}
Conclusión Programa:
En este código del programa donde aplicamos la recursividad para calcular la factorial
de un número, donde como ya sabemos comenzamos con la llamada de las librerías
iostream y la de coni.h también para poder mostrar los datos utilizando el using std o
también el namespace std; para imprimir los datos en la pantalla. Comenzamos con
declarar la función recursiva fuera del método principal int main, para poder llamar esa
función más adelante dentro de la función principal. En la función principal int main
declaramos a la variable n que va ser la misma variable de la función recursiva factorial,
ahora lo que hacemos pedimos los datos que va ser el valor de n y después imprimimos
el valor de la factorial n, pero como el programa no sabe el valor de la factorial n, pasa
ahora a la función factorial donde se va obtener el resultado de cierta condición si n es
igual a cero entonces regresar 1 ya que la base de la recursividad de la función es 1, en
caso contrario que no sea igual a cero entonces regresamos el valor de n multiplicado
por la función factorial del valor que tenga n-1, para ir disminuyendo los valores de n y
obtener la regla que define la factorial en matemática.
5. LA REGLA DE FIBONACCI.
Introducción:
La regla de Fibonacci es una función matemática de secuencia numérica que sigue una
una regla de sucesión de ciertos números de donde la regla de Fibonacci lo que hace
es tener un numero como base y buscar la posición de dicho número, el método que
emplea es obtener el siguiente número con la suma de los dos números anteriores, el
cual el método realizamos su programación en este lenguaje de c utilizando el método
de recursividad.
#include <iostream>
using namespace std;
int fibonacci (int f);
int main(int argc, char *argv[]) {
int f;
cout<< "Inserta posicionn";
cin>>f;
cout<<fibonacci (f);
return 0;
}
int fibonacci (int f){
if ((f==1)||(f==2))
return (1);
else
return ( fibonacci (f-2)+fibonacci (f-1));
}
6. Conclusión programa:
En conclusión sobre este programa lo que realizamos es utilizar la recursividad
nuevamente para aplicar la solución de una regla conocida como Fibonacci, en la cual
lo que realizamos es declarar en la primera parte debajo de la librería la función entera
que lleva por nombre Fibonacci la cual que va tener como variable a f que representara
la posición del número que se ingresar y que va imprimir el valor de número que se
encuentra en esa posición. En la función principal declaramos la variable de posición f
luego imprimimos un mensaje para pedir la posición del número el cual se va a guardar
en la variable, después imprimimos la función Fibonacci, por el momento no hemos
realizado la función Fibonacci por lo tanto no puede haber un valor para imprimir,
entonces afuera de la función principal main, comenzamos a usar la función Fibonacci
el cual declaramos un if que los que evalúa es que si f es igual a 1 tal que f sea igual
que 2 entonces regresa 1, ya que no se puede obtener el numero si no tenemos los dos
anteriores, de lo contrario el valor de la función Fibonacci a imprimir va ser regresar a la
función Fibonacci con variable f restado 2 que obtener el primer número con la suma
de la misma función con f restado 1 que va obtener el segundo valor de número a
sumar para obtener la posición.
CONCLUSION GENERAL:
Como conclusión general tenemos que en esta unidad dos, que fue muy corta pero
importante aprendimos a trabajar por un método diferente sin el uso de arreglos y ciclos
para llegar a la solución de un problema como también comprender la lógica de
funcionamiento de la recursividad en los dos programas que realizamos la primera de la
factorial de un numero después pasar la regla de Fibonacci en un lenguaje de
programación, todo lo que hemos visto hasta ahora va ser de gran utilidad a lo largo de
nuestra formación profesional ya que a lo largo de la carrera estaremos trabajando con
nuevos lenguajes de programación donde la lógica de programación va ser la misma
solo con la modificación de los comandos que se van a estar utilizando, prácticamente
la recursividad es una manera de manejar las secuencias de datos.