Vous pratiquez les langages de programmation et vous souhaitez comprendre comment générer des nombres aléatoires en les utilisant ?
Vous avez décidé d'organiser un petit concours sur votre blog et vous cherchez un service simple et efficace qui vous permette d'extraire des numéros au hasard pour élire les gagnants du concours ?
Vous souhaitez tirer au sort les participants à un projet scolaire utilisant votre ordinateur mais vous n'avez pas le temps/vouliez installer des programmes sur votre PC ?
Au cours de ce guide, on expliquera en fait comment générer des nombres aléatoires en utilisant certains des langages de programmation les plus célèbres et les plus utilisés qui existent.
En outre, on vous montrera comment obtenir le même résultat grâce à une série de sites web et d'applications pour smartphones et tablettes : Dans ces deux derniers cas, aucune connaissance informatique n'est requise.
Mais avant d'aller plus loin, il est nécessaire de clarifier un point important sur cette question : En effet, les nombres générés par les ordinateurs, les smartphones et les tablettes sont, dans la plupart des cas, à qualifier de pseudo-aléatoires.
La raison est vite dite : Ils sont créés à partir de conditions externes précises (par exemple la date et l'heure actuelles, l'état du processeur, du disque, de l'écran, le nombre de programmes installés, l'état du serveur Web, etc.) qui, même si elles sont extrêmement éloignées, peuvent être "reproduites" artificiellement pour obtenir toujours le même nombre.
Comment générer des nombres aléatoires en C
La façon la plus simple de générer des nombres aléatoires en C est d'utiliser la fonction rand() de C.
Elle permet de générer aléatoirement un nombre compris entre 0 et la constante RAND_MAX (une valeur qui, selon ANSI C, doit être supérieure ou égale à 32676).
Pour obtenir une valeur entre 0 et un nombre arbitraire (exclu), il suffit d'utiliser l'opérateur %.
Par exemple, pour obtenir un nombre aléatoire entre 0 et 101, il faut utiliser le code suivant.
Avant d'appeler cette fonction, il est cependant nécessaire de "préparer" le programme pour la génération d'un nombre pseudo-aléatoire, qui est modifié à chaque exécution du logiciel : Ce résultat est obtenu par la fonction srand (présente dans la bibliothèque standard du C, stdlib.h), qui accepte comme argument une "semence" pour la génération aléatoire du chiffre.
Pour minimiser la répétition des valeurs, vous pouvez utiliser, comme amorce, l'heure actuelle (qui peut être obtenue grâce à la fonction time() de la bibliothèque time.h).
A la lumière de ce nouveau besoin, voici comment le code vu précédemment est transformé.
Si vous préférez, vous pouvez également demander à C de générer des nombres aléatoires entre une valeur maximale et une valeur minimale à l'aide de la fonction suivante.
Enfin, si vous souhaitez obtenir un programme fonctionnel qui vous permette d'obtenir des nombres aléatoires entre deux valeurs, vous pouvez utiliser le code suivant.
Comment générer des nombres aléatoires négatifs dans C
Pour générer des nombres négatifs aléatoires en C, vous pouvez "réajuster" le code déjà vu pour C, car les fonctions à utiliser sont pratiquement les mêmes.
Il est évident que pour que le nombre soit négatif, les nombres à utiliser comme extrêmes doivent être eux-mêmes négatifs (par exemple -100 et 0, ou -98 et -15, etc.).
Vous trouverez ci-dessous un exemple de programme entièrement fonctionnel, réalisé en C .
Comment générer des nombres aléatoires à Java
Si vous avez intérêt à générer des nombres aléatoires en Java, sachez que vous pouvez procéder d'au moins deux manières différentes : En utilisant la méthode Math.random(), utile pour générer des nombres pseudo-aléatoires ; ou en utilisant la classe java.util.Random, créant un objet Random.
La méthode aléatoire()
La classe Math de Java, pour votre information, contient une grande quantité de constantes et de méthodes statiques à utiliser dans les fonctions mathématiques ; parmi elles, il y a la méthode aléatoire(), qui renvoie un nombre pseudo-aléatoire à virgule flottante compris entre 0,0 et 1,0 (à l'exclusion du second extrême) ; il va donc de soi que pour obtenir un nombre pseudo-aléatoire entier, vous devez le manipuler d'une certaine manière, en fonction du résultat que vous souhaitez obtenir.
Par exemple, vous pouvez générer une variable numCas contenant un nombre aléatoire entier, supérieur ou égal à 0 et inférieur à 101 (c'est-à-dire de 0 à 100), en utilisant la ligne de code suivante.
En élargissant la parole, vous pouvez également fixer une limite inférieure en multipliant la valeur générée par Math.random() par la différence entre la limite supérieure et la limite inférieure, puis en ajoutant cette dernière.
Si, par exemple, vous voulez obtenir un numéro pseudo-aléatoire entre 50 (inclus) et 251 (exclu), vous devrez utiliser le code suivant.
Pour votre confort, vous pouvez créer une méthode numberCas qui, à partir de deux entiers, vous permet de générer un nombre pseudo-aléatoire entre eux, extrêmes compris.
Voici, enfin, un exemple de la classe ouvrière.
import javax.swing.JFrame;
import javax.swing.JOptionPane;`
classe publique Calcoli {
public static int numeroCas (int minimo, int massimo) {
int min=minimo ;
int max=max 1 ;
int numCas = (int) (Math.random() * (max-min) min) ;
retourner numCas ;
}
public static void main(String[] args) {
int min, max, numCas ;
Chaîne s1, s2 ;
Fenêtre JFrame = nouveau JFrame ("Calculs divers") ;
s1=JOptionPane.showInputDialog("Enter minimum value") ;
min = entier.parseInt(s1) ;
s2=JOptionPane.showInputDialog("Enter maximum value") ;
max = Entier.parseInt(s2) ;
numCas = nombreCas(min,max) ;
JOptionPane.showMessageDialog (fenêtre, "Le nombre aléatoire entre " min " et " max " est " numCas ") ;
System.exit(0) ;
}
`}
La méthode nextInt()
La classe Random de la bibliothèque java.util vous permet de rendre les choses beaucoup plus faciles : Les objets de ce type ont des méthodes pour appeler des entiers aléatoires en utilisant la méthode nextInt().
On vous montre ci-dessous une utilisation typique de cette classe.
Dans ce cas, un nombre entier pseudo-aléatoire, positif ou négatif, sera généré. Si, en revanche, vous souhaitez générer un entier positif entre 0 (inclus) et une valeur maximale (exclu), vous pouvez passer cette dernière valeur en argument à la méthode nextInt().
Comment générer des nombres aléatoires sur Excel
Vous me demandez comment générer des nombres aléatoires sur Excel ?
Croyez-moi, c'est si facile ! En fait, il existe une fonction très spécifique, appelée CASUAL(), qui permet de générer des nombres pseudo-aléatoires entre 0 et 1 (exclus).
En faisant attention, vous pouvez faire en sorte que cette fonction renvoie un nombre aléatoire entier.
Comment ?
On va vous l'expliquer tout de suite.
Tout d'abord, localisez la cellule qui doit contenir le nombre aléatoire et tapez la formule =CASUAL()*100, si vous souhaitez obtenir un nombre aléatoire compris entre 0 (inclus) et 100 (exclu), ou =INT(CASUAL()*100) si vous souhaitez afficher uniquement des nombres entiers.
Encore plus pratique, la fonction CASUAL.TRA(minor;major) permet d'obtenir des nombres aléatoires entre une valeur minimale et une valeur maximale ; les deux paramètres peuvent être positifs ou négatifs. Par exemple, si vous entrez la formule = CASUAL.BETWEEN(10;50) dans la cellule qui vous intéresse, vous obtiendrez un nombre entier entre 10 et 50.
La cellule contenant le nombre aléatoire sera automatiquement mise à jour lorsque la feuille de calcul sera recalculée, ou en entrant une formule ou des données dans une autre cellule.
Pour effectuer le recalcul manuel, appuyez plutôt sur la touche F9 du clavier (toutes les cellules contenant des valeurs générées aléatoirement seront recalculées).
La procédure est disponible dans toutes les versions d'Excel, y compris mobile et en ligne.
Comment générer des nombres aléatoires en ligne
Vous avez un besoin urgent d'obtenir un ou plusieurs numéros aléatoires mais vous n'avez aucun moyen, pour des raisons de connaissance ou de possibilité, d'utiliser un des systèmes qu'on a indiqués dans ce guide ?
Ne vous inquiétez pas, on a ce qu'il vous faut.
En fait, il existe des sites web qui vous permettent de générer des nombres aléatoires en ligne en quelques secondes, totalement gratuitement et en utilisant n'importe quel navigateur disponible.
L'un d'eux, par exemple, est Random.org, un site web très célèbre qui promet de générer des nombres aléatoires basés sur le soi-disant "bruit atmosphérique", donc non attribuables à un algorithme mathématique prédéterminé.
Pour l'utiliser, connectez-vous à sa page d'accueil, repérez la case True Random Number Generator (située sur la droite) et, à l'aide des champs Min et Max, indiquez les chiffres entre lesquels votre numéro aléatoire doit être inclus (par exemple entre 0 et 50).
Lorsque vous avez terminé, cliquez sur le bouton Générer et vous avez terminé : le numéro qui vous intéresse s'affichera, dans quelques instants, sous Résultat.
Un autre moyen agréable (et immédiat) d'obtenir des nombres aléatoires par le biais du bowser est d'utiliser le générateur inclus dans Google : Oui, vous avez bien compris, le fameux moteur de recherche vous permet de faire ce type de calcul presque immédiatement !
En pratique, il suffit de se connecter à la page principale de Google, de taper le mot "nombres aléatoires" dans le champ de recherche et d'appuyer sur le bouton de la loupe pour le lancer.
Après quelques instants, vous devriez voir un panneau contenant, par défaut, un nombre aléatoire entre 1 et 10.
Si vous le jugez approprié, vous pouvez modifier les valeurs minimales et maximales en utilisant les champs appropriés, puis générer un nouveau nombre en appuyant sur le bouton Générer.
Si vous souhaitez obtenir directement un nombre aléatoire entre deux nombres spécifiques, faites une recherche sur Google en utilisant, comme clé, l'expression nombre aléatoire entre X et Y (par exemple nombre aléatoire entre 0 et 50) : Le résultat est garanti !
Application permettant de générer des nombres aléatoires
Si vous voulez toujours avoir un générateur de numéros pseudo-aléatoires sur votre smartphone ou tablette, vous feriez mieux de donner une chance aux applications dont on va vous parler dans cette section : Croyez-moi, vous ne le regretterez pas !
Numéro aléatoire (Android)
Le numéro aléatoire est une application disponible gratuitement sur le Play Store qui permet, en quelques coups, de générer des numéros pseudo-aléatoires ou d'effectuer des opérations qui leur sont étroitement liées (lancer de données, tirage, face de pièce, etc.).
Après avoir téléchargé l'application, lancez-la et appuyez sur le bouton Numéro pour accéder à la zone de création de numéros aléatoires.
Une fois cela fait, entrez la valeur minimale et maximale du nombre dans les champs De et À, respectivement, et, si vous le souhaitez, appuyez sur le bouton en forme de roue dentée pour indiquer si vous autorisez ou non la répétition des mêmes valeurs, si vous devez générer plusieurs valeurs en séquence et, si oui, quel est le délai.
Lorsque vous avez terminé vos réglages, tapez sur l'icône en forme de flèche circulaire située en bas à droite pour générer un nombre pseudo-aléatoire qui correspond aux paramètres précédemment définis ; pour générer d'autres nombres, tapez à nouveau sur l'icône en forme de flèche circulaire ; pour quitter, tapez sur la flèche de gauche située en haut à gauche.
Rand (iOS/iPadOS)
Rand est une application pour iPhone et iPad disponible gratuitement sur l'App Store qui, sans trop de fioritures, permet d'obtenir des chiffres aléatoires en quelques tapes. Son utilisation est très simple : après avoir téléchargé et installé l'application, lancez-la et appuyez sur le cercle bleu au centre de l'écran pour générer immédiatement un nombre pseudo-aléatoire entre 0 et 100.
Si, en revanche, vous préférez personnaliser les valeurs minimales et maximales du nombre, tapez sur l'élément Paramètres, situé en bas de l'écran, et indiquez ces valeurs dans les champs proposés.
Lorsque vous avez terminé, appuyez sur le X en haut à droite de l'écran et appuyez à nouveau sur le cercle bleu pour générer un nouveau chiffre.