[R] Code pour avoir un numéros aléatoire

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
aviations
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mer. 02 juin 2010 13:52
Status : Hors ligne

[R] Code pour avoir un numéros aléatoire

#1

Message par aviations »

Bonsoir, je suis débutant en codage autoit et sa fait très longtemps que j ai pas codé donc je vous demande de l aide :

Je souhaiterais faire un petit programme qui serre a trouver un numéros aléatoire qui est entre 2 numéros qui sont dans des inputs j ai commencer a faire la GUI et je suis carrément bloquer au codage ...

Voila ma GUI :

Code : Tout sélectionner

#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=C:\Users\kevin\Downloads\koda_2007-12-15\Forms\Form11.kxf
$Form1 = GUICreate("Form1", 206, 199, 279, 238)
$Group1 = GUICtrlCreateGroup("Choix Distance", 8, 0, 185, 105)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$ChoixMini = GUICtrlCreateInput("1", 133, 28, 49, 20)
GUICtrlSetLimit(-1, 2)
$ChoixMaxy = GUICtrlCreateInput("2", 133, 60, 49, 20)
GUICtrlSetLimit(-1, 2)
$Label1 = GUICtrlCreateLabel("Planet Mini :", 21, 28, 102, 24)
$Label2 = GUICtrlCreateLabel("Planet Maxy :", 21, 60, 110, 24)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Go = GUICtrlCreateButton("Go", 64, 120, 75, 25, 0)
$Resultat = GUICtrlCreateInput("", 56, 160, 89, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
            
    EndSwitch
WEnd
 
Merci d'avance à tout les gens qui vont m'aider
Modifié en dernier par aviations le lun. 13 juin 2011 13:46, modifié 2 fois.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..]

#2

Message par matwachich »

Voila votre script, mais faudrait mettre un titre à votre message, sinon vous allez vous faire botter les fesses par le big bosse lol!

Code : Tout sélectionner

#include <GUIConstants.au3>
#include <EditConstants.au3>

#Region ### START Koda GUI section ### Form=C:\Users\kevin\Downloads\koda_2007-12-15\Forms\Form11.kxf
$Form1 = GUICreate("Form1", 206, 199, 279, 238)
$Group1 = GUICtrlCreateGroup("Choix Distance", 8, 0, 185, 105)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$ChoixMini = GUICtrlCreateInput("1", 133, 28, 49, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 2)
$ChoixMaxy = GUICtrlCreateInput("2", 133, 60, 49, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 2)
$Label1 = GUICtrlCreateLabel("Planet Mini :", 21, 28, 102, 24)
$Label2 = GUICtrlCreateLabel("Planet Maxy :", 21, 60, 110, 24)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Go = GUICtrlCreateButton("Go", 64, 120, 75, 25, 0)
$Resultat = GUICtrlCreateInput("", 56, 160, 89, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Go
            _NombreAleatoire()
           
    EndSwitch
WEnd

Func _NombreAleatoire()
    Local $min = GuiCtrlRead($ChoixMini)
    Local $max = GuiCtrlRead($ChoixMaxy)
    ; ---
    ; pour des nombres entier uniquement, rajouté le flag correspondant
    ; à la fonction Random (voir l'aide)
    Local $nbrMaxApresLaVirgule = 5
    Local $entiersUniquement = 0
    ; ---
    Local $nbrAleatoire = Random($min, $max, $entiersUniquement)
    $nbrAleatoire = Round($nbrAleatoire, $nbrMaxApresLaVirgule)
    ; ---
    GuiCtrlSetData($Resultat, $nbrAleatoire)
EndFunc
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
aviations
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mer. 02 juin 2010 13:52
Status : Hors ligne

Re: [..]

#3

Message par aviations »

Oui je viens de le remarquer merci beaucoup je testerais sa demain et je vais mettre un titre de ce pas
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Code pour avoir un numéros aléatoire

#4

Message par pierrotm777 »

J'avais trouvé deux petites fonction sur le forum us afin d'améliorer la fonction Random()

La première utilise internet:
► Afficher le texte
► Afficher le texte
aviations
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mer. 02 juin 2010 13:52
Status : Hors ligne

Re: [..] Code pour avoir un numéros aléatoire

#5

Message par aviations »

Merci à vous.

Le code de
matwachich
satisfait mes attente.

Donc merci encore et bonne journée
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Code pour avoir un numéros aléatoire

#6

Message par jchd »

@pierrotm777,
Ta seconde fonction revient à accéder successivement à chaque élément d'une permutation de $min à $max choisie pseudo-aléatoirement.
Le principe que cette implémentation emploie est terriblement inefficace.
L'algorithme à employer pour obtenir une permutation pseudo-aléatoire est celui-ci :
► Afficher le texte
Un tirage de type loto peut utiliser ces fonctions :
► Afficher le texte
Pour information, la fonction Random() d'AutoIt est une excellente fonction pseudo-aléatoire qu'il n'y a pas lieu de remplacer par une fonction externe et très lente dans l'immense majorité des cas.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Code pour avoir un numéros aléatoire

#7

Message par pierrotm777 »

Bonjour,
Merci de votre avis que je prends en considération.

J'avais simplement testé la fonction random sur un min max de 1 à 100 et trouvé que le résultat était souvent le même.
Cette fonction Random est surement plus efficace avec un min max plus grand, non ?
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Code pour avoir un numéros aléatoire

#8

Message par jchd »

Souvent le même ?
Je demande à voir un test statistique qui différencie la sortie pseudo-aléatoire de Random() d'AutoIt d'un tirage aléatoire vrai. AMTHA c'est assez cher.
Source
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Répondre