Générateur d'un nombre aléatoire

Signaler
Messages postés
1
Date d'inscription
samedi 3 mai 2008
Statut
Membre
Dernière intervention
3 mai 2008
-
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
-
Bonjour,
    je cherche un programme en delphi qui génère un nombre aléatoire. Merci

6 réponses

Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
Bonjour,

Touche f1 aide de ton IDE favoris (encore faut-il en avoir un! )  ,
au mieux google recherche = delphi aléatoire
1er site : http://forum.hardware.fr/hfr/Programmation/Delphi-Pascal/valeur-aleatoire-comprise-sujet_79128_1.htm

tu bouges la mollette de ta souris, tu trouves :
Avec la fonction Random et un Trunc pour le convertir en entier. Et un appel à Randomize au démarrage du programme.

De la tu sors 2 choses :
_ Aléatoire en delphi : Random
_ A chaque démarrage  Randomize  ...

Ben voila t'as réponse : Dans le OnCreate de la fiche -> un appel à Randomize

Un peu de culture après (sorti tout droit de l'aide) :

Random
     Dans le code Delphi, la fonction Random renvoie un nombre aléatoire compris dans l'étendue 0 <= X < Range. Si Range est     omis, le résultat est un nombre aléatoire réel compris dans l'étendue
    0 <= X < 1.

Maintenant tu peux le faire toi même ce programme , n'est ce pas merveilleux ?!

Ciao
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Bonjour, n'oublie pas de cliquer sur réponse acceptée !

en effet, Random est une fonction intégrée de borland, qui permet de générer un nombre aléatoire avec je ne sais plus quel algorithme (un truc du genre 12345678 * x + 1, j'avais vu ca sur un topic du forum)

Par contre Randomize ne doit s'appeller QU'UNE SEULE FOIS
Ou tu veux (le plus pratique c'est dans OnCreate)

Si tu le mets plusieurs fois (par exemple dans une boucle For-Do, il y a de fortes chances pour qu'il te ressorte souvent la même suite de nombres (j'en ai déja fait l'experience avec un sudoku ), alors penses bien à vérifier cela).

Pour donner une valeur aléatoire à une variable, tu fais

Var (type Int) := random(l'étendue dans la laquelle doit se situer le nombre [donc de 0 à ce nombre]);

Au fait, à ceux qui auraient des problèmes pour générer un nombre aléatoire pour pouvoir rendre une valeur booléenne, j'ai déjà vu des personnes faire ca :

V := random(1);
if V = 0 then Bool := False else Bool := True;

Une autre solution (parce que random(1) c'est pas pratique, et c'est peu fiable je trouve) :

V := random(1000);
Bool := Odd(V);

En fait Odd regarde si c'est un nombre impair. Donc ici vous avez franchement 50% de chances (plus on met une étendue élevée, plus on se rapproche du 50% je crois) alors que avec random(1) c'est très peu fiable (si j'en crois mon cahier de mathématiques, chapitre - taux et pourcentages de fiabilité ou un truc du genre)

Bon ok ce n'est que de la périphrase du message de Nicolas_____


Mais je préfère te le préciser, pour que tu sois vraiment au point ^^



Et n'oublie pas le bouton Réponse Acceptée !




Cordialement, Bacterius !
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Re, je viens de vérifier, les fonctions de nombres aléatoires sont obtenues à partir de l'horloge système. Excusez moi ^^
Au temps pour moi

Je vais aller tirer les oreilles à celui qui m'a enduit en erreur ^^

Cordialement, Bacterius !
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Haha c'est encore moi j'ai fait une trouvaille regardez :

Algorithme du générateur de nombres aléatoires de TurboPascal :

xn+1 =(129 * xn + 907633385) mod 2^32

Pour ceux que ca interesse ... voila le lien :

http://fr.wikipedia.org/wiki/G%C3%A9n%C3%A9rateur_congruentiel_lin%C3%A9aire

^^ En espêrant que ca aidera certains ...

Cordialement, Bacterius !
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
16
Salut,

« Générateur d'un nombre aléatoire » ?

Ca n'existe pas en soft. Il faut du hard.
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Bonjour,
apparement il est extremement difficile de créer un générateur totalement aléatoire, car il doit toujours se baser sur quelque chose. Je vais tenter d'en créer un (je dis bien tenter ^^) et on verra bien le résultat ;)
Et je pense que ce topic est clos, vu que nous avons (amplement, je crois) donné la solution à Nassimaro :)

Cordialement, Bacterius !