bonjour j'ai presque fini mon dm il me reste une question dont j'ai besoin d'aide :
Une urne contient deux boules indiscernables au toucher : une rouge et une bleue.
On prélève une boule de l'urne. Si c'est la bleue, on prélève un jeton dans une boîte n°1 qui en contient cinq, indiscernables au toucher et numérotés de 1 à 5. Si c'est la rouge, on prélève un jeton dans une autre boîte, n°2, qui en contient trois, indiscernables au toucher et numérotés de 1 à 3.
question :
écrire un algorithme qui donne la couleur de la boule et le numéro du jeton tiré
merci beaucoup de votre aide
Bonjour, ça parait pas bien dur, tu tires un nombre aléatoire 0 ou 1
tu testes s'il vaut 0 tu affiches "rouge" et tu tires un autre nombre aléatoire entre 1 et 5 et tu l'affiches
et sinon tu affiches "bleu" et tu tires un autre nombre aléatoire entre 1 et 3 et tu l'affiches.
J'avais commencer par écrire :
X prend la valeur aléa(1,2)
si X=1
alors
début de si
afficher "bleu"
fin de si
sinon
début de sinon afficher "rouge" fin de sinon
cela correspond-t-il a ce que vous m'avez dis ?
non, ça n'affiche pas le numéro du jeton tiré, ça n'affiche que la couleur de la boule. mais c'est un bon début.
D'accord merci beaucoup.
comment je peux insérer le numéro des jetons tiré ?
si j'écris
X prend la valeur aléa(1;2)
si X=1
alors
début de si
afficher "bleu"
X prend la valeur aléa(1;5)
afficher x
fin de si
sinon
début de sinon afficher "rouge"
X prend la valeur aléa(1;3)
afficher x
fin de sinon
oui voilà c'est ça (mais assure toi que aléa(1;2) est bien une fonction qui tire un nombre aléatoire soit 1 soit 2 et pas entre 1 et 2. Ca varie suivant la fonction que l'on utilise (par exemple dans algobox il faut pas) )
j'ai essayer sur algobox avec sa fonction alea(.,.) et j'ai testé l'algorithme cependant j'ai fais plusieurs test et je n'ai jamais eu de rouge est ce normal ?
j'avais envoyé mon post trop vite. Je voulais dire que sous algobox il fallait utiliser la fonction ALGOBOX_ALEA_ENT(1,2) par exemple
merci beaucoup j'ai trouvé par contre la je suis vraiment perdu car il y a une autre question au dessous de mon dm qui me demande de rajouter a mon programme
qu'il compte le nombre de jetons de chaque numéro obtenu en la réalisant 100 fois et la je ne sais ppas comment du tout m'y prendre
Rajoute une boucle Pour I allant de 1 à 100 et puis déclare une variable de type Liste qui va servir à stocker le nombre de fois qu'est sorti chaque valeur de jeton.
Par exemple si la liste s'appelle NB et que ton jeton a la valeur X tu rajouteras
NB[X] PREND_LA_VALEUR NB[X]+1
(Pour initialiser NB au début rajouter l'instruction
NB[1] PREND_LA_VALEUR 0:0:0:0:0 , ça initialise les 5 cases du vecteur NB à 0 d'un seul coup
A la fin, en sortie de la boucle, tu te retrouve avec le nombre de 1 dans NB[1] le nombre de 2 dans NB[2], etc ..
si tu veux afficher ces valeurs, il faudra bien sûr rajouter un
POUR I ALLANT_DE 1 A 5
DEBUT_POUR
AFFICHER* NB[I]
FIN_POUR
je n'ai pas vraiment compris si par exemple j'ai un autre algorithme comme celui la :
1 VARIABLES
2 X EST_DU_TYPE NOMBRE
3 k EST_DU_TYPE NOMBRE
4 NB EST_DU_TYPE NOMBRE
5 DEBUT_ALGORITHME
6 X PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,4)
7 NB PREND_LA_VALEUR [NB]X+1
8 NB PREND_LA_VALEUR 0:0:0:0:0
9 SI (X==1) ALORS
10 DEBUT_SI
11 AFFICHER "Rouge"
12 X PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,3)
13 AFFICHER X
14 FIN_SI
15 SINON
16 DEBUT_SINON
17 SI (X==2 OU X==3) ALORS
18 DEBUT_SI
19 AFFICHER "Bleu "
20 X PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,5)
21 AFFICHER X
22 FIN_SI
23 SINON
24 DEBUT_SINON
25 AFFICHER "Blanche"
26 X PREND_LA_VALEUR ALGOBOX_ALEA_ENT(2,5)
27 AFFICHER X
28 FIN_SINON
29 FIN_SINON
30
31 FIN_ALGORITHME
comment je dois rajouter
qu'il compte le nombre de jetons de chaque numéro obtenu en la réalisant 100 fois
Désoler c'est plutot celui javais essayer de le modifié dasn l'autre mais ce n'est pas bon :
1 VARIABLES
2 X EST_DU_TYPE NOMBRE
3 DEBUT_ALGORITHME
4 X PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,4)
5 SI (X==1) ALORS
6 DEBUT_SI
7 AFFICHER "Rouge"
8 X PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,3)
9 AFFICHER X
10 FIN_SI
11 SINON
12 DEBUT_SINON
13 SI (X==2 OU X==3) ALORS
14 DEBUT_SI
15 AFFICHER "Bleu "
16 X PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,5)
17 AFFICHER X
18 FIN_SI
19 SINON
20 DEBUT_SINON
21 AFFICHER "Blanche"
22 X PREND_LA_VALEUR ALGOBOX_ALEA_ENT(2,5)
23 AFFICHER X
24 FIN_SINON
25 FIN_SINON
26 FIN_ALGORITHME
comment je dois rajouter
qu'il compte le nombre de jetons de chaque numéro obtenu en la réalisant 100 fois
Bon, je te corrige déjà ton algorithme correspondant à ton problème initial :
(tu peux le copier/coller dans algobox en mode éditeur de texte, ou bien directement en ligne dans proglab )
VARIABLES
X EST_DU_TYPE NOMBRE
NB EST_DU_TYPE LISTE
I EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
NB[1] PREND_LA_VALEUR 0:0:0:0:0
POUR I ALLANT_DE 1 A 100
DEBUT_POUR
X PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,2)
SI (X == 1) ALORS
DEBUT_SI
X PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,5)
FIN_SI
SINON
DEBUT_SINON
X PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,3)
FIN_SINON
NB[X] PREND_LA_VALEUR NB[X]+1
FIN_POUR
POUR I ALLANT_DE 1 A 5
DEBUT_POUR
AFFICHER* NB[I]
FIN_POUR
FIN_ALGORITHME
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :