Bonjour,
J'ai un exercice à résoudre et je n'ai pas su faire la 2e question ou on me demande d'écrire un programme en langage codé.
Voici l'énoncé:
Un processus aléatoire affiche dans chacune des 4 cases d'un écran le nombre 1 ou -1.
1)Calculer la probabilité que la somme des 4 nombres soit égale à 0.
2) Ecrire un programme en langage codé qui permette de rentrer le nombre N d'expériences à réaliser et donne la fréquence X de l'événement "Somme nulle".
Pour la 1ère question, après avoir fait un arbre pondéré, j'ai trouvé que la somme S appartient à {-4; -2; 0; 2; 4}
Et que P(S=0) = 6/16 = 0.375.
Jusque là, pas de soucis.
Pour la 2ème question, déjà, que veut dire un programme en langage codé? Est-ce un algorithme?
D'après l'arbre pondéré, j'ai trouvé que le nombre de fois où S = 0 est de 6 fois: (1;1;-1;-1) ; (1;-1;1;-1); (1;-1;-1;1); (-1;1;1;-1); (-1,1,-1,1); (-1;-1;1;1)
Sachant que je n'y comprends pas grand chose en algorithme, voici mon essai:
Variables: F, I, N, A, B, C, D, S
Début:
F prend la valeur 0
I prend la valeur 0
Tant que I<N Faire:
A prend la valeur 1 ou -1 au hasard
B prend la valeur 1 ou -1 au hasard
C prend la valeur 1 ou -1 au hasard
D prend la valeur 1 ou -1 au hasard
S prend la valeur A+B+C+D
Si S=0
Alors
F prend la valeur F+1
Fin si
Fin tant que
Afficher F/N
Fin algorithme
Merci d'avance pour les aides et réponses que je recevrai!
Bonjour, il est pas mal ton algorithme mais tu a oublié de mettre une instruction I prend la valeur I+1 (tel quel, I garde toujours la valeur 0 et on ne sort jamais de la boucle TantQue)
tu as également oublié de donner une valeur à N (ou de demander une valeur à l'utilisateur : LIRE N)
Sinon, fais le tourner, tu verras bien si ça sort des valeurs autour de 0.375 pour des N assez grands.
Merci pour ta réponse.
Et comme ça c'est bon?
Variables: F, I, N, A, B, C, D, S,
Début:
F prend la valeur 0
I prend la valeur 0
Lire N
Tant que I<N Faire:
A prend la valeur 1 ou -1 au hasard
B prend la valeur 1 ou -1 au hasard
C prend la valeur 1 ou -1 au hasard
D prend la valeur 1 ou -1 au hasard
S prend la valeur A+B+C+D
Si S=0
Alors
F prend la valeur F+1
I prend la valeur I+1
Fin si
Afficher F/N
Fin algorithme
Comment je fais tourner cet algorithme?
Puis-je le faire avec la calculatrice TI82? Si oui, comment traduire cet algorithme en langage TI?
le I prend la valeur I+1 , il faut le mettre dans tous les cas et pas seulement dans le cas ou S = 0
donc après le FinSI
il te manque un FinTantQue aussi (avant le Afficher F/N)
oui tu peux le faire tourner sur une calculatrice ou sous algobox. il faut que tu transcrives chaque instruction dans le langage de ta calculatrice. Tel quel, il est plutôt plus proche d'algobox.
Après correction de ce que tu m'as signalé, j'ai essayé de faire tourner cet algorithme sur algobox comme suit:
Variables:
F est du type nombre
I est du type nombre
N est du type nombre
A est du type nombre
B est du type nombre
C est du type nombre
D est du type nombre
S est du type nombre
Début algorithme:
F prend la valeur 0
I prend la valeur 0
Lire N
Tant que (I<N) Faire
Début tant que
A prend la valeur 1 ou -1 au hasard
B prend la valeur 1 ou -1 au hasard
C prend la valeur 1 ou -1 au hasard
D prend la valeur 1 ou -1 au hasard
S prend la valeur A+B+C+D
Si (S=0) Alors
Début Si
F prend la valeur F+1
Fin si
I prend la valeur I+1
Fin Tant que
Afficher F/N
Fin algorithme
En lançant l'algorithme, il m'affiche ce message:
***L'algorithme contient une erreur : impossible de le lancer***
***Vérifiez la syntaxe des affectations et des conditions***
Qu'est-ce qui ne va pas?
plein de choses
A prend la valeur 1 ou -1 au hasard c'est pas une instruction algobox, utilise l'instruction ALGOBOX_ALEA_ENT(0,1) qui va te donner aléatoirement 0 ou 1 et transforme le en -1 ou 1 en faisant 2*ALGOBOX_ALEA_ENT(0,1)-1
Si (S=0) Alors ne marche pas, c'est SI (S == 0) ALORS
Bon, et puis respecte les syntaxes, il y a des instructions qui ont des _ comme PREND_LA_VALEUR ou FIN_TANT_QUE
ton Tant que (I
TANT_QUE (I<=N) FAIRE
DEBUT_TANT_QUE
...........
FIN_TANT_QUE
Je découvre Algobox alors je ne connais pas toutes les syntaxes. Pour les _ entre les mots, ils y étaient puisqu'ils se mettent automatiquement.
J'ai refais le test et là apparemment il reconnait ce langage puisqu'il me demande d'entrer une valeur de N. J'ai mis 16 et ça mouline depuis tout à l'heure. J'attends peut-être que ça met un peu de temps pour avoir le résultat.
Par contre, comme cet exercice est un DM, dois-je l'écrire sur ma feuille en langage algobox ou puis-je le faire comme je vous l'ai mis plus haut, bien sûr en corrigeant mes fautes (avec par exemple A prend la valeur 1 ou -1 au hasard).
Je ne sais pas ce qu'on veut dire par un programme en langage codé, est-ce un algorithme en utilisant un logiciel comme algobox?
(J'ai vérifie le test d'algobox, ça mouline encore, il ne veut pas afficher le résultat. Est-ce normal?
En tous les cas, merci beaucoup pour ton aide.
oui un programme en langage codé, c'est un algorithme en utilisant un logiciel comme algobox.
ça ne peut pas mouliner aussi longtemps ! il y a donc un problème. Si tu me redonnes ta nouvelle syntaxe, je te dirais où.
Donc sur ma feuille, il suffit que je recopie exactement ce que j'ai fait sur algobox.
Jusqu'à présent, ça mouline encore, donc ne fonctionne pas.
Voici exactement ce que j'ai fait:
VARIABLES
F EST_DU_TYPE NOMBRE
I EST_DU_TYPE NOMBRE
N EST_DU_TYPE NOMBRE
A EST_DU_TYPE NOMBRE
B EST_DU_TYPE NOMBRE
C EST_DU_TYPE NOMBRE
D EST_DU_TYPE NOMBRE
S EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
F PREND_LA_VALEUR 0
I PREND_LA_VALEUR 0
LIRE N
TANT_QUE (I<=N) FAIRE
DEBUT_TANT_QUE
A PREND_LA_VALEUR 2*ALGOBOX_ALEA_ENT(0,1)-1
B PREND_LA_VALEUR 2*ALGOBOX_ALEA_ENT(0,1)-1
C PREND_LA_VALEUR 2*ALGOBOX_ALEA_ENT(0,1)-1
D PREND_LA_VALEUR 2*ALGOBOX_ALEA_ENT(0,1)-1
S PREND_LA_VALEUR A+B+C+D
SI (S==0) ALORS
DEBUT_SI
F PREND_LA_VALEUR F+1
FIN_SI
I PREND_LA_VALEUR I+1
FIN_TANT_QUE
AFFICHERCALCUL F/N
FIN_ALGORITHME
J'utilise AlgoBox0.9 que j'ai téléchargé récemment. J'ai réessayé ça mouline toujours. Par contre j'ai essayé avec proglab (que je ne connaissais pas) et ça marche, je trouve pour N=10000, 0.381
Un grand merci pour ton aide et le temps que tu m'as consacré.
Ça y est ça fonctionne aussi sur algobox. Pourtant je n'ai rien fait de plus. Un petit caprice
Ça ne lui a peut être pas plus que je passe par proglab, il a compris que je pouvais me passer de lui alors il a cédé
MERCI ENCORE
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :