Inscription / Connexion Nouveau Sujet
Niveau terminale
Partager :

Dm algo

Posté par
petitplouk85
17-09-14 à 15:30

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

Posté par
Glapion Moderateur
re : Dm algo 17-09-14 à 15:54

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.

Posté par
petitplouk85
re : Dm algo 17-09-14 à 15:58

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 ?

Posté par
Glapion Moderateur
re : Dm algo 17-09-14 à 16:05

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.

Posté par
petitplouk85
re : Dm algo 17-09-14 à 16:08

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  

Posté par
Glapion Moderateur
re : Dm algo 17-09-14 à 16:12

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) )

Posté par
petitplouk85
re : Dm algo 17-09-14 à 16:14

aie... et sur algobox comment on fais pour aléa(1,2) ?

Posté par
petitplouk85
re : Dm algo 17-09-14 à 16:20

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 ?

Posté par
Glapion Moderateur
re : Dm algo 17-09-14 à 17:12

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

Posté par
petitplouk85
re : Dm algo 17-09-14 à 17:17

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  

Posté par
Glapion Moderateur
re : Dm algo 17-09-14 à 17:32

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

Posté par
petitplouk85
re : Dm algo 17-09-14 à 17:39

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

Posté par
petitplouk85
re : Dm algo 17-09-14 à 17:52

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

Posté par
Glapion Moderateur
re : Dm algo 17-09-14 à 17:53

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

Posté par
petitplouk85
re : Dm algo 17-09-14 à 18:05

c'est bon j'ai fini de le mettre dans algobox



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 !