0% encontró este documento útil (0 votos)
56 vistas11 páginas

Generación de Números Aleatorios en C++

Este documento introduce los números aleatorios y cómo generarlos en C++ utilizando las funciones rand y srand. Explica cómo rand genera números aleatorios y cómo srand establece la semilla para cambiar la secuencia de números. También muestra cómo ajustar el rango de los números aleatorios generados y provee un ejemplo de código para simular el lanzamiento de un dado.

Cargado por

Alex Escobal
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 PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
56 vistas11 páginas

Generación de Números Aleatorios en C++

Este documento introduce los números aleatorios y cómo generarlos en C++ utilizando las funciones rand y srand. Explica cómo rand genera números aleatorios y cómo srand establece la semilla para cambiar la secuencia de números. También muestra cómo ajustar el rango de los números aleatorios generados y provee un ejemplo de código para simular el lanzamiento de un dado.

Cargado por

Alex Escobal
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 PPTX, PDF, TXT o lee en línea desde Scribd

NÚMEROS ALEATORIOS

Semana 5

Ing. Pedro Castillo Domínguez


PREGUNTA

• ¿Cómo se realizar un programa que permita seleccionar un


estudiante de una lista de forma aleatoria.?

18/04/2023
LOGRO

• Al término de la sesión el estudiante estará en la capacidad de definir los números aleatorios demostrando
su destreza en la implementación de programas cumpliendo con los estándares de programación.

18/04/2023
INTRODUCCIÓN

• Los números aleatorios son un elemento clave en múltiples procesos de la


vida digital. Estos se utilizan no sólo en aplicaciones con gran componente
de aleatoriedad como puede ser el juego online, sino que también tienen
múltiples aplicaciones en el mundo de la ciberseguridad, para la
generación de claves, etc.
• Los números aleatorios son de gran utilidad en numerosas aplicaciones y
requieren un trato especial en cualquier lenguaje de programación. Las
funciones usuales de la biblioteca estándar en C++ son: rand, random y
randomize, estas funciones se encuentran en el archivo stdlib.h.
NÚMEROS ALEATORIOS - FUNCIONES

• Para generar números aleatorios en C++ se utilizan las funciones rand y srand.
Función rand()
int rand(void);
• La función rand calcula un número aleatorio en el intervalo entre 0 y RAND_MAX. El valor de
RAND_MAX es una constante predefinida que representa el mayor valor que puede devolver la
función rand. En C++ este valor es 32767.
La función rand genera números a partir de
#include <iostream> un valor inicial o semilla. Si ejecutamos el
using namespace std;
int main() programa anterior varias veces seguidas
{ obtendremos siempre la misma secuencia de
int i;
cout << "20 números generados aleatoriamente:\n"; números. Para que esto no se produzca
for(i=1; i<=20; i++) debemos cambiar el valor inicial de la semilla
cout << rand() << endl;
system("pause"); cada vez que se ejecute el programa. Esto
} se hace con la función srand.
NÚMEROS ALEATORIOS - FUNCIONES

Función srand()
void srand(unsigned int semilla);

La función srand fija el punto de comienzo para generar números aleatorios. El generador de números aleatorios
obtiene los números en función del valor de su argumento. Cuando esta función no se utiliza, el valor del primer
número generado siempre es el mismo para cada ejecución (corresponde a un argumento de valor 1).
Para obtener números aleatorios mediante estas funciones, es recomendable utilizar como semilla un valor que cambie
constantemente, como por ejemplo, el valor devuelto por la función time (librería ctime). Esta función devuelve el
número de segundos transcurridos desde las 0 horas del 1 de Enero de 1970.
EJEMPLO

#include <iostream>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
int i;
cout << "20 numeros generados aleatoriamente:\n";
for(i=1; i<=20; i++)
cout << rand() << endl;
system("pause");
}
RANGOS PARA NÚMEROS ALEATORIOS

#include <iostream>
#include <ctime>
• Para generar números aleatorios entre dos límites DESDE
using namespace std;
– HASTA utilizaremos la siguiente expresión:
int main()
{
srand(time(NULL));
numero = aleatorio = rand()%(HASTA-DESDE+1)+DESDE; int i, n, aleatorio, DESDE=4, HASTA=10;
cout << "Números aleatorios " << DESDE << " y " << HASTA << endl;
Para ajustar el rango de número aleatorios podemos cout << "Cuantos números aleatorios quiere generar? ";
hacer varias cosas. cin >> n;
for (i = 1; i <= n; i ++)
{
- Número aleatorios entre 0 y 50: aleatorio = rand()%(HASTA-DESDE+1)+DESDE;
num=rand()%51; cout << aleatorio << " ";
- Número aleatorios entre 1 y 100: }
num=1+rand()%(101-1); cout << endl;
- Número aleatorios entre 250 y 420: system("pause");
}
num=250+rand()%(421-250);
EJEMPLO
Recordando:
num=rand()%10+1;
Donde "rand" es la función para generar un numero aleatorio,
%10 indica cual es el rango de números a generar ( en este caso del 0 al 9 )
+1 indica que inicia en el 1(en este caso generaría número del 1 al 10 #include <cstdlib>
#include <iostream>
using namespace std;
int main()
Programa que genera un numero Random para simular un
{
dado (6 caras)
srand((unsigned)time(NULL));
int num, n;
cout<<"Escoge numero"<<endl;
cin>> num;
n=rand()%6+1;
cout<<"El numero es "<<n<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
SIMULACIÓN

• La Simulación es una herramienta de análisis que nos permite sacar conclusiones sin necesidad de trabajar
directamente con el sistema real que se está simulando. La Simulación es especialmente útil cuando no
disponemos de dicho sistema real o nos resulta demasiado arriesgado realizar experimentos sobre el.
OPERADORES LÓGICOS

• Los operadores lógicos producen un resultado booleano, y sus operandos son también valores lógicos o
asimilables a ellos (los valores numéricos son asimilados a cierto o falso según su valor sea cero o distinto de
cero). Por el contrario, las operaciones entre bits producen valores arbitrarios.
• Los operadores lógicos son tres, dos de ellos son binarios y el último (negación) es unario:

También podría gustarte