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

nassimaro Messages postés 1 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 3 mai 2008 - 3 mai 2008 à 14:46
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 - 5 mai 2008 à 18:12
Bonjour,
    je cherche un programme en delphi qui génère un nombre aléatoire. Merci
A voir également:

6 réponses

Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
3 mai 2008 à 19:52
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
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
3 mai 2008 à 22:40
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 !
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
3 mai 2008 à 22:47
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 !
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
3 mai 2008 à 22:56
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 !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
5 mai 2008 à 00:03
Salut,

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

Ca n'existe pas en soft. Il faut du hard.
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
5 mai 2008 à 18:12
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 !
0
Rejoignez-nous