Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

6.funciones y recursividad en c++

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Próximo SlideShare
RECURSIVIDAD C++
RECURSIVIDAD C++
Cargando en…3
×

Eche un vistazo a continuación

1 de 16 Anuncio
Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

A los espectadores también les gustó (16)

Anuncio

Similares a 6.funciones y recursividad en c++ (20)

Más de Ramiro Estigarribia Canese (20)

Anuncio

Más reciente (20)

6.funciones y recursividad en c++

  1. 1. Funciones y Recursividad Ramiro Estigarribia Canese
  2. 2. Programas Reales ➔ La mayoría de los programas que resuelven problemas reales son más grandes que los programas que se presentan en los primeros capítulos. ➔ La experiencia ha demostrado que la mejor forma de desarrollar y mantener un programa extenso es construirlo a partir de piezas (o componentes) simples y pequeñas. ➔ A esta técnica se le conoce como divide y vencerás.
  3. 3. Componentes de los programas en C++ ➔ Por lo general, los programas en C++ se escriben mediante la combinación de nuevas funciones y clases que escribimos con funciones disponibles en C++. ➔ La Biblioteca estándar de C++ proporciona una extensa colección de funciones para realizar cálculos matemáticos, manipulación de texto, entrada/salida, comprobación de errores y otras operaciones. ➔ Esto facilita el trabajo del programador, ya que estas funciones proporcionan muchas de las herramientas que necesita.
  4. 4. ¿Qué Permiten las Funciones? ➔ Las funciones permiten dividir un programa en módulos. ➔ Las instrucciones se escriben sólo una vez, y se pueden reutilizar muchas veces. ➔ Se facilita el proceso de desarrollo de programas al construir a partir de piezas pequeñas y simples. ➔ Permite reutilización de software: utilizar las funciones existentes como bloques de construcción para crear nuevos programas.
  5. 5. Funciones matemáticas de la biblioteca ➔ Utilizamos la función pow del archivo de encabezado <cmath> para elevar un valor a una potencia. ➔ Introduciremos aquí varias funciones del archivo de encabezado <cmath> para presentar el concepto de las funciones globales que no pertenecen a una clase específica. ➔ El archivo de encabezado <cmath> proporciona una colección de funciones que nos permiten realizar cálculos matemáticos comunes. ➔ Por ejemplo, puede calcular la raíz cuadrada de 900.0 con la siguiente llamada a la función:
  6. 6. La clase Math ➔ La clase Math cuenta con una colección de métodos que nos permiten realizar cálculos matemáticos. ➔ Por ejemplo, podemos calcular la raíz cuadrada de 900 con una llamada al siguiente método: sqrt(900). Resultado = 30.0. ➔ El método sqrt recibe un argumento de tipo double y devuelve el resultado. ➔ Para imprimir el valor de la llamada anterior al método en una ventana de comandos: ➔ cout << sqrt(900);
  7. 7. 1.Raiz Cuadrada #include <iostream> #include <math.h> using namespace std; int main() { int numero, raiz; cout << "Ingrese 1 numero" << endl; cin >> numero; raiz=sqrt(numero); cout << "La raiz es:" << raiz; return 0; }
  8. 8. Funciones con varios Parámetros //2.Función que calcula el cuadrado de un número. #include <iostream> using namespace std; int cuadrado(int numero) { return numero*numero; } int main() { int numero,resultado; cout << "Ingrese 1 numero" << endl; cin >> numero; resultado=cuadrado(numero); cout << "El cuadrado es:" << resultado; return 0; }
  9. 9. ¿Qué es una Función? ➔ Es un conjunto de líneas de código que realizan una tarea específica y puede retornar un valor. ➔ Las funciones pueden tomar parámetros que modifiquen su funcionamiento. ➔ Las funciones son utilizadas para descomponer grandes problemas en tareas simples. ➔ Cuando una función es invocada se le pasa el control a la misma, una vez que esta finalizó con su tarea el control es devuelto al punto desde el cual la función fue llamada.
  10. 10. Random ➔ Se puede crear un generador de números aleatorios de la siguiente manera: sorteo = rand( ); ➔ Después, el generador de números aleatorios puede usarse para generar valores boolean, byte, float, double, int, long y gaussianos. ➔ El método nextInt de la clase Random genera un valor int aleatorio en el rango de –2.147.483.648 a +2.147.483.647. ➔ Cualquier valor en ese rango debería tener una oportunidad de salir sorteado.
  11. 11. 3.Programa que lanza un dado 5 veces #include <iostream> #include <cstdlib> // Función para rand using namespace std; int main() { for (int contador=1; contador<=5; contador++) { cout << (1 + rand()%6 ) << " "; //muestra el valor generado } // fin de for return 0; }
  12. 12. //4.Sortea un número, y compara con el valor ingresado. #include <iostream> #include <cstdlib> // Función para rand #include <ctime> // Función para tiempo using namespace std; int main() { srand(time(0)); //Para que el sorteo distinto siempre. int numero, resultado; cout << "Elija un número del 1 al 6:" << endl; cin >> numero; resultado=1+rand()%6; if (numero==resultado) cout << "Felicitaciones, ganaste" << endl; else cout << "Lastimosamente perdiste: " << resultado; return 0; }
  13. 13. Recursividad ➔ Los programas que hemos visto están estructurados generalmente como funciones que se llaman entre sí, de una manera disciplinada y jerárquica. ➔ Para algunos problemas, es conveniente hacer que las funciones se llamen a sí mismas. ➔ Una función recursiva es una función que se llama a sí misma.
  14. 14. 5.Factorial de un número. #include <iostream> using namespace std; int main() { int num=3,fact=1; for(int i=1; i<=num; i++) { fact = fact * i; } cout << "Su factorial es: " << fact; return 0; }
  15. 15. //6.Factorial utilizando un método recursivo. #include <iostream> using namespace std; int factorial(int n) { if(n<2) return 1; else return n*factorial(n-1); } int main() { int numero; cout << "Introduce un numero:" << endl; cin >> numero; cout << "El resultado es:" << factorial(numero); return 0; }

×