Bonjour,
J'ai un DM à rendre traitant de l'algorithmique sur Algobox, et je suis bloqué pour cet exercice.
La question 1 me demandait d'écrire un algorithme qui lance deux dés et calcule leur somme à l'aide de la variable somme, et j'ai réussi à créer un algorithme.
C'est la question 2 qui me pose problème : il faut modifier l'algorithme pour répéter cette expérience aléatoire 100 fois (donc en utilisant la boucle POUR) et à l'aide de la variable nbsept, compter le nombre de fois où la somme a été égale à 7 ; à l'aide de la variable freq, calculer puis afficher sa fréquence ; et tester plusieurs fois l'algorithme en commentant les valeurs de freq.
J'ai joint une capture d'écran de l'algorithme que j'ai produit. Il me semble juste, pourtant il y a un problème : quand je mets un nombre trop grand pour n, un message d'erreur apparaît "Algorithme interrompu ligne 13 : dépassement de la capacité autorisée pour les boucles". Aussi j'ai remarqué grâce au mode pas à pas que le dé2 ne se calculait pas, alors que dé1 se calcule bien. Il y a peut-être un problème de syntaxe quelque part ... ?
Merci d'avance.
non, ton algorithme fait défiler n tirages pour le premier dés (inutiles) alors que le second n'a encore aucune valeur !
il faut mettre tout le monde dans la même boucle POUR (y compris le test).
autre remarque, la fréquence c'est nbsept/n et pas somme/n
Merci pour votre aide, j'ai essayé mais ça ne marche toujours pas, toujours le même message d'erreur.
mais non, la tu essayes n² fois en faisant deux boucles.
et ce qui est mortel c'est de réaffecter la variable qui sert de compteur de boucle (dé1 et dé2) en plein milieu de la boucle.
je te l'ai arrangé :
(tu peux le copier/coller dans algobox en mode éditeur de texte, ou bien directement en ligne dans proglab )
VARIABLES
dé1 EST_DU_TYPE NOMBRE
dé2 EST_DU_TYPE NOMBRE
somme EST_DU_TYPE NOMBRE
nbsept EST_DU_TYPE NOMBRE
I EST_DU_TYPE NOMBRE
n EST_DU_TYPE NOMBRE
freq EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE n
POUR I ALLANT_DE 1 A n
DEBUT_POUR
dé1 PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,6)
dé2 PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,6)
somme PREND_LA_VALEUR dé1+dé2
SI (somme==7) ALORS
DEBUT_SI
nbsept PREND_LA_VALEUR nbsept+1
FIN_SI
FIN_POUR
freq PREND_LA_VALEUR nbsept/n
AFFICHER "la somme 7 a été obtenue "
AFFICHER nbsept
AFFICHER* " fois"
AFFICHER "la frequence du nombre 7 est : "
AFFICHER freq
FIN_ALGORITHME
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :