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. 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. ¿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. 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. 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.
8. 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;
}
9. 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;
}
10. ¿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.
11. 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.
12. 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;
}
13. //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;
}
14. 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.
15. 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;
}
16. //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;
}