Forum

Catégorie : Support
Forum : TI-82 Advanced
Vues : 1396
Réponses : 6
Type : discussion
Etat : réponses autorisées

Aide pour un programme

Lebretonenquesti le 08/11/2015 à 12:31
Déjà, bonjour a tous

Alors voici mon problème: Jai tenté je dis bien tenté de créer un programme ou le but est de trouver un nombre entre un et cent. Cependant il ne fonctionne pas comme je le désirerais. Si quelqu'un pourrait m'aider ce serait laugh.gif génial laugh.gif
Voici le programme :
(différent de) signifie le = barré

Code

:entAléat(0,100)->X
:1->E
:Disp"choisissez un","nombre","entre 0 et 100"
:goto A
:lbl A
:prompt A
:if A=X
:then goto W
:if A(différent de)X
:then
:goto F
:lbl F
:if A>X
:then
:goto G
:else
:if A<X
:then
:goto P
:lbl G
:disp "trop grand"
:E+1->E
:goto A
:lbl P
:disp "trop petit"
E+1->E
:goto A
:lbl W
:Disp "bien joué !"
:Disp E
:repeat


Aurait je suis en 2nd du coup si vous vous une erreur qui creve les yeux soyez un peu indulgent merci godgrace.gif
Jai oublié de dire que j'ai une ti82 Advanced
Mingerton le 08/11/2015 à 14:59
Oula, va falloir se pencher un peu sur l'algo pour comprendre pourquoi ça fonctionne pas ! Regarde les paragraphes sur les boucles et les conditions pour en comprendre le principe (dans le tuto de ma signature pour apprendre le Basic).

Les labels : à éviter autant que possible, surtout quand c'est inutile.

Voici, à terme, ce à quoi tu pourrais arriver :
Code
EffVar AEffVar EentAléat(1,100->X
Repeat A=X
Prompt A
If A<X
Disp "TROP GRAND
If A>X
Disp "TROP PETIT
E+1->E
End
Disp "BIEN JOUE !",E
Lebretonenquesti le 09/11/2015 à 18:21
D'accord merci bigmouth.gif
Je vais essayer de faire un programme de avec plusieurs niveau de difficultés et je te dirais après
Lebretonenquesti le 10/11/2015 à 20:48
Voila! J'ai enfin finaliser le programme godgrace.gif
Dites moi ce que vous en pensez
Je me suis dans le fond inspiré du programme du tuto d'apprentissage de programmation de Openclassroom

Code

menu("PLUS OU MOINS","ENTRE 0 ET 10",1,"ENTRE 0 ET 100",2,"PERSONALISÉ",P)
Lbl1
10->M
1->N
0->C
EntAleat(N,M->A
RepeatC=A
Input "C=",C
If C>A
Disp "moins"
If C<A
Disp "plus"
End
Disp "gagné"
Stop
Lbl2
100->M
1->N
0->C
EntAleat(N,M,->A
RepeatC=A
input "C=",C
if C>A
Disp "moins"
If C<A
Disp "plus"
End
If C=A
Disp "gagné"
Stop
Lbl P
Input "limite de ton choix",I
I->M
1->N
0->
EntAleat(N,M,->A
Repeat C=A
Input"C=",C
If C>A
Disp "moins"
If C<A
Disp "plus"
End
If C=A
Disp "gagné"
Stop


Woila
Mingerton le 10/11/2015 à 21:03
Il y a bien plus simple ! Dans tes labels tu ne règles que la valeur de l'intervalle, et le reste est commun. Mettre 3 fois le même code dans 3 labels différents c'est vraiment mnésiphage winkle.gif

Sinon, pas Stop mais Return. Dans la pratique ça va rien changer, mais à un niveau plus avancé c'est plus sûr.
Lebretonenquesti le 10/11/2015 à 21:16
D'accords je vais modifier cela et je te dirais plus tard, merci pour l'aide godgrace.gif
Un progammeur le 28/09/2016 à 22:17
Mingerton a écrit :
Oula, va falloir se pencher un peu sur l'algo pour comprendre pourquoi ça fonctionne pas ! Regarde les paragraphes sur les boucles et les conditions pour en comprendre le principe (dans le tuto de ma signature pour apprendre le Basic).

Les labels : à éviter autant que possible, surtout quand c'est inutile.

Voici, à terme, ce à quoi tu pourrais arriver :
Code
EffVar AEffVar EentAléat(1,100->X
Repeat A=X
Prompt A
If A<X
Disp "TROP GRAND
If A>X
Disp "TROP PETIT
E+1->E
End
Disp "BIEN JOUE !",E





Exactement c'est aussi ce que j'ai fait.
Quand tu programme parle en français en faisant des phrases de ce que tu compte faire (moi ça m'aide) et comme ca tu ne t'embrouille pas et c'est plus clair winkle.gif

PS : je suis en 1ere et en 2nde je faisais des trucs comme ça. Ce n'est ni la classe ni l'âge qui compte c'est ton entrainement.

Bonne continuation happy.gif