Bonjour,
Suite à un exercice simulant le tirage de boules Blanches , rouges et noires, nous avons calculé la probabilité d'obtenir une boule blanche (60/100) , une boule noire (10/100) et une rouge (30/100).
Il nous est alors demandé de créer un programme sur Ti 82 stats.fr afin de simuler cette opération 500 fois et en numérotant les boules de 1 à 100 afin de pouvoir vérifier la loi de probabilité ci dessus.
J'ai alors créé ce programme qui effectue le tirage 500 fois mais il s'agit maintenant de faire à afficher à la calculette le nombre de boules blanches , noires et rouges obtenues ( Pour les blanches: compris entre 1 et 60, pour les rouges: compris entre 60 et 90, et pour les noires entre 90 et 100). Je ne parviens pas à effectuer cette partie du programme.
Est ce possible? Et comment dois-je m'y prendre?
Voici mon programme :
:For(I,1,500,1)
:entAléat(1,100)→ A
: Disp A
:End
Il faut maintenant que je crée je pense une deuxième boucle conditionnelle...Comment faire?
Merci d'avance !
salut!
Ce que tu as programmé n'est pas bon car tu vas avoir 500 affichages : on ne pourra pas compter les résultats..
Il faut donc que tu crées des variables représentants une couleur de boule, et à chaque tour de boucle, tu simules l'expérience (ça tu l'as bien fait), puis, par exemple, si c'est une boule blanche, tu augmentes la variable B de 1, sinon si c'est une boule noire, tu augmentes la variable N de 1, sinon (c'est forcément une boule rouge) tu augmentes la variable R de 1.
une fois ta boucle accomplie, tu affiches R,B et P
Merci Beaucoup mais comment cela se traduit t'il en language calculette? Je ne parviens pas à créer les variables....comment dois je m'y prendre ?
Merci d'avance
en TI tu n'as pas besoin de créer des variables.
Tu dois juste t'assurer qu'elles soient vide au début du programme, pour ça tu fais :
0B
0R
0N
ensuite c'est une condition If;Then;Else If;Else pour traduire si entAlea<0.... c'est plus qu'un exercice d'anglais
essaye de le faire, et poste ce que tu aura déjà réussi si tu as un problème.
Merci beaucoup !
J'ai écris ce programme qui fonctionne mais dont les résultats ne sont pas cohérents :
:0->B
:0->R
:0->N
:For(I,1,500,1)
:entAleat(1,100)->X
:End
:If X≤ 60
:Then
:B+1->B
:If 61≤ X≤ 90
:Then
:R+1->R
:Else
:N+1->N
:End
isp B,R,N
J'obtient alors les résultats suivants:
1
1
0
Comment puis-je corriger mon programme?
Merci d'avance !
il faut que tu mettes les conditions dans la boucle (sinon il tourne 500 fois, donc au final, après 500 exécutions de l'instruction de la boucle, ton X vaut une certaine valeur mais il ne change pas de valeur dans la condition.
Il faut que tu ais un truc comme ça
For()
entAlea
If
Then
Else If
Else
End
End
Disp
j'ai réussi à faire marcher.
ce que j'ai fait :
For(...)
entAlea..
If X60
Then
B+1B
End
If X>60 et X90 (tu trouveras "et" ou "and" dans second/math/flèche de droite/1)
Then
R+1R
End
If X>90
Then
N+1N
End
End
Disp "B=",B
Disp ....
Disp....
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :