Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Maths

Posté par
martrbo
25-02-17 à 12:54

Bonjour tout le monde
Mon sujet est le suivant : soit n un entier supérieur ou égal à 4
Dans un sac on place n jetons : un rouge et tous les autres blancs. On tire successivement au hasard et avec remise deux jetons de l'urne.
On gagne :
• 16euros si on dire deux fois le jetons rouges
• 1euros si on tire deux fois un jetons blanc
• on perd 5 euros dans les autres cas

Soit X la variable aléatoire égale au gain du joueur

Écrire un programme algobox qui simule 1000 parties du jeu précédent avec n = 8 et qui affiche le gain moyen du joueur sur ces 1000 parties.

Aidez moi s'il vous plaît je n'y arrive vraiment pas 😞

Posté par
carita
re : Maths 25-02-17 à 14:39

bonjour
tu peux commencer par établir la loi de probabilité pour n=8

Posté par
martrbo
re : Maths 25-02-17 à 15:14

Je l'ai déjà fait mais je n'arrive pas à faire l'algorithme

Posté par
carita
re : Maths 25-02-17 à 15:22

pour l'algo :

on doit afficher le gain moyen pour 1000 parties : on sait déjà ce que l'on devra avoir en sortie.

---

commençons par regarder comment simuler 1 partie (pour les 1000, on fera donc une boucle « de 1 à 1000 »)

il y a plusieurs façons de s'y prendre, je t'en propose une.

à chaque partie, on doit « tirer » 2 jetons.
- pour simuler le tirage de chaque jeton, on peut passer par un nombre aléatoire
j'ai pris la commande « ALGOBOX_ALEA_ENT(1,2) » qui retourne soit 1 soit 2

on définit dès le départ (par exemple) :
1 pour Rouge
2 pour Blanc

on peut ensuite, par addition ou multiplication, comme on veut, attribuer le gain correspondant à la partie (tests).

- on cumule le gain de cette partie dans une variable T  (pour total)
- on incrémente une variable n qui compte le nombre de parties

---

au terme des 1000 simulations de jeux, on affiche la moyenne T/n

---

avant de te lancer dans la programmation, réfléchis à la structure de ton algo
- choix des variables nécessaires
- affectation de variables
- boucles et détail des tests dans le corps du traitement
- affichage en sortie

Posté par
carita
re : Maths 25-02-17 à 15:33

après réflexion...  
- on incrémente une variable n qui compte le nombre de parties ---> ceci est parfaitement inutile

au terme des 1000 simulations de jeux, on affiche la moyenne T/1000

Posté par
mathafou Moderateur
re : Maths 25-02-17 à 15:42

Bonjour,

attention, on n'a pas une chance sur deux d'avoiur rouge !!

tirer au hasard un nombre entier entre 1 et 8 (de façon générale entre 1 et n si n jetons)
si ce nombre est 1 c'est le jeton rouge
sinon c'est un jeton blanc

Posté par
carita
re : Maths 25-02-17 à 15:55


je viens de tester l'algo, la commande  ALGOBOX_ALEA_ENT(1,2)ne convient pas car elle correspond à une proba de ½ pour chaque couleur.

j'ai remplacé par  ALGOBOX_ALEA_ENT(1,8), suivi de test, et on se rapproche ainsi du E(X) que l'on trouve pas calcul

Posté par
carita
re : Maths 25-02-17 à 15:56

ah bonjour Mathafou
oui, je l'ai vu après ! (erreur bête, je l'avoue :/)

Posté par
martrbo
re : Maths 25-02-17 à 16:40

Merci pour toute vos réponse mais je n'arrive vraiment pas à comprendre 😞

Posté par
carita
re : Maths 25-02-17 à 16:53

qu'est-ce que tu comprends pas ? tu peux préciser?

Posté par
martrbo
re : Maths 25-02-17 à 16:55

je commence par écrire quoi dans algobox? je déclare une variable ?

Posté par
carita
re : Maths 25-02-17 à 16:57

tu commences par la fin, il me semble.

as-tu compris ce que tu dois faire?
quelles sont les variables que tu dois définir ? les tests? etc.
explique ce que tu as compris ou pas compris dans mon message de 15h22

Posté par
martrbo
re : Maths 25-02-17 à 17:01

comment on fait pour définir sa : "on définit dès le départ (par exemple) :
1 pour Rouge
2 pour Blanc "?

