Bonjour,
Je dois ecrire un algorithme sur Algobox qui simule le lancer de 10000 billes, la loi de X, et l'esperance de X dans le cas où il y a 4 rangées (donc 5 cases). C'est avec la planche de Galton.
Je ne connais pas très bien algobox et je suis bloquée. J'arrive simplement au résultat : la bille va à droite ou à gauche.
VARIABLES
x EST_DU_TYPE NOMBRE
rang EST_DU_TYPE NOMBRE
cases EST_DU_TYPE LISTE
n EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
x PREND_LA_VALEUR floor(randm()+0.5)
SI (x==0) ALORS
DEBUT_SI
Afficher "Gauche"
FIN_SI
SINON
DEBUT SINON
AFFICHER "Droite"
FIN_SINON
Je vous remercie d'avance pour votre aide
Bonjour,
après DEBUT_ALGORITHME :
rang PREND_LA_VALEUR 0
TANT_QUE (rang<=10000) FAIRE
DEBUT_TANT_QUE
Salut, je me suis amusé à le faire complètement et que ça affiche le nombre de bille qui sont arrivées dans chaque case :
(à cette occasion je me suis aperçu que ton floor(randm()+0.5) ne marche pas. je l'ai remplacé par round(random())
Ca affiche :
Merci beaucoup pour ces explications, juste une chose. Je ne comprends pas à quoi correspond la ligne : tableau[1] prend la valeur 0:0:0:0:0:0:0:0:0 ainsi que la ligne : cases prend la valeur cases -1. Je ne comprends pas pourquoi -1 ?
Encore merci, à bientôt
tableau[1] prend la valeur 0:0:0:0:0:0:0:0:0 ça initialise toutes les valeurs du tableau à 0 (sinon quand on écrit tableau[cases]=tableau[cases]+1, s'il n'a pas été initialisé, ça génère une erreur.
Si le tirage vaut 1 cases de vient case + 1 et si le tirage vaut 0 cases vaut cases -1. 0 est la valeur initiale et chaque fois la bille de Galton peut choisir d'aller à droite ou à gauche. De toutes façon à la fin cases=cases+5 pour remplir le tableau entre 1 et 9.
C'est vrai que l'on aurait pu faire plus simple et initialiser cases directement à 5.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :