Cómo generar números aleatorios. ¿Estás practicando lenguajes de programación y te gustaría entender cómo generar números al azar?  ¿Has decidido organizar un pequeño concurso en tu blog y estás buscando un servicio simple y efectivo que te permita extraer números aleatorios para elegir a los ganadores de la competencia? ¿Desea atraer a los participantes de un proyecto escolar usando la Pc pero no tiene tiempo / ganas de instalar programas en la PC? Si este es exactamente el caso, realmente creo que tengo alguna solución adecuada para usted.

En el curso de esta guía, de hecho, explicaré cómo generar números aleatorios a través de algunos de los lenguajes de programación más famosos y usados ​​que existen. Además, le mostraré cómo lograr el mismo resultado a través de una serie de sitios web y aplicaciones para teléfonos móviles y tabletas: en los últimos dos casos, no se requieren conocimientos de informática.

Sin embargo, antes de continuar, creo que es correcto aclarar un punto importante de la pregunta: en realidad, los números generados por Pcs, teléfonos móviles y tabletas deben definirse, en la mayoría de los casos como pseudoaleatoria. El motivo es claro: se crean a partir de condiciones externas precisas (por ejemplo, la fecha y hora actuales, el estado de la CPU, el disco, la pantalla, el número de programas instalados, el estado del servidor web y etc.) que, aunque de forma extremadamente remota, puede «reproducirse» artificialmente para obtener siempre la misma figura.

Cómo generar números aleatorios en C.

La forma más fácil de generar números aleatorios en C. es usar la función rand () de C. Le permite generar aleatoriamente un número entre 0 y la constante RAND_MAX (un valor que, según ANSI C, debería ser mayor o igual a 32676). Para obtener un valor entre 0 y un número arbitrario (excluido), simplemente use el operador%. Por ejemplo, para obtener un número aleatorio entre 0 y 101, se debe usar el siguiente código.

int cas = rand() % 101;

Sin embargo, antes de llamar a esta función, es necesario «configurar» el programa para la generación de un número pseudoaleatorio, que se modifica cada vez que se ejecuta el software: este resultado se obtiene a través de la función srand (presente en la biblioteca estándar de C, stdlib.h ), que acepta una «semilla» como argumento para la generación aleatoria de la figura. Para minimizar la repetición de valores, el tiempo actual se puede usar como semilla (que se puede obtener a través de la función time () de la biblioteca time.h ).

A la luz de esta nueva necesidad, así es como se transforma el código visto anteriormente.

#include
#include
//definizione della funzione
int numCas;
srand(time(NULL));
numCas = rand() % 101;

Si lo prefiere, también puede hacer que C genere números aleatorios entre un valor máximo y un valor mínimo, utilizando la siguiente función.

#include
#include
int numCasuale(int, int);

int numCasuale(int min, int max){
srand(time(NULL));
return rand() % (max-min+1)+min;
}

Finalmente, si está interesado en obtener un programa de trabajo que le permita obtener números aleatorios entre dos valores, puede usar el siguiente código.

#include
#include
#include

int numCasuale(int, int);

int main(void){
int m1, m2, r;
printf("Inserisci il valore iniziale: ");
scanf("%d", &m1);
printf("Inserisci il valore finale: ");
scanf("%d", &m2);

r=numCasuale(m1, m2);
printf("Il numero casuale generato è: %d", r);
return 0;
}

int numCasuale(int min, int max){
srand(time(NULL));
return rand() % (max-min+1)+min;
}

Cómo generar números aleatorios negativos en C ++

Para generar números aleatorios negativos en C ++ puede «reajustar» el código ya visto para C, ya que las funciones a utilizar son prácticamente las mismas. Claramente, para que el número sea negativo, los números que se utilizarán como puntos finales deben ser negativos en sí mismos (por ejemplo, -100 y 0, o -98 y -15, y así sucesivamente). A continuación les muestro un ejemplo de un programa totalmente funcional, creado en C ++.

#include
#include
#include
using namespace std;

int numCasuale(int, int);

int main(void){
int m1, m2, r;
cout << "Inserisci il valore negativo iniziale: ";
cin >> m1;
cout << "Inserisci il valore negativo finale: ";
cin >> m2;

r=numCasuale(m1, m2);
cout << "Il numero casuale generato è: "<< r <<"n";
return 0;
}

int numCasuale(int min, int max){
srand(time(NULL));
return rand() % (max-min+1)+min;
}

Cómo generar números aleatorios en Java

Si es de tu interés generar números aleatorios en Java, sepa que puede proceder al menos de dos maneras diferentes: utilizando el método Math.random (), útil para generar números pseudoaleatorios; o a través de la clase java.util.Random, creando un objeto de tipo Random.

Math.random ()

Math   Java, para su información, contiene una gran cantidad de constantes y métodos estáticos para ser utilizados dentro de las funciones matemáticas; entre estos, está el método random (), que devuelve un número de punto flotante pseudoaleatorio entre 0.0 y 1.0 (excluyendo el segundo extremo); No hace falta decir, por lo tanto, que para obtener un número entero pseudoaleatorio, debe manipularlo de cierta manera, dependiendo del resultado que le interese obtener.

Por ejemplo, puede generar una variable numCas que contenga un número aleatorio entero, mayor o igual que 0 y menor que 101 (por lo tanto, de 0 a 100), utilizando la siguiente línea de código.

int numCas = (int)(Math.random() * 101);

Al ampliar la discusión, también puede establecer un límite inferior al multiplicar el valor generado por Math.random () por la diferencia entre los límites superior e inferior, y luego agregar el último. Por ejemplo, si desea obtener un número pseudoaleatorio entre 50 (incluido) y 251 (excluido), deberá usar el siguiente código.

int numCas = (int) (Math.random() * (251-50) +50);

Para mayor comodidad, puede crear un método numeroCas que, dados dos enteros, le permite generar un número pseudoaleatorio entre ellos, incluidos los extremos.

public static int numeroCas (int minimo, int massimo) {
int min=minimo;
int max=massimo+1;
int numCas = (int) (Math.random() * (max-min)+min);
return numCas;
}

Finalmente, aquí hay un ejemplo de una clase trabajadora.

import javax.swing.JFrame;
import javax.swing.JOptionPane; `

public class Calcoli {

public static int numeroCas (int minimo, int massimo) {
int min=minimo;
int max=massimo+1;
int numCas = (int) (Math.random() * (max-min)+min);
return numCas;
}

public static void main(String() args) {
int min, max, numCas;
String s1, s2;
JFrame finestra = new JFrame("Calcoli vari");
s1=JOptionPane.showInputDialog("Inserisci il valore minimo");
min = Integer.parseInt(s1);
s2=JOptionPane.showInputDialog("Inserisci il valore massimo");
max = Integer.parseInt(s2);
numCas = numeroCas(min,max);
JOptionPane.showMessageDialog(finestra, "Numero casuale compreso tra " + min + " e " + max + " è " + numCas);
System.exit(0);
}
`}

java.util.Random

El azar de java.util le permite simplificar las cosas significativamente: los objetos de este tipo proporcionan métodos para recuperar enteros aleatorios, utilizando el método nextInt (). A continuación te muestro un uso típico de esta clase.

import java.util.Random;
// altro codice dichiarativo
Random ra = new Random();
int numCas = ra.nextInt();

En este caso, se generará un entero pseudoaleatorio, positivo o negativo. Si, por otro lado, desea generar un número aleatorio entero positivo entre 0 (incluido) y un valor máximo (excluido), puede pasar este último como argumento al método nextInt (). El código se convertiría en

import java.util.Random;
// altro codice dichiarativo
Random ra = new Random();
int max = 51; /*per generare un numero casuale compreso tra 0 e 50 */
int numCas = ra.nextInt(max);

Aquí hay un ejemplo de una clase trabajadora.

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import java.util.Random;

public class Calcoli {

public static int numeroCas (int massimo) {
int max=massimo;
Random ra = new Random();
return ra.nextInt(max);
}

public static void main(String() args) {
int max, numCas;
String s1;
JFrame finestra = new JFrame("Calcoli vari");
s1=JOptionPane.showInputDialog("Inserisci il valore massimo");
max = Integer.parseInt(s1);
numCas = numeroCas(max);
JOptionPane.showMessageDialog(finestra, "Numero casuale compreso tra 0 e " + max + " è " + numCas);
System.exit(0);
}
}

Cómo generar números aleatorios en Excel

¿Cómo generar números aleatorios en Excel ? ¡Confía en mí, es muy fácil! De hecho, hay una función muy precisa, llamada CASUALE(), que le permite generar números pseudoaleatorios entre 0 y 1 (excluidos). Con las precauciones necesarias, es posible hacer que esta función devuelva un entero aleatorio.

¿Cómo? Lo explicaré de inmediato. Primero, encuentre la celda que debe contener el número aleatorio y escriba la fórmula dentro =CASUALE()*100 , si está interesado en obtener un número aleatorio entre 0 (incluido) y 100 (excluido), o =INT(CASUALE()*100) si está interesado en mostrar solo números enteros.

Aún más conveniente es la función CASUALE.TRA(minore;maggiore) , que le permite obtener números aleatorios entre un valor mínimo y un valor máximo; Ambos parámetros pueden ser positivos o negativos. Por ejemplo, ingresando la fórmula en su celda =CASUALE.TRA(10;50) , obtendrá un número entero entre 10 y 50.