Posté par
carita
re : Maths 25-02-17 à 17:16

on définit dès le départ  : s'il sort "1", ce sera un jeton Rouge, sinon ce sera un jeton Blanc  --- je l'ai décidé avant de commencer l'algo, parce qu'il faut fixer une "règle", mais tu peux choisir autre chose

----

pour chaque jeton, on choisit un nom de variable (par ex. j1 pour le 1er jeton et j2 pour le second)

puis, pour chacun,  on "tire"  un nombre aléatoire par la commande « ALGOBOX_ALEA_ENT(1,8) »

la machine va donc retourner un nombre, compris entre 1 et 8 (au sens large)
et nous, on veut que ça représente une couleur :
- rouge si le nombre j1 est 1  ---- il y a bien 1 chance sur 8 d'avoir rouge
- blanc si c'est 2, 3, ..., 8  ---- il y a bien 7 chances sur 8 d'avoir blanc

==> on prévoit donc de faire un test sur la valeur j1 retournée par l'algo :
si j1 1 alors le nombre devient 2

on a ainsi soit 1 soit 2 dans la variable j1 qui représente la couleur du jeton tiré,
et ensuite, on pourra utiliser j1 et j2 pour attribuer le gain à la partie

tu vois ? suis-je claire, là ?

Posté par
mathafou Moderateur
re : Maths 25-02-17 à 17:28

avant de déclarer quoi que ce soit et d'écrire dans Algobox il s'agit de clarifier l'algorithme
un algorithme n'est pas une écriture dans Algobox :
ça, ça s'appelle un programme sur Algobox, matérialisation d'un algorithme dans un langage particulier (le langage Algobox) sur une machine particulière (sur un PC)

un algorithme est la description précise des opérations à effectuer et de leur enchainement.

quelle est la structure générale de l'algorithme (boucles, test, calculs, etc)
quelle sorte de calculs je dois faire, sur quoi, quel est le but
quels variables vais-je utiliser pour représenter quoi

ça se fait en langage naturel (en français ordinaire avec la grammaire du français ordinaire)

pour élaborer cette structure on doit avoir des idées clairs sur le but à atteindre et une façon d'atteindre ce but
(théories mathématiques, beaucoup de bons sens, cahier de charges ...)

ici on nous dit que l'on doit réaliser 1000 parties

donc une première architecture sera (1er jet)

répéter 1000 fois
faire une partie.

cela semble peut être évident mais l'écrire explicitement évitera de se tromper ensuite.

quel est le but ? estimer le gain du joueur

au départ le gain est nul

donc

gain = 0
répéter 1000 fois
faire une partie en accumulant les gains
résultat : l'espérance mathématique = le gain total / 1000

ça commence à prendre forme et on a déja une variable évidente : la variable "gain"

on va maintenant détailler un peu plus sur la façon de faire une partie

une partie c'est tirer au hasard deux jetons et observer leurs couleurs, pour en déduire le gain de cette partie

faire une partie :
tirer deux jetons au hasard, de couleurs A et B
si A = B = rouge alors le gain de cette partie est 16
si A = B = blanc alors le gain est 1
sinon la perte est 5 (le gain est -5)
cumuler ce gain au gain total.

l'algorithme cherché commence donc à ressembler à

gain = 0
Répéter 1000 fois
tirer deux jetons au hasard, de couleurs A et B
si A = B = rouge alors le gain de cette partie est 16
si A = B = blanc alors le gain est 1
sinon la perte est 5 (le gain est -5)
cumuler ce gain au gain total.
résultat : l'espérance mathématique = gain / 1000

on a maintenant 3 variables :
le gain
la couleur du 1er jeton
la couleur du 2ème jeton

une 4ème variable est implicite dans "répéter 1000 fois" : une variable pour compter ces 1000 fois

etc.

on précise de proche en proche et petit à petit jusqu'à avoir un algorithme achevé, prêt à être traduit dans la syntaxe que l'on veut, par exemple en Algobox, ou sur une calculette ou en Scratch ou n'importe quoi.

la principale erreur des "débutants" est de vouloir aller trop vite dans la réalisation d'un algorithme et de vouloir se précipiter immédiatement sur son clavier pour taper du code Algobox (ou du C ou des touches de calculette)
c'est généralement la quasi certitude de :
ne rien comprendre à ce qu'on (a) fait
d'avoir des erreurs multiples quasi impossible à diagnostiquer tellement il y en a
d'avoir des programmes conçus de bric et de broc impossible à faire évoluer ou modifier, voire qui "tombent en marche" par hasard.

Posté par
martrbo
re : Maths 25-02-17 à 17:29

merci beaucoup pour ton aide mais je continu a rien comprendre, merci beaucoup a toi

Posté par
martrbo
re : Maths 25-02-17 à 17:44


\\ P(X=2)=\frac{1}{n^2}
\\ P(X=0)=\frac{(n-1)^2}{n^2}
\\ P(X=1)=P(RB)+P(BR)=\frac{1.(n-1)}{n^2}+\frac{(n-1).1}{n^2}=\frac{2(n-1)}{n^2}

c'est juste ?

Posté par
carita
re : Maths 25-02-17 à 17:49

martrbo je suppose que ton dernier message m'était adressé,

parce qu'en 1 minute, tu n'as pas eu le temps de lire attentivement et méditer et (ne pas) comprendre l'explication progressive et détaillée que mathafou a rédigée.

prends le temps de relire son message, tranquillement, crayon en main.

Posté par
carita
re : Maths 25-02-17 à 17:50

euh... c'est quoi ça ?
c'est le mm exo ?

Posté par
carita
re : Maths 25-02-17 à 17:51

c'est des questions précédentes?
les valeurs de X sont inexactes ('fin, si je comprends la question posée)

Posté par
martrbo
re : Maths 25-02-17 à 17:56

mais en faite je sais pas quel "bouton" utiliser dans algobox..

Posté par
carita
re : Maths 25-02-17 à 18:00

pour le latex : tu dois encadrer l'écriture par les balises    [tex].... [/tex]

après rectification des valeurs de X, ça donne ça :

\\ P(X=16)=\frac{1}{n^2}
 \\ \\ P(X=1)=\frac{(n-1)^2}{n^2}
 \\ \\ P(X=-5)=\frac{1.(n-1)}{n^2}+\frac{(n-1).1}{n^2}=\frac{2(n-1)}{n^2}  

... mais pour l'algo, tu n'as pas besoin de tout ça, d'accord ?
----

je sais pas quel "bouton" utiliser dans algobox..
je suppose que si le professeur a donné cet exercice, c'est que vous devez en avoir fait en cours préalablement, me trompe-je ?

commence par mettre au point l'algorithme en langage naturel, bien détaillé - et pour ça, faut transpirer un peu
la programmation, on verra ensuite.
(je recherche des liens de prise en main et je reviens)

Posté par
carita
re : Maths 25-02-17 à 18:07

par exemple :
mais il y a bien d'autres.
a+

Posté par
martrbo
re : Maths 25-02-17 à 18:17

merci beaucoup

Posté par
mathafou Moderateur
re : Maths 25-02-17 à 18:20

P(X=2) etc

de toute façon ça n'a rien à faire dans la simulation des 1000 parties ...
et comme a dit carita et comme je l'ai dit aussi
il ne faut JAMAIS commencer par se précipiter sur des "boutons" et Algobox ou calculete ou quoi

l'algorithme ça s'écrit avec un papier et un crayon
pas en cliquant sur des boutons !

Posté par
martrbo
re : Maths 25-02-17 à 18:30

oui mais je dois faire un programme sur algobox donc bon berf merci de votre aide quand même ..

Posté par
mathafou Moderateur
re : Maths 25-02-17 à 18:39

je te répète que tu mets la charrue avant les boeufs comme on dit

on écrit d'abord l'algorithme papier crayon (toujours pas terminé)
puis ensuite on le traduit sur Algobox

Posté par
martrbo
re : Maths 25-02-17 à 18:50

oui mais j'ai pas beaucoup de temps je dois l'envoyer aujourd'hui avant 19h15 et sa fait depuis cet aprem Que j'essaye mais j'y arrive pas ... et je dois a tout pris réussir ou mon trimestre va être rater

Posté par
mathafou Moderateur
re : Maths 25-02-17 à 18:56

ah d'accord tu veux qu'on te donne un algorithme tout fait comme ça ....
sans rien en apprendre du tout et donc ne pas utiliser cet exo pour progresser, juste pour "avoir des notes"...
pas de moi en tout cas.
(vu que tu n'as même pas cherché à écrire quoi que ce soit toi même
si encore tu avais essayé, on aurait pu te compléter et te corriger, maintenant pour 19h15 c'est trop tard)

Posté par
martrbo
re : Maths 25-02-17 à 18:58

OK

Posté par
martrbo
re : Maths 25-02-17 à 19:14

j'ai fait :
variable : JETON_B EST_DU_TYPE_NOMBRE
                     JETON_REST_DU_TYPE_NOMBRE
                     T EST_DU_TYPE_NOMBRE
                    N EST_DU_TYPE_NOMBRE

DÉBUT ALGORITHME
JETON_R PREND LA VALEUR 1
JETON_B PREND LA VALEUR2
t PREND LA VALEUR JETON B + JETON R

POUR N ALLANT DE 1 à 1000
DEBUT POUR
AFFICHER CALCUL ALGOBOX_ALEA_ENT(1,8)
SI ( JETON R) ALORS
DEBUT SI
AFFICHER JETON R
JETON R PREND LA VALEUR 1
FIN SI
SI JE TON B ALORS
DEBUT SI
AFFICHER JETON B
JETON B PREND LA VALEUR 2,3,4,5,6,7,8
FIN SI
FIN POUR
FIN ALGORITHME


pourquoi ca ne marche pas ??

Posté par
martrbo
dm de maths 25-02-17 à 19:24

Bonjour tout le monde
Mon sujet est le suivant : soit n un entier supérieur ou égal à 4
Dans un sac on place n jetons : un rouge et tous les autres blancs. On tire successivement au hasard et avec remise deux jetons de l'urne.
On gagne :
? 16euros si on dire deux fois le jetons rouges
? 1euros si on tire deux fois un jetons blanc
? on perd 5 euros dans les autres cas

Soit X la variable aléatoire égale au gain du joueur

Écrire un programme algobox qui simule 1000 parties du jeu précédent avec n = 8 et qui affiche le gain moyen du joueur sur ces 1000 parties.

j'ai fais sa mais sa ne marche pas :
variable : JETON_B EST_DU_TYPE_NOMBRE
                     JETON_REST_DU_TYPE_NOMBRE
                     T EST_DU_TYPE_NOMBRE
                    N EST_DU_TYPE_NOMBRE

DÉBUT ALGORITHME
JETON_R PREND LA VALEUR 1
JETON_B PREND LA VALEUR2
t PREND LA VALEUR JETON B + JETON R

POUR N ALLANT DE 1 à 1000
DEBUT POUR
AFFICHER CALCUL ALGOBOX_ALEA_ENT(1,8)
SI ( JETON R) ALORS
DEBUT SI
AFFICHER JETON R
JETON R PREND LA VALEUR 1
FIN SI
SI JE TON B ALORS
DEBUT SI
AFFICHER JETON B
JETON B PREND LA VALEUR 2,3,4,5,6,7,8
FIN SI
FIN POUR
FIN ALGORITHME

*** message déplacé ***

Posté par
kalliste
re : dm de maths 25-02-17 à 19:27

Bonsoir,

C'est du multipost...

*** message déplacé ***

Posté par
martrbo
re : dm de maths 25-02-17 à 19:34

??

*** message déplacé ***

Posté par
carita
re : Maths 25-02-17 à 19:52

ça ne marche pas pour de nombreuses raisons,
la plus évidente étant que tu n'as pas construit ton algo sur papier pour définir clairement ce que tu veux obtenir et par quelles étapes logiques tu dois passer.
(ce que l'on a conseillé depuis le début)

les variables : oui, 4 variables
préfère J1 et J2 à JETON_R et JETON_B

que représente T dans ta définition ?


JETON_R PREND LA VALEUR 1
JETON_B PREND LA VALEUR2
    ---- non, ce n'est pas à toi d'affecter une valeur à J1 et J2 : c'est la commande ALGOBOX_ALEA_ENT(1,8) qui va le faire


t PREND LA VALEUR JETON B + JETON R --- tu es sûr de ça ? comment on détermine le gain d'une partie ?

POUR N ALLANT DE 1 à 1000  --- oui, bien, ça correspond à la simulation des 1000 parties

SI ( JETON R) ALORS  ----  la machine ne comprend pas ça : ici, il doit y avoir un test (comparaison de 2 valeurs : égal, supérieur, inférieur, différent)

AFFICHER JETON B     ---- et ça sert à quoi dans ce que l'on veut obtenir ? à rien

JETON B PREND LA VALEUR 2,3,4,5,6,7,8  ---- non, une variable ne peut pas prendre plusieurs valeurs en même temps

---

allez courage, relis attentivement le long message de 17h28.

pose-toi les bonnes questions :
qu'est-ce que je veux obtenir ?
comment j'obtiens les couleurs des jetons ?
comment j'obtiens le gain d'une partie ?
qu'est-ce que je fais de ce gain ?

fais un second essai (pour 19h15, c'est cuit, mais tu vas progresser, et c'est ça le plus important ! )

Posté par
mathafou Moderateur
re : Maths 25-02-17 à 20:00

ces calculs n'ont rien à voir avec le problème (ni avce quoi que ce soit d'auilleurs :

JETON_R PREND LA VALEUR 1
JETON_B PREND LA VALEUR2
t PREND LA VALEUR JETON B + JETON R

on se demande bien à quoi ça va pouvoir servir ce calcul de la valeur constante 3
de plus t n'est pas T
la variable t n'est pas définie.


AFFICHER CALCUL ALGOBOX_ALEA_ENT(1,8)
on affiche un calcul (un nombre entier aléatoire) et on n'en fait rigoureusement rien
c'est à l'utilisateur de lire au vol cette valeur et ... d'en faire quoi ? ce n'est pas à l'utilisateur de faire des calculs, c'est au programme de les faire !!


je m'arrête là parce que tout le reste est du même genre.
poubelle entièrement direct.

pourquoi ? parce que on ne se précipite pas sur les boutons de Algobox au hasard parce que "ça sonne bien par rapport au sujet de faire des ALEA trucmuche et des "ROUGE = 1 sans savoir à quoi ça va servir ni pourquoi. ni de faire des somme de ROUGE et BLANC quei n'ont aucun sens.

mais on construit ce qu'on doit faire pas à pas sur le papier en réfléchissant sur ce que cela fait
ce que l'on détermine en faisant réellement ce que j'ai préconisé

on en est là (lire ma prose précédente)

gain = 0
Répéter 1000 fois
tirer deux jetons au hasard, de couleurs A et B
si A = B = rouge alors le gain de cette partie est 16
si A = B = blanc alors le gain est 1
sinon la perte est 5 (le gain est -5)
cumuler ce gain au gain total.
résultat : l'espérance mathématique = gain / 1000

traduit avec ce qu'on sait des tirages au hasard cela pourrait donner ensuite :

on tire un nombre entier au hasard entre 1 et 8 (de façon générale entre 1 et n)
si ce nombre est 1 alors on est tombé sur le rouge (1 seul parmi les n=8 jetons)
sinon on est tombé sur un jeton blanc


gain = 0
Répéter 1000 fois
A = un entier au hasard entre 1 et 8
B = un entier au hasard entre 1 et 8
si A = B = 1 alors le gain de cette partie est 16 (les deux jetons sont rouges)
si A = B mais ≠ 1 alors le gain de cette partie est 1 (les deux jetons sont blancs)
sinon la perte de cette partie est 5 (le gain est -5)
cumuler ce gain au gain total.
résultat : l'espérance mathématique = gain / 1000

et en traduisant les histoires de cumul de gain

gain <-- 0
Répéter 1000 fois
A <-- un entier au hasard entre 1 et 8
B <-- un entier au hasard entre 1 et 8
si A = B = 1 alors gain <-- gain + 16
si A = B mais ≠ 1 alors gain <-- gain + 1
sinon gain <-- gain - 5
résultat : l'espérance mathématique = gain / 1000

on y est alors presque puisque c'est juste maintenant une question de syntaxe
et pour traduire les "répéter" et les "si " correctement imbriqués

variables : A, B, gain, k, n
initialisation :
n = 8 (nombre de jetons dans l'urne)
gain = 0
traitement :
pour k de 1 à 1000
A = entier au hasard entre 1 et n
B = entier au hasard entre 1 et n
si A = B
si A = 1 alors gain <-- gain + 16
sinon gain <-- gain + 1
sinon gain <-- gain - 5
fin pour
sortie :
afficher gain/1000

je te laisse traduire ça mot à mot en Algobox

j'ai traduit ici les "fin trucmuche" de Algobox par des indentations (décalages des lignes)
et les "prend la valeur" par des = ou des <-- (pour pas choquer les esprits en écrivant gain = gain + quelque chose)

piège classique :
les tests d'égalités dans les "SI" se font avec == pour dire "égal" (double signe =)
et != pour dire "différent"



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 1674 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 !