Il sagit de la fonction Alea()

Fermé
1modesty - 25 janv. 2009 à 19:19
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 25 janv. 2009 à 20:26
Bonjour,tous le monde

il ça fait des heurs que je me casse la tete avec la fonction prédifinit Alea() mais j'arrive pas toujour
a comprendre comment il fonctionne ou comment l'utiliser
alors si quelqu'un peut m'aider je serais tres reconnaissante et merciiiiiiiiiiiiiiii d'avance

1 réponse

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
25 janv. 2009 à 20:26
Salut,

La fonction Alea te donne un nombre aléatoire entre 0 et 1 (soit 0 le minimum et 1 le maximum)

Mais tu veux peut être obtenir par exemple un nombre aléatoire entre 10 et 100

En ce cas le minimum sera 10 et le maximum sera 100 (le nombre de décimales c'est à toi de le choisir)

Pour obtenir le minimum de 10 on suppose que Alea renvoie 0 (le minimum), donc, on peut faire
minimum*X + 10 = 10 (pour l'instant je ne connais pas X, mais je sais que le minimum est 0, et comme la multiplication avec zéro est toujours zéro)

Pour obtenir le maximum de 100 (en appliquant la même formule mais cette fois avec maximum*X + 10, vu que je veux obtenir la limite max ), on doit faire
1*X + 10 = 1 * 90 + 10 = 100 (pourquoi X=90?, puisque au début j'ai dit qu'on veut obtenir un nombre aléatoire entre 10 et 100 - donc on a une équation de 1er degré )

Récapitulons

- minimum 10
0*X + 10 = 10 mets on peut écrire
0*90 + 10 = 10 - minimum

- maximum 100
1*90 + 10 = 100 -maximum

En ce cas on peut écrire
Alea() * 90 + 10
ou encore
Alea()*(100 - 10) + 10

donc on peut écrire une formule générale pour obtenir un nombre aléatoire entre A et B
Alea()*(B-A) + A
0