La celda que contiene el número aleatorio se actualizará automáticamente cuando se recalcule la hoja de trabajo o al ingresar una fórmula o datos en una celda diferente. Para realizar el recálculo manual, en su lugar, presione la tecla F9 teclado (se volverán a calcular todas las celdas que contienen valores generados aleatoriamente). El procedimiento se puede implementar en todas las versiones de Excel, incluidas las versiones móvil y en línea.

Cómo generar números aleatorios en línea

¿Necesita con urgencia obtener uno o más números aleatorios pero no tiene forma, por conocimiento o posibilidades, de utilizar uno de los sistemas que he indicado en esta guía? No se preocupe, creo que tengo exactamente lo que es correcto para usted. De hecho, hay algunos sitios web que le permiten generar números aleatorios en línea en cuestión de segundos, totalmente gratis y usando cualquier navegador que tenga disponible.

Uno de estos, por ejemplo, es Random.org, famoso sitio web que promete generar números aleatorios basados ​​en el llamado «ruido atmosférico», por lo que no es atribuible a ningún algoritmo matemático predeterminado.

Para usarlo, conéctese a su página de inicio, ubica el azulejo Generador de números aleatorios verdaderos (ubicado a la derecha) y, usando los campos min y Max, indica los dígitos entre los cuales debe estar su número aleatorio (por ejemplo, 0 a 50). Cuando haya terminado, haga clic en el botón generar y ya está: el número de su interés se mostrará, dentro de unos momentos, debajo del encabezado resultar.

Otra forma agradable (qué tan inmediata) de obtener números aleatorios a través del bowser es usar el generador incluido en google. Sí, lo entendiste bien, ¡el famoso motor de búsqueda te permite hacer este tipo de cálculo casi de inmediato!

Todo lo que necesita hacer, en la práctica, es conectarse a la página principal de Google, escribe la palabra números al azar dentro del campo de búsqueda a cargo y presione el botón de lupa para comenzar. Después de unos momentos, debería ver un panel que contiene, por defecto, un número aleatorio entre 1 y 10.

Si lo considera apropiado, puede cambiar los valores mínimo y máximo utilizando los campos apropiados y, posteriormente, generar un nuevo número presionando el botón generar.

Si, por otro lado, desea obtener un número aleatorio entre dos números muy precisos directamente, realice una búsqueda en Google usando la frase como clave número aleatorio entre X e Y (p. número aleatorio entre 0 y 50 ): el resultado está garantizado!

Aplicación para generar números aleatorios

Si desea tener siempre un generador de números pseudoaleatorios disponible en su teléfono móvil o tableta, haría bien en dar una oportunidad a las aplicaciones de las que voy a hablar en esta sección: ¡confíe en mí, no se arrepentirá!

Número aleatorio (Android)

Número aleatorio es una aplicación disponible de forma gratuita en Play Store que permite, dentro de un par de toques, generar números pseudoaleatorios o realizar operaciones estrictamente conectadas a ellos (lanzamiento de datos, sorteo, cara de una moneda, etc.).

Después de descargar la aplicación, iníciela y toque el botón número para acceder al área encargada de crear números aleatorios. Una vez hecho esto, ingrese el valor mínimo y máximo del número en los campos, respectivamente de y la y, si lo desea, toque el botón en forma de engranaje para indicar si permitir o no la repetición de los mismos valores, si generar más valores en secuencia y, de ser así, cuánto retraso.

Una vez que la configuración esté completa, toque el icono flechas circulares ubicado en la parte inferior derecha para generar un número pseudoaleatorio que responde a los parámetros previamente establecidos; para generar otros números, toque nuevamente el ícono de las flechas circulares; para salir, toque flecha a la izquierda ubicado, de hecho, en la parte superior izquierda.

Rand (iOS / iPadOS)

Rand es una aplicación para iPhone e iPads, disponible gratis en App Store que, sin demasiados adornos, le permite obtener números aleatorios en un par de toques. Usarlo es muy simple: después de descargar e instalar la aplicación, iníciela y presione circulo azul colocado en el centro de la pantalla para generar inmediatamente un número pseudoaleatorio entre 0 y 100.

Si, por otro lado, prefiere personalizar los valores mínimos y máximos del número, toque el elemento ajustes, ubicado en la parte inferior de la pantalla, e indica los valores antes mencionados dentro de los campos que se le proponen. Cuando termines, toca el X ubicado en la parte superior derecha y presione el círculo azul nuevamente para generar un nuevo número.

Hasta aquí la guía sobre cómo generar números aleatorios.