Bonjour !
Alors voilà j'ai un problème dans mon devoir de mathématiques concernant les algorithmes.
On doit écrire un algorithme sur le logiciel Algobox et l'envoyer au professeur mais je n'y arrive pas trop ...
Voici l'énoncé :
Expérience 1:
On lance 5 fois de suite un pièce équilibrée, et on gagne si on obtient 3 piles.
Ecrire un algorithme qui modélise l'expérience 1 et affiche "GAGNE" ou "PERDU"
Expérience 2 :
On répète 1000 fois l'expérience 1.
Ecrire un second algorithme pour modéliser l'expérience 2, cet algorithme n'affichera pas 1000 fois "GAGNE" ou "PERDU" mais affichera le nombre de fois où l'on a gagné.
Je bloque dès la partie 1 (oui la plus simple ...), j'ai déjà fait quelques tests mais aucun ne s'est révélé efficace.
Si je pouvais avoir une petite piste par où commencer ce serait sympa
Merci d'avance
Bonjour, donc tu dois écrire un algorithme qui simule le lancé de 5 pièces. Tu as une fonction dans algobox qui tire un nombre aléatoire entre p et n, c'est ALGOBOX_ALEA_ENT(p,n) donc entre pile ou face donc entre 0 et 1 ça donne ALGOBOX_ALEA_ENT(0,1) et si tu veut ajouter les 5 lancés tu vas donc écrire :
D PREND_LA_VALEUR ALGOBOX_ALEA_ENT (0,1)+ ALGOBOX_ALEA_ENT(0,1)+ALGOBOX_ALEA_ENT(0,1)+ALGOBOX_ALEA_ENT(0,1)+ALGOBOX_ALEA_ENT(0,1)
Ensuite il te faut tester si on obtient 3 piles donc ça n'est pas bien compliqué :
SI (D == 3) ALORS
DEBUT_SI
AFFICHER "GAGNE"
FIN_SI
SINON
DEBUT_SINON
AFFICHER "PERDU"
FIN_SINON
Bonjour,
Tout d'abord merci pour l'aide.
J'ai bien réussi la première partie qui m'a donné ceci :
Je vais essayer d'attaquer la partie 2, je pense qu'il faut utiliser la fonction ALGOBOX_LOI_BINOMIALE(n,p,k) mais je ne vois pas comment elle fonctionne et comment je pourrais faire répéter 1000 fois l'experience 1
Oui ça devrait marcher. Tu t'es beaucoup compliqué la vie par rapport à ce que je t'avais indiqué, mais bon, si ça t'amuse
.
ça n'est pas Si(gagné >)3) mais Si (Gagné == 3) car ton énoncé ne dit pas que l'on gagne si on a plus de 3 piles mais si on a exactement 3 piles.
Il suffisait d'écrire :
VARIABLES
D EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
D PREND_LA_VALEUR ALGOBOX_ALEA_ENT (0,1)+ ALGOBOX_ALEA_ENT(0,1)+ALGOBOX_ALEA_ENT(0,1)+ALGOBOX_ALEA_ENT(0,1)+ALGOBOX_ALEA_ENT(0,1)
SI (D == 3) ALORS
DEBUT_SI
AFFICHER "GAGNE"
FIN_SI
SINON
DEBUT_SINON
AFFICHER "PERDU"
FIN_SINON
FIN_ALGORITHME
J'ai encore une question :
Pour l'expérience 2, il faut recréer un tout nouvel algorithme ou on peut l'implémenter à partir du premier ?
On utilise le premier et on l'encapsule par une boucle qui répète l'expérience 1000 fois. Mais au lieu d'afficher 1000 fois gagné ou perdu, on se contente de compter les gagné et perdu et d'afficher les résultats en sortie de boucle.
Tu as fait des choses du même genre pour le 1) donc tu devrais arriver à le faire ?
Donc je dois déclarer une nouvelle variable pour le nombre de fois que l'on a gagné et une fois
Je crois que je n'ai pas vraiment compris 
Oui une variable qui comptabilise le nombre de fois où l'on a gagné.
Fait des essais. Fait une proposition.
J'ai essayé de contourner le problème d'afficher 1000 fois le gagné mais c'est ce que l'algorithme me fait .. Je rebloque
non je t'avais dit de compter les gains et pas de les afficher. Je pensais que tu y arriverais, ça ressemblait à ton premier algorithme.
(tu peux bien sûr copier/coller l'algorithme si tu es en mode éditeur de texte dans algobox ou directement en ligne sur
VARIABLES
D EST_DU_TYPE NOMBRE
I EST_DU_TYPE NOMBRE
gagné EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
gagné PREND_LA_VALEUR 0
POUR I ALLANT_DE 1 A 1000
DEBUT_POUR
D PREND_LA_VALEUR ALGOBOX_ALEA_ENT (0,1)+ ALGOBOX_ALEA_ENT(0,1)+ALGOBOX_ALEA_ENT(0,1)+ALGOBOX_ALEA_ENT(0,1)+ALGOBOX_ALEA_ENT(0,1)
SI (D == 3) ALORS
DEBUT_SI
gagné PREND_LA_VALEUR gagné + 1
FIN_SI
FIN_POUR
AFFICHER gagné
FIN_ALGORITHME
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :