Programmer avec le langage Linotte
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Programmer avec le langage LinotteConnexion

Besoin d'un conseil sur la programmation en Linotte ?


descriptionbeug pour le choix au hasard Emptybeug pour le choix au hasard

more_horiz
Salut,
je crois avoir trouvé un beug:

quand on dit à Linotte de mélanger un nombre valant 100, elle le mélange.

Mais si on lui dit de le mélanger 5 fois ou plus, on voit que ce nombre se réduit, pour, au bout de 10 fois, devenir 0.

Ca m'embête car en ce moment, je travaille sur EuroMillions Version Linotte et il faudrait que ce beug soit corrigé^^

descriptionbeug pour le choix au hasard Emptybeug pour le choix au hasard

more_horiz
je ne pense pas que cela soit un bug mais plutôt une affaire de statistiques. Quand tu mélanges un nombre, Linotte en choisit au hasard entre 0 et le nombre initial ( sauf le nombre initial ) donc au fur et à mesure des mélanges , cela se réduit tellement que tu tombe presque tout le temps sur 0.

en fait , avec un nombre initial à 100 et 10 mélanges :

cela peut donner : 99 - 98 - 97 - 96 - 95 - 94 - 93 - 92 - 91 - 90 - puis enfin 89
si tu as beaucoups de chance ! mais tu n'as qu'une chance sur environ 100000000000000000000 !

cela peut aussi te donner 88 mais tu n'as alors que onze chances sur 100000000000000000000..

etc. jusqu'à 0 où le nombre de chances est bien plus grand et que je ne calculerai pas.... ^^



pour te endre compte du processus, essaie ce livre :

livre : mélanges
paragraphe : p1
les rôles :
x est un nombre avec 100
les actions :
efface le tableau

mélange x (1)
affiche x

mélange x (2)
affiche x

mélange x (3)
affiche x

mélange x (4)
affiche x

mélange x (5)
affiche x

mélange x (6)
affiche x

mélange x (7)
affiche x

mélange x (Cool
affiche x

mélange x (9)
affiche x

mélange x (10)
affiche x

termine

cela t'afficheras les différentes étapes de mélanges et tu t'appercevra que c'est normal que ton nombre vale tout le temps 0 à la fin des mélanges.

NB1 : au bout d'une cinquantaine d'essais , j'ai réussi à avoir le dizième nombre non-pas égal à 0 mais à 1 !!! voici les étapes des différents mélanges successifs : 55 - 50 - 43 - 23 - 14 - 10 - 4 - 3 - 2 - 1
on peut remarquer aussi qu'à partir du moment où le nombre donné est 4 , il a fallu plusieurs coincidences pour que cela donne 3 puis 2 puis 1 alors que cela aurait pu donner tout de suite 1 ou 0 , le résultat final aurait été encore une fois 0..

NB2 : si je m'attarde sur le sujet c'est que j'ai été moi-aussi confronté à ce problème.

NB3 : pour ton livre , tu peux dire qu'on gagne le gros lot si le tirage donne un nombre au-dessus de 5 , ne t'inquiète pas ! c'est quasi-impossible alors qu'on pourrait se dire que l'on a 95 % de chances de gagner !

descriptionbeug pour le choix au hasard Emptybeug pour le choix au hasard

more_horiz
Salut, merci <img src=" title="Smile" />

Mais... je pense qu'une fonction de Linotte pourrait corriger ce problème. il faudra demander à Ronan :p .

La fonction pourrait être:
"une fois que les statistiques du mélange baissent, tu réinitialises ces statistiques"


Autrement, je trouve très intéressent de s'intéresser à ça. C'est pourquoi je souhaite continuer à parler de ce sujet <img src=" title="Smile" />

Peut-être que ce que je vais dire ne sont que des coïncidences... mais bon... faut essayer ^^

55_50
14_10
On peut remarquer que le dernier nombre finit par zéro...

43-23 = 20, encore un zéro.

Ce qui veut dire que... heu... je ne sais pas...^^

descriptionbeug pour le choix au hasard Emptybeug pour le choix au hasard

more_horiz
Plus sérieusement (c'est pour ça que je ne modifie pas mon ancien message^^) j'ai découvert quelque chose de bizarre.

J'utilise la version de linotte 4.5.0
J'ai copié/collé ton script.
J'ai cliké sur Lire.
Et Linotte a tout de suite mis plusieurs 0...

Je te laisse voir:


SCRIPT:


livre : mélanges
paragraphe : p1
les rôles :
x est un nombre avec 100
les actions :
efface le tableau

mélange x (1)
affiche x

mélange x (2)
affiche x

mélange x (3)
affiche x

mélange x (4)
affiche x

mélange x (5)
affiche x

mélange x (6)
affiche x

mélange x (7)
affiche x

mélange x (Cool
affiche x

mélange x (9)
affiche x

mélange x (10)
affiche x

termine



AFFICHAGE DANS LE TABLEAU:

93
48
42
29
1
0
0
0
0
0

_________


13
8
1
0
0
0
0
0
0
0

__________
68
55
45
37
14
5
1
0
0
0



NB: parfois, il peut y avoir que des zéros.
des fois, il peut y avoir que des numéros...
C'est bizarre...

Ah, et aussi...
"Mélange" doit mélanger le nombre 0 jusqu'au nombre donné. ^^

descriptionbeug pour le choix au hasard Emptybeug pour le choix au hasard

more_horiz
En fait, j'ai fait ça pour t'expliquer qu'il n'y a rien de bizarre...

par exemple pour la deuzième série:
au premier mélange, Linotte a choisi un nombre au hasard entre 0 et 100 et différent de 100, ici ça a donné 13
puis Linotte a choisi un nombre entre 0 et 13 et différent de 13. Ici ça a donné 8
ensuite Linotte a choisi un nombre entre 0 et 8 et différent de 8, ça a donné 1

maintenant , il n'y a plus de hasard du tout !
Linotte choisit un nombre entre 0 et 1 et différent de 1 donc ça ne peut être que 0
après Linotte ne peut choisir que 0 ( puisque 0 est le seul nombre a etre situé entre 0 et 0 ) donc tu ne voit que des 0

je ne pense pas qu'une nouvelle fonction serait utile, elle serait trop compliquée avec trop de paramètres à entrer alors que tu peux toi-meme réinitialiser le nombre assez facilement
si x est égal à 0 alors x = 100

descriptionbeug pour le choix au hasard Emptybeug pour le choix au hasard

more_horiz
Oui, tu as raison^^ J'ai bien compris maintenant^^
Sauf que toi, tu dis qu'entre 0 et 100, le numéro 100 ne serait pas mélanger... tu te trompes^^
En effet, il peut arriver de tomber sur 100 alors que l'acteur est égal à 100...^^

descriptionbeug pour le choix au hasard Emptybeug pour le choix au hasard

more_horiz
Voici un autre moyen pour avoir des nombres aléatoires :

Livre : Nombres aléatoires
(Spécification Linotte 0.5.5)
Paragraphe : Demo
Rôles :
nombres est un casier de nombre vide
temporaire est un texte
Actions :
De 1 à 10, lis
tu concatènes "nb" , joker dans temporaire
Tu crées temporaire un acteur nombre
création vaut 100
mélange création
ajoute création dans nombres
ferme
pour chaque nombres, affiche joker

Par contre, il y a bogue... Si on lance plusieurs fois le livre, les valeurs ne changent plus....

je dois le corrige pour la prochain version !

descriptionbeug pour le choix au hasard EmptyRe: beug pour le choix au hasard

more_horiz
privacy_tip Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
power_settings_newSe connecter pour répondre