Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Algorithme exercice loi biomiale

Posté par
blackhat
31-03-13 à 12:50

Bonjour à tous,
Je dois rédiger un algorithme simulant l'exercice suivant, il doit indiquer "à l'heure" ou "en retard", je dois pouvoir ensuite pouvoir faire tourné l'algorithme 100 fois et savoir combien j'ai de "en retard".
Seulement j'ai quelques problèmes lors de l'exécution du programme, il ne s'arrête pas.

0 donne C
0 donne D
Input"nombre d'essais",N
For (I,1,N)

EntAléat(0.10) donne A
IF 7<A
then
1 donne B
B+C donne C
Else
If A<8
0 donneB
B+C donne C

EntAléat(0.10) donne A
IF 7<A
then
1 donne B
B+C donne C
Else
If A<8
0 donneB
B+C donne C

EntAléat(0.10) donne A
IF 7<A
then
1 donne B
B+C donne C
Else
If A<8
0 donneB
B+C donne C

EntAléat(0.10) donne A
IF 7<A
then
1 donne B
B+C donne C
Else
If A<8
0 donneB
B+C donne C

EntAléat(0.10) donne A
IF 7<A
then
1 donne B
B+C donne C
Else
If A<8
0 donneB
B+C donne C

If 1<C
then
1+D donne D
Disp " en retard"
Else
0+D donne D
Disp "a l'heure"
Disp D
N-D donne E
Disp"retard",D
Disp"a l'heure",E
End


J'aimerai savoir ce qu'il faudrait changer. En résumé, le programme tire un numéro entre 0 et 10 5 fois, à chaque fois , si le numéro est compris entre 8 et 10, alors on rajoute 1 à C, dans le cas contraire on ne rajoute rien.Si C vaut plus que 1 ( C est le nombre de feux rouges) , alors on considère que l'élève est en retard. Cependant , il faut connaitre le nombre de fois ou l'élève est arrivé en retard d'ou D , qui compte le nombre de fois ou l'élève est arrivé en retard et E le nombre de fois à l'heure.

Merci d'avance

Posté par
blackhat
énoncé 31-03-13 à 12:57

J'ai oublié de mettre l'énoncé de l'exercice à simuler:
Un élève se rend à vélo à son lycée à une distance de 3 km à 15km/h. Il rencontre 5 feux, il a 0.7 chance que chaque feu soit vert. Un feu vert ne le retarde pas,un  feu rouge le retarde d'une minute. Il part de chez lui 13 minutes avant la sonnerie.

Posté par
chompchomp
re : Algorithme exercice loi biomiale 31-03-13 à 13:15

Bonjour,
c'est du TI-BASIC ? L'idée générale fonctionne, mais :
- ça ne s'arrête pas, probablement parce qu'il te manque des End : chaque If et chaque For doit avoir son End.
- B ne sert à rien
- Si tu veux simuler 7 chances sur 10, tu dois choisir A entre 1 et 10, pas entre 0 et 10.
- Ensuite, Si A <= 7 alors vert, sinon rouge, pas besoin de faire un 2e test sur A
- Plutôt que de réécrire 5 fois le même bloc, tu peux le mettre dans une boucle For(J,1,5) sans oublier le End à la fin.

Posté par
chompchomp
re : Algorithme exercice loi biomiale 31-03-13 à 13:17

Pour le test de A, le plus simple c'est
Si A > 8 alors c+1->c
Et c'est tout. Pas de sinon, pas d'autre test : si le feu est vert on ne fait rien.

Posté par
blackhat
re : Algorithme exercice loi biomiale 31-03-13 à 13:18

Merci pour ses réponses, oui c'est du TI basic , je ne suis qu'en première, dois je mettre tous les end  à la fin de chaque bloc ou à la fin de chaque bloc ou tout à la fin du programme? Comment puis je réécrire avec une seul même bloc avec le For(J,1,5)?

Posté par
chompchomp
re : Algorithme exercice loi biomiale 31-03-13 à 13:18

Je voulais dire Si A ≥ 8

Posté par
blackhat
re : Algorithme exercice loi biomiale 31-03-13 à 13:21

d'accord , et comment puis je supprimer les cinq blocs en un?

Posté par
chompchomp
re : Algorithme exercice loi biomiale 31-03-13 à 13:23

1 End à la fin de chaque bloc, ça c'est pour chaque If.
+ 1 End à la fin du 5e bloc, ça c'est pour le For

For (I,1,N)
For (J,1,5)
EntAléat bla bla
If A >= 8 bla bla
End  (celui du If)
End  (celui du For J)
End  (celui du For I)

...
la fin avec D, E etc.

Posté par
blackhat
re : Algorithme exercice loi biomiale 31-03-13 à 13:36

Merci, mon programme donne du coup :

0 donne C
0 donne D
Input"nb essai",N
For(I,1,N)
For(J,1,5)
entAléat(1.10) donne A
If A ≥ 8
C+1 donne C
End
End
If 1<C
Then
1+D donne D
Disp "late"
else$
0+D donne D
disp "on time"
End
N-D donne E
Disp "Late:", D
Disp "on time":E
End

Le problème est que j'ai toujours qu'un seul "late" et le reste en "on time". Par exemple si j'ai 100 essai:
late 1
on time 99

Si j'ai 5 essai
late 1
on time 4

Posté par
chompchomp
re : Algorithme exercice loi biomiale 31-03-13 à 14:08

C'est pas entAléat(1,10) avec , au lieu de . ?

L'initialisation 0 -> C devrait être entre le For I et le For J : il faut remettre à 0 le nombre de feux rouges à chaque expérience.
Le test If 1<C devrait être fait à chaque expérience, là il est fait seulement tout à la fin. Déplace le End du For I après celui du If 1<C
0+D -> D ne sert à rien.

Posté par
blackhat
re : Algorithme exercice loi biomiale 31-03-13 à 14:17

Le dernier problème est que le D prend pour valeur seulement 1 ou 0 , les additions ne continuent pas.

Posté par
chompchomp
re : Algorithme exercice loi biomiale 31-03-13 à 14:44

Si tu as bien

...
C+1 donne C
End  (1 seul end, celui du for J)
If 1<C
...

puis
...
disp "on time"
End  (le End du If 1<C)
End  (le End du For I)
N-D donne E
...

ça doit le faire

Posté par
blackhat
re : Algorithme exercice loi biomiale 31-03-13 à 14:54

voici le programme:

0 donne D
Input"Nb essai",N
For(I,1,N)
0 donne C
For(J,1.5)
enAléat(1.10) donne A
If A ≥ 8
c+1 donne C
END
If C≥1
Then
1+D donne D
END
END
N-D donne E
Disp "LATE", D
Disp "ON TIME",E



hors selon les calculs , on devrait la plupart du temps avoir ON TIME, or ici, selon le programme , on a plus de LATE. Pourquoi?

Posté par
chompchomp
re : Algorithme exercice loi biomiale 31-03-13 à 15:03

Parce que c'est
If C>1
au lieu de
If C≥1

Avec 1 seul feu rouge l'élève est encore à l'heure.
C'est à partir de 2 feux rouges qu'il est en retard.

Posté par
blackhat
re : Algorithme exercice loi biomiale 31-03-13 à 15:10

En effet cela fonctionne merci beaucoup



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1741 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !