Page 1 of 2

Programme équation second degré

Unread postPosted: 26 Jun 2013, 09:41
by Max84
Bonjour,
Je suis en train de programmer ma calculette pour qu'elle résolve des équations du second degré.
Or, deux erreurs de syntaxe apparaissent.

Voici mon programme:
Code: Select all
Define pol()
Prgm
Local a,b,c,d
Request "A=",a
Request "B=",b
Request "C=",c
d=b²-4*a*c
If d>0
   Local x1,x2
   x1 = -b-√d/2a
   x2 = -b+√d/2a
   Disp "x1=",x1
   Disp "x2=",x2

Elseif d=0
   Local x
   x = -b/2a
   Disp "x=",x
   
Else d<0
   Disp"pas de solution"
Endif

End Prgm

Re: Programme équation second degré

Unread postPosted: 26 Jun 2013, 09:43
by Laurae
Premièrement, essaies de mettre les "Local" tout en haut à chaque fois (en-dessous de "Prgm") :)
Après, tu ne peux pas mettre de conditions après un "Else" (il faut un "Elseif").
Par ailleurs, il te manque un "Then" après la condition du "If".
Ensuite, il te faut des ":=" à la place des "=" pour affecter une valeur à une variable.

Suis ces indications, et normalement il ne devrait plus y avoir de problèmes :p

Re: Programme équation second degré

Unread postPosted: 26 Jun 2013, 09:45
by critor
En TI-Basic les affectations ne se font pas avec '=' mais avec ':='.
'=' tout seul c'est juste pour tester une égalité.

Re: Programme équation second degré

Unread postPosted: 26 Jun 2013, 09:45
by diot
essaye ça :
Code: Select all
    Define pol()
    Prgm
    Local a,b,c,d
    Request "A=",a
    Request "B=",b
    Request "C=",c
    d=b²-4*a*c
    If d>0
       Local x1,x2
       -b-√d/2a ->x1
       -b+√d/2a ->x2
       Disp "x1=",x1
       Disp "x2=",x2
    End if
    if d=0
       Local x
       -b/2a -> x
       Disp "x=",x
   End if   
   if d<0
       Disp"pas de solution"
    Endif

    End Prgm

Re: Programme équation second degré

Unread postPosted: 26 Jun 2013, 09:53
by Max84
J'ai rajouté les := qui manquaient
J'ai rajouté les Endif à la fin des If (et j'ai changé Else par Elseif)
Il faut des Thens ?
Mon erreur: "Missing start or end of block syntax"

Re: Programme équation second degré

Unread postPosted: 26 Jun 2013, 10:01
by critor
Il te manque les 'then' après les conditions des 'if', nécessaires dès qu'il y a plusieurs instructions à exécuter.

Re: Programme équation second degré

Unread postPosted: 26 Jun 2013, 10:03
by Max84
J'ai toujours la même erreur :/

Re: Programme équation second degré

Unread postPosted: 26 Jun 2013, 10:10
by critor
On peut avoir ta dernière version du code stp?

Re: Programme équation second degré

Unread postPosted: 26 Jun 2013, 13:32
by Bisam
Voici ton programme corrigé :
Code: Select all
Define pol()
Prgm
Local a,b,c,d,x,x1,x2
Request "A=",a
Request "B=",b
Request "C=",c
d:=b²-4*a*c
If d>0 Then
   x1 := -b-√d/(2a)
   x2 := -b+√d/(2a)
   Disp "x1=",x1
   Disp "x2=",x2
Elseif d=0 Then
   x := -b/(2a)
   Disp "x=",x
Else
   Disp "pas de solution"
Endif
EndPrgm

L'erreur de programmation qui ne t'avait pas encore été signalée était d'avoir mis une condition après le "Else".
Tu peux l'écrire en commentaire (en mettant [2nd][X] devant), si tu le veux, mais elle ne doit pas apparaître comme instruction du programme.

Enfin, les erreurs mathématiques étaient d'avoir oublié toutes les parenthèses aux dénominateurs...

Re: Programme équation second degré

Unread postPosted: 27 Jun 2013, 11:10
by Max84
Je viens te taper ton code, mais j'ai toujours la même erreur:
Max84 wrote: "Missing start or end of block syntax"


:/