OVH Cloud OVH Cloud

Générateur de nombres aléatoire ?

132 réponses
Avatar
eric.hamery
Générateur de nombres aléatoire ?

j'en cherche un pour le faire fonctionner sur mon iMac... un générateur
avec des options comme le nombre de numeros, de combien a combien...

dans le style : 6 numeros, de 1 a 49...

quelqu'un a une sujestion a me faire ???

merci par avance pour tuyaux...

même payant si il n'est pas trop chere, je cherche quelque chose
d'abouti...


















--
\ / Mes Services - http://www.metamaitre.com
--o-- Forum "Méta-Science" - http://www.meta-science-forum.info/
/ \ <08-D<X=8 - Il doit bien y avoir... http://minilien.fr/a0pn0y
>>>------------------------> La Vie Est Belle <----------------------<<<

10 réponses

Avatar
eric.hamery
Joseph-B wrote:

j'ai copier le script masi il bloque a cause de ça :

" *)"


end repeat
end mesTirages
























--
/ Mes Services - http://www.metamaitre.com
--o-- Forum "Méta-Science" - http://www.meta-science-forum.info/
/ <08-D<X=8 - Il doit bien y avoir... http://minilien.fr/a0pn0y
------------------------> La Vie Est Belle <----------------------<<<
Avatar
eric.hamery
Joseph-B wrote:

ça ne peut ressortir que 0,1,2,3
Pas sûr que ce soit satisfaisant dans le cadre d'incantations magiques,
mais c'est rationnellement correcte.
Cordialement,



rien n'est du au hasard en science occulte, le fait de proceder de cette
maniere est prevu par la providance...






















--
/ Mes Services - http://www.metamaitre.com
--o-- Forum "Méta-Science" - http://www.meta-science-forum.info/
/ <08-D<X=8 - Il doit bien y avoir... http://minilien.fr/a0pn0y
------------------------> La Vie Est Belle <----------------------<<<
Avatar
michel.vauquois
Joseph-B wrote:

j'hésite à mettre un FU2 pour fr.comp.sys.mac.programmation
qui est bien moribond…

Fleuger wrote:
> c'est autre chose que mes copiés/collés de bouts de sripts



f

> Il y a eu une demande de tirage entre 0 et 77.
> Dans ce zéro, je pense par exemple à une demande de consultation à un
> oracle où il n'y aurait pas de réponse.

0 à 77, bon ça fait 78 objets.
Mais le pb n'est pas là, tel qu'écrit le script n'envisageait pas
l'hypothèse qu'un tirage puisse être "blanc"
Le faire est certainement compliqué en tant qu'algorithme, mais en plus
introduirait un biais par avance dans l'aléa : par quel critère /qui
doit être non ingérent/ va-t-on décider que le tirage est "blanc" ?
S'il y a une solution simple, je ne la vois pas…

> Je me suis dit qu'il faudrait ajouter un "+ 1" quelque part, mais je
> patine...

Du fait que zéro ne peut être une borne, il faut tricher en retranchant
1 au résultat du tirage, ce qui ne modifie pas l'aléa.
Et ça peut se faire comme ça, par exemple pour 4 "boules" numérotées
0,1,2,3
annoncer 4 pour "Combien de numéros au total", ce qu'on veut de 1 à 4
pour "combien de numéros à tirer"
et dans le script apporter la modification

•••••••••••••
set tempNb to random number from 1 to boules
if (tempNb - 1) is not in myLoto then
copy (tempNb - 1) to the end of myLoto
exit repeat
end if
•••••••••••••

ça ne peut ressortir que 0,1,2,3
Pas sûr que ce soit satisfaisant dans le cadre d'incantations magiques,
mais c'est rationnellement correcte.
Cordialement,




--
Michel Vauquois
Que Dieu vous garde... Moi j'ai pas le temps (RD)
MàJ 2015 : <http://michelvauquois.free-h.fr>
Matière à voir : <http://matiere-a-voir.michelvauquois.free-h.fr>
Avatar
michel.vauquois
Joseph-B wrote:

Comme je n'ai pas la science infuse, j'ai commencé exactement comme toi,
en m'inspirant de ce qui existait, mais il y a probablement plus
longtemps ;-)



C'est cela, oui...

J'arrive pas à récupérer les données précédemment entrées... ;-) J'ai dû
rater quelque chose avec mes properties : tu me corrigeras !

Le script ci-dessous demande la borne inférieure (0 ou 1 ou 2 ou 3... ),
la borne supérieure (la fenêtre de dialogue indique le minimum à entrer)
et le nombre de tirages souhaitées (la fenêtre de dialogue indique le
nombre max de tirages possibles : c'est borne sup - borne inf + 1)

J'ai supposé que l'utilisateur n'était pas complètement con donc qu'il
n'entrait que des entiers.

**********
property plancher : 0
property plafond : 0
property nbTirages : 0
mesTirages()

on mesTirages()
repeat
set nb_min to {text returned} of (display dialog "Quel est le numéro le plus bas ?" default answer "" buttons {"OK"} default button 1)
set nb_num_total to {text returned} of (display dialog "Quel est le numéro le plus haut ? N.B. Ce numéro doit être supérieur ou égal à " & nb_min default answer "" buttons {"OK"} default button
1)
set amplitude to nb_num_total - nb_min + 1
set nb_num to {text returned} of (display dialog "Combien de numéros à tirer ? N.B. Ce nombre doit être inférieur ou égal à " & amplitude default answer "" buttons {"OK"} default button 1)
if nb_num ≤ amplitude then
set plancher to nb_min as integer
set plafond to nb_num_total as integer
set nbTirages to nb_num as integer
set myLoto to {}
repeat nbTirages times
repeat
set tempNb to random number from plancher to plafond
if tempNb is not in myLoto then
copy tempNb to the end of myLoto
exit repeat
end if
end repeat
end repeat
myLoto
set text item delimiters to {" ; "}
display dialog myLoto as text buttons {"OK"} default button 1
end if
if nb_num > amplitude then
display dialog "Il est impossible de choisir " & nb_num & " numéros parmi " & nb_num_total + 1 & " numéros !" as text buttons {"OK"} default button 1
end if
display dialog "Voulez-vous faire un autre tirage ?" as text buttons {"Non", "Oui"} default button 2 cancel button 1

end repeat
end mesTirages
**********
--
Michel Vauquois
Que Dieu vous garde... Moi j'ai pas le temps (RD)
MàJ 2015 : <http://michelvauquois.free-h.fr>
Matière à voir : <http://matiere-a-voir.michelvauquois.free-h.fr>
Avatar
michel.vauquois
M.V. wrote:

Le script ci-dessous demande la borne inférieure (0 ou 1 ou 2 ou 3... ),
la borne supérieure (la fenêtre de dialogue indique le minimum à entrer)
et le nombre de tirages souhaitées (la fenêtre de dialogue indique le
nombre max de tirages possibles : c'est borne sup - borne inf + 1)

J'ai supposé que l'utilisateur n'était pas complètement con donc qu'il
n'entrait que des entiers.



Petite correction à la fin.
Faudrait aussi rajouter quelques lignes si borne sup < borne inf...
**********
property plancher : 0
property plafond : 0
property nbTirages : 0
mesTirages()

on mesTirages()
repeat
set nb_min to {text returned} of (display dialog "Quel est le numéro le plus bas ?" default answer "" buttons {"OK"} default button 1)
set nb_num_total to {text returned} of (display dialog "Quel est le numéro le plus haut ? N.B. Ce numéro doit être supérieur ou égal à " & nb_min default answer "" buttons {"OK"} default button 1)
set amplitude to nb_num_total - nb_min + 1
set nb_num to {text returned} of (display dialog "Combien de numéros à tirer ? N.B. Ce nombre doit être inférieur ou égal à " & amplitude default answer "" buttons {"OK"} default button 1)
if nb_num ≤ amplitude then
set plancher to nb_min as integer
set plafond to nb_num_total as integer
set nbTirages to nb_num as integer
set myLoto to {}
repeat nbTirages times
repeat
set tempNb to random number from plancher to plafond
if tempNb is not in myLoto then
copy tempNb to the end of myLoto
exit repeat
end if
end repeat
end repeat
myLoto
set text item delimiters to {" ; "}
display dialog myLoto as text buttons {"OK"} default button 1
end if
if nb_num > amplitude then
display dialog "Il est impossible de choisir " & nb_num & " numéros parmi " & amplitude & " numéros !" as text buttons {"OK"} default button 1
end if
display dialog "Voulez-vous faire un autre tirage ?" as text buttons {"Non", "Oui"} default button 2 cancel button 1

end repeat
end mesTirages
**********
--
Michel Vauquois
Que Dieu vous garde... Moi j'ai pas le temps (RD)
MàJ 2015 : <http://michelvauquois.free-h.fr>
Matière à voir : <http://matiere-a-voir.michelvauquois.free-h.fr>
Avatar
michel.vauquois
M.V. wrote:

J'arrive pas à récupérer les données précédemment entrées...



Toujours pas...

Le script ci-dessous demande la borne inférieure (0 ou 1 ou 2 ou 3... ),
la borne supérieure (la fenêtre de dialogue indique le minimum à entrer)
et le nombre de tirages souhaitées (la fenêtre de dialogue indique le
nombre max de tirages possibles : c'est borne sup - borne inf + 1)



Mais maintenant il autorise de se tromper (soit de donner une
borne sup < borne inf soit de donner un nombre de tirages trop grand),
une fois... donc ne pas hésiter à se tromper une 2ème fois (il y a besoin
de la voix Thomas).

J'ai supposé que l'utilisateur n'était pas complètement con donc qu'il
n'entrait que des entiers.



Ici aussi.

**********
property plancher : 0
property plafond : 0
property nbTirages : 0
mesTirages()

on mesTirages()
repeat
set nb_min to {text returned} of (display dialog "Quel est le numéro le plus bas ?" default answer "" buttons {"OK"} default button 1)
set nb_num_total to {text returned} of (display dialog "Quel est le numéro le plus haut ? N.B. Ce numéro doit être supérieur ou égal à " & nb_min default answer "" buttons {"OK"} default button 1)
if nb_num_total < nb_min then
display dialog "Vous êtes mal-comprenant ? Je vous ai dit de taper un nombre supérieur ou égal à " & nb_min & ". On recommence ?" as text buttons {"Non", "Oui"} default button 2 cancel button 1
set nb_num_total to {text returned} of (display dialog "Quel est le numéro le plus haut ? N.B. Ce numéro doit être supérieur ou égal à " & nb_min default answer "" buttons {"OK"} default button 1)
if nb_num_total < nb_min then
say "vous êtes un conar" using "thomas"
display dialog "Vous êtes vraiment con : je vous ai dit de taper un nombre supérieur ou égal à " & nb_min & " et ça fait 2 fois que vous faites le contraire..." as text buttons {"Désolé"} default button 1 cancel button 1
end if
end if
set amplitude to nb_num_total - nb_min + 1
set nb_num to {text returned} of (display dialog "Combien de numéros à tirer ? N.B. Ce nombre doit être inférieur ou égal à " & amplitude default answer "" buttons {"OK"} default button 1)
if nb_num > amplitude then
display dialog "Vous êtes mal-comprenant ? Je vous ai dit de taper un nombre inférieur ou égal à " & amplitude & ". On recommence ?" as text buttons {"Non", "Oui"} default button 2 cancel button 1
set nb_num to {text returned} of (display dialog "Quel est le numéro le plus haut ? N.B. Ce numéro doit être inférieur ou égal à " & amplitude default answer "" buttons {"OK"} default button 1)
if nb_num > amplitude then
say "vous êtes un conar" using "thomas"
display dialog "Vous êtes vraiment con : je vous ai dit de taper un nombre inférieur ou égal à " & amplitude & " et ça fait 2 fois que vous faites le contraire..." as text buttons {"Désolé"} default button 1 cancel button 1
end if
end if
if nb_num ≤ amplitude then
set plancher to nb_min as integer
set plafond to nb_num_total as integer
set nbTirages to nb_num as integer
set myLoto to {}
repeat nbTirages times
repeat
set tempNb to random number from plancher to plafond
if tempNb is not in myLoto then
copy tempNb to the end of myLoto
exit repeat
end if
end repeat
end repeat
myLoto
set text item delimiters to {" ; "}
display dialog myLoto as text buttons {"OK"} default button 1
end if
-- if nb_num > amplitude then
-- display dialog "Il est impossible de choisir " & nb_num & " numéros parmi " & amplitude & " numéros !" as text buttons {"OK"} default button 1
-- end if
display dialog "Voulez-vous faire un autre tirage ?" as text buttons {"Non", "Oui"} default button 2 cancel button 1
end repeat
end mesTirages
**********
--
Michel Vauquois
Que Dieu vous garde... Moi j'ai pas le temps (RD)
MàJ 2015 : <http://michelvauquois.free-h.fr>
Matière à voir : <http://matiere-a-voir.michelvauquois.free-h.fr>
Avatar
michel.vauquois
M.V. wrote:

Le script ci-dessous demande la borne inférieure (0 ou 1 ou 2 ou 3... ),
la borne supérieure (la fenêtre de dialogue indique le minimum à entrer)
et le nombre de tirages souhaitées (la fenêtre de dialogue indique le
nombre max de tirages possibles : c'est borne sup - borne inf + 1)

J'ai supposé que l'utilisateur n'était pas complètement con donc qu'il
n'entrait que des entiers.



Petite correction à la fin.
Faudrait aussi rajouter quelques lignes si borne sup < borne inf...
**********
property plancher : 0
property plafond : 0
property nbTirages : 0
mesTirages()

on mesTirages()
repeat
set nb_min to {text returned} of (display dialog "Quel est le numéro le plus bas ?" default answer "" buttons {"OK"} default button 1)
set nb_num_total to {text returned} of (display dialog "Quel est le numéro le plus haut ? N.B. Ce numéro doit être supérieur ou égal à " & nb_min default answer "" buttons {"OK"} default button 1)
if nb_num_total < nb_min then
display dialog "Vous êtes mal-comprenant ? Je vous ai dit de taper un nombre supérieur ou égal à " & nb_min & ". On recommence ?" as text buttons {"Non", "Oui"} default button 2 cancel button 1
set nb_num_total to {text returned} of (display dialog "Quel est le numéro le plus haut ? N.B. Ce numéro doit être supérieur ou égal à " & nb_min default answer "" buttons {"OK"} default button 1)
if nb_num_total < nb_min then
say "vous êtes un conar" using "thomas"
display dialog "Vous êtes vraiment con : je vous ai dit de taper un nombre supérieur ou égal à " & nb_min & " et ça fait 2 fois que vous faites le contraire..." as text buttons {"Désolé"} default button 1 cancel button 1
end if
end if
set amplitude to nb_num_total - nb_min + 1
set nb_num to {text returned} of (display dialog "Combien de numéros à tirer ? N.B. Ce nombre doit être inférieur ou égal à " & amplitude default answer "" buttons {"OK"} default button 1)
if nb_num > amplitude then
display dialog "Vous êtes mal-comprenant ? Je vous ai dit de taper un nombre inférieur ou égal à " & amplitude & ". On recommence ?" as text buttons {"Non", "Oui"} default button 2 cancel button 1
set nb_num to {text returned} of (display dialog "Quel est le numéro le plus haut ? N.B. Ce numéro doit être inférieur ou égal à " & amplitude default answer "" buttons {"OK"} default button 1)
if nb_num > amplitude then
say "vous êtes un conar" using "thomas"
display dialog "Vous êtes vraiment con : je vous ai dit de taper un nombre inférieur ou égal à " & amplitude & " et ça fait 2 fois que vous faites le contraire..." as text buttons {"Désolé"} default button 1 cancel button 1
end if
end if
if nb_num ≤ amplitude then
set plancher to nb_min as integer
set plafond to nb_num_total as integer
set nbTirages to nb_num as integer
set myLoto to {}
repeat nbTirages times
repeat
set tempNb to random number from plancher to plafond
if tempNb is not in myLoto then
copy tempNb to the end of myLoto
exit repeat
end if
end repeat
end repeat
myLoto
set text item delimiters to {" ; "}
display dialog myLoto as text buttons {"OK"} default button 1
end if
-- if nb_num > amplitude then
-- display dialog "Il est impossible de choisir " & nb_num & " numéros parmi " & amplitude & " numéros !" as text buttons {"OK"} default button 1
-- end if
display dialog "Voulez-vous faire un autre tirage ?" as text buttons {"Non", "Oui"} default button 2 cancel button 1

end repeat
end mesTirages
**********
--
Michel Vauquois
Que Dieu vous garde... Moi j'ai pas le temps (RD)
MàJ 2015 : <http://michelvauquois.free-h.fr>
Matière à voir : <http://matiere-a-voir.michelvauquois.free-h.fr>
Avatar
g4fleurot
M.V. wrote:

Facile :



OK ! ça marche : Je n'ai pas été assez perspicace ;-(

Mais... il faudrait alors reprendre entièrement le script pour demander la
plage des numéros à tirer (le numéro le plus bas et le numéro le plus
haut) car le script modifié comme ci-dessus ne va plus aller si le numéro
le plus bas est 1...



Oui, toutafé.


--
Gérard FLEUROT plus un
Avatar
g4fleurot
Joseph-B wrote:
j'hésite à mettre un FU2 pour fr.comp.sys.mac.programmation
qui est bien moribond…



On n'est pas vraiment hors sujet, et puis vu l'activité du groupe, je ne
trouve pas que ce soit gênant sauf quand ça dérive vers les aspects non
informatiques du hasard.

Comme je n'ai pas la science infuse, j'ai commencé exactement comme toi,
en m'inspirant de ce qui existait, mais il y a probablement plus
longtemps ;-)



Et oui, mais maintenant, mon intellect et ma mémoire ne sont plus très
malléables.
Ce que j'aurais réussi à faire aujourd'hui, je serai obligé de tout
redécouvrir la semaine prochaine. ;-(

Je viens de ressortir un document de 97 réalisé avec des macros XL.

Il se trouve qu'après n'avoir plus fonctionné avec XL du début du siècle
(2004 ?), XL 2011 sait lire les vieilles macros.
Je voudrais les convertir en VBA, mais je ne me souviens plus de tout ce
que les macros étaient sensées faire (même en les lisant).
Alors...


--
Gérard FLEUROT plus un
Avatar
michel.vauquois
M.V. wrote:

> J'ai



Si ce post apparaît, ne pas en tenir compte...
--
Michel Vauquois
Que Dieu vous garde... Moi j'ai pas le temps (RD)
MàJ 2015 : http://michelvauquois.free-h.fr/