π
<-

Exercice de dm

Discussions scientifiques et scolaires

Exercice de dm

Unread postby Kadjil » 09 Jan 2016, 19:06

Bonjour
Mon prof de math ma donner un exercice de dm sur un programme qui est plutôt costaud (avec le modeste niveau que j'ai en programmation) et que je n'ai pas l'habitude de voir en cours.

Voici l'énoncé :

Préambule - Dans et exercice, on ne demande aucun calcul effectif. Il s'agit seulement d'une occasion, donnée par une situation fort discutable, d'écrire un petit algorithme.
Pour le réveillon de la Saint Sylvestre, Barnabé souhaite distraire l'assemblée pléthorique qu'il a conviée. Aussi a-t-il
conçu un jeu de hasard des plus alléchants.
Le joueur est positionné sur un petit siège éjectable qui
coulisse le long d'un rail.
À l'une des extrémités du rail (en position 2), se trouve une piscine remplie de Champagne.
À l'autre extrémité (en position -3), se trouve une piscine de stockage des eaux usées.
Ce siège avance d'un mètre avec une probabilité égale à 1/3 , sinon, il recule d'un mètre.
Chaque déplacement est indépendant du précédent.
Le jeu s'arrête si le siège se retrouve en position 2 ou en -3 et le joueur est alors éjecté
dans la piscine attenante.
Écrire un programme simulant ce jeu, qui aaffichera "CHAMPAGNE" ou "EAUX
USÉES" en sortie.
Ce programme fournit-il a priori toujours un résultat ?


Pour résumé le siège avance de 1 (avec une proba de 1/3) et recule de 1 (avec une proba de 2/3). Le jeu (si on peut appeler sa un jeu ^^) s'arrête à -3 ou 2.
J'avais pensé à une boucle tant que A est plus grand que -3 et plus petit que 2, mais j'arrive pas à faire des proba sur la calculatrice.
Pouvez vous m'aider ?
Last edited by Kadjil on 10 Jan 2016, 09:28, edited 1 time in total.
User avatar
Kadjil
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 1.6%
 
Posts: 15
Joined: 09 Jan 2016, 19:03
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S

Re: Exercice de dm

Unread postby critor » 09 Jan 2016, 21:38

Dès qu'il y a répétition oui, c'est une boucle. :)

Utilise la commande NbrAléat que tu trouves dans :f41: :f24:.

Elle te tire un nombre au hasard selon une loi uniforme sur [0;1].
Il te suffit donc de tester si NbrAléat<1/3. :)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 50.2%
 
Posts: 42133
Images: 16453
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Exercice de dm

Unread postby Kadjil » 10 Jan 2016, 09:45

Donc voilà mon programme qui ne marche pas --"

Code: Select all
0->A
0->B
While -3<B<2
(NbrAléat<1/3)->A
If A=0
Then
-1->A
If A=1
Else
1->A
End
A+B->B
End
If B=-3
Then
Disp "eaux ussée"
If B=2
Else
Disp "Champagne"
End

La calculatrice tourne en boucle sans afficher de résultats.
User avatar
Kadjil
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 1.6%
 
Posts: 15
Joined: 09 Jan 2016, 19:03
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S

Re: Exercice de dm

Unread postby Hamza.S » 10 Jan 2016, 10:35

pourquoi ces lignes se suivent?
Code: Select all
If A=1
Else


Code: Select all
If B=2
Else
Image
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 29.1%
 
Posts: 4505
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):
MyCalcs profile

Re: Exercice de dm

Unread postby Kadjil » 10 Jan 2016, 11:52

Bah j'avais mis un end à la fin de la première série de if, donc je pensai que c'était bon.
User avatar
Kadjil
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 1.6%
 
Posts: 15
Joined: 09 Jan 2016, 19:03
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S

Online

Re: Exercice de dm

Unread postby noelnadal » 10 Jan 2016, 16:04

J'ai modifié deux choses :

1) La condition pour le while n'était pas bonne. Il faut séparer les deux inégalités, sinon l'interpréteur comprend autre chose : si B = 4 par exemple, alors "-3<B" renvoie 1, et donc "-3<B<2" devient "1<2" ce qui est vrai, alors que ça devrait renvoyer faux.

2) La syntaxe pour le If est : If ... Then ... Else ... End. Pas besoin de rajouter un "If A=1" avant le Else.

Code: Select all
0->A
0->B
While -3<B and B<2
(NbrAléat<1/3)->A
If A=0
Then
-1->A
Else
1->A
End
A+B->B
End
If B=-3
Then
Disp "eaux usées"
Else
Disp "Champagne"
End


C'est optimisable dans le sens où ça pourrait tenir en moins de lignes, mais normalement ce programme fonctionne.
Last edited by noelnadal on 10 Jan 2016, 16:31, edited 1 time in total.
User avatar
noelnadalEcrivain
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 37.5%
 
Posts: 2266
Images: 0
Joined: 10 Mar 2011, 00:00
Location: France, Melun (77)
Gender: Male
Calculator(s):
MyCalcs profile
Class: INRIA Paris
Twitter: nadalnoel
Facebook: noel.nadal1
GitHub: noelnadal

Re: Exercice de dm

Unread postby Hamza.S » 10 Jan 2016, 16:12

Code: Select all
(NbrAléat<1/3)->A

cette ligne renvoie 0 ou 1
donc j'ai fait ça
Code: Select all
0->A
0->B
While -3<B and B<2
(NbrAléat<1/3)->A
If A=0
-1->A
A+B->B
If B=-3
Disp "eaux usées
If B=2
Disp "Champagne
End

(merci noelnadal pour la correction du While)
Image
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 29.1%
 
Posts: 4505
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):
MyCalcs profile

Re: Exercice de dm

Unread postby Kadjil » 10 Jan 2016, 16:18

Merci à vous 2, le programme marche à présent.
Par contre le programme de noelnadal marquer eaux usées et champagne dans le cas où il tombait dans l'eau usées.
Mais ton programme fonctionne Hamza.S merci :)
User avatar
Kadjil
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 1.6%
 
Posts: 15
Joined: 09 Jan 2016, 19:03
Gender: Male
Calculator(s):
MyCalcs profile
Class: Terminale S

Online

Re: Exercice de dm

Unread postby noelnadal » 10 Jan 2016, 16:31

Oui, c'était le même problème avec le Else et le If, je ne l'avais pas remarqué.
User avatar
noelnadalEcrivain
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 37.5%
 
Posts: 2266
Images: 0
Joined: 10 Mar 2011, 00:00
Location: France, Melun (77)
Gender: Male
Calculator(s):
MyCalcs profile
Class: INRIA Paris
Twitter: nadalnoel
Facebook: noel.nadal1
GitHub: noelnadal


Return to Maths, physique, informatique et autre...

Who is online

Users browsing this forum: ClaudeBot [spider] and 10 guests

-
Search
-
Social TI-Planet
-
Featured topics
Grand Concours 2024-2025 - Programmation Python
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1194 utilisateurs:
>1141 invités
>47 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)