6.funciones y recursividad en c++
-
Upload
ramiro-estigarribia-canese -
Category
Technology
-
view
164 -
download
0
Transcript of 6.funciones y recursividad en c++
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.
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.
¿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.
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:
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);
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;}
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;}
¿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.
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.
3.Programa que lanza un dado 5 veces
#include <iostream>#include <cstdlib> // Función para randusing namespace std;int main(){ for (int contador=1; contador<=5; contador++) { cout << (1 + rand()%6 ) << " "; //muestra el valor generado } // fin de for return 0; }
//4.Sortea un número, y compara con el valor ingresado.#include <iostream>#include <cstdlib> // Función para rand#include <ctime> // Función para tiempousing 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;elsecout << "Lastimosamente perdiste: " << resultado;return 0;}
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.
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;}