Poster un nouveau sujet Poster une réponse
[Problème] Programme de probabilités
Auteur Message
Cookies
Invité
Posté le : Sam 08 Nov 2014, 18:07   Citer 

Bonjour, j'ai un problème avec mon programme de probabilités pour un lancer de dés, le programme fait plus de lancer qu'il ne devrait. Je sais que je peux utiliser une liste mais c'est tres peu visible et ce n'est pas ce que je souhaite. Si vous avez des idées pour optimiser/améliorer mon programme n'hésiter pas winkle.gif
Merci d'avance.
Voilà le code source :

Code
Lbl 0
Menu("Probabilite","Lancer",A1,"Table",A2,"Quitter",Q
Lbl A1
Effvar Y
Effvar Z
Effvar X
Effvar T
Effvar U
Effvar V
Input "NB DE LANCERS:",B
0->A
While A-B
A+1->A
entAléat(1,6
If Rep=1:Y+1->Y
If Rep=2:Z+1->Z
If Rep=3:X+1->X
If Rep=4:T+1->T
If Rep=5:U+1->U
If Rep=6:V+1->V
End
Goto 0
Lbl A2
EffEcr
Disp "NB ESSAI:",A
(Y+Z+X+T+U+V)->C
Disp  "NB ESSAIS REEL:",C
Pause Rep
Disp "1:",Y
Disp "2:",Z
Disp "3:",X
Pause
Disp "4:",T
Disp "5:",U
Disp "6:",V
Lbl Q



  Haut de page Bas de page 
 
Cookies
Invité
Posté le : Sam 08 Nov 2014, 18:17   Citer 

Excusez-moi pour le While j'ai eu un petit probleme (While A≠B) il faut remplacer par While A(n'est pas égal)B

  Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 08 Nov 2014, 18:41   Citer 

J'ai édité ton message pour remplacer &#8800_; par la soustraction qui revient au même que l'inégalité.

Tout calcul est affecte la variable dernière réponse, y compris les incréments des variables. Donc si une première fois l'aléa Rép est 1 et Y est 1, alors Y devient 2 et Rép vaut 2, donc la prochaine condition est vraie. Tes alternatives s'influencent.
Le plus simple est d'utiliser une variable numérique au lieu de Rép.

Je ne trouve aucun intérêt de te passer des listes. Tu peux très bien afficher les données comme tu l'as fais même si elles sont dans une liste. Stocker une liste ne signifie pas qu'on n'affiche pas autrement.

Tu peux utiliser une boucle For. C'est gratuit.

Ton "Pause Rép" affiche le résultat du dernier calcule, c'est-à-dire la somme que tu stockes dans C. Tu affiches C, donc tu n'as pas besoin d'afficher Rép. Enlève l'un des affichages.

La variable B convient pour connaître le nombre d'essai. Et on est certain de sa valeur quel que soit l'algorithme. Tandis que A peut être incrémentée au delà ou autre.

Code
Lbl 0
Menu("Probabilite","Lancer",A1,"Table",A2,"Quitter",Q
Lbl A1
ClrList L1
6->dim(L1
Input "NB DE LANCERS:",B
For(A,1,B
entAléat(1,6
1+L1(Rép->L1(Rép
End
Goto 0
Lbl A2
EffEcr
Disp "NB ESSAI:",B
   // la somme ne sert plus à rien puisque j'ai utilisé la variable B
Disp  "NB ESSAIS REEL:
Pause somme(L1
Disp "1:",L1(1
Disp "2:",L1(2
Disp "3:",L1(3
Pause
Disp "4:",L1(4
Disp "5:",L1(5
Disp "6:",L1(6
Lbl Q



----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Page générée en 6 requêtes