π
<-

Problème Syntaxe nspire cx cas

Pour le TI-Basic sur Nspire

Problème Syntaxe nspire cx cas

Unread postby Libs » 20 Sep 2014, 15:30

Bonjour tout le monde.

Je me suis amusé a faire un petit programme, cependant c'est l'un de mes premiers et ma Nspire m'indique une erreur syntaxe. :'(
Pouvez vous me le corriger et m'expliquer me fautes?
Code: Select all
Define poly2(a,b,c)=
Prgm
:Disp "1 = Determiner la forme canonique"
:Disp "2 = Etudier les variations de la fonction"
:Disp "3 = Resoudre une equation "
:Disp "4 = Resoudre une inequation"
:Disp "5 = Determiner la forme factorise"
:Request "Que faire?",question
:Request "a=",a
:Request "b=",b
:Request "c=",c
:α:=((-b)/(2*a))
:β:=((b^(2)-4*ac)/(4*a^(2)))
:If question=1 Then
:α:=((-b)/(2*a))
:Disp "et"
:β:=((b^(2)-4*ac)/(4*a^(2)))
:Disp"Donc la forme cannonique de f est f(x)=" ,a"(x-",α")^2 +",β
:EndIf
:If question=2 Then
:If a>0  Then
: disp ,a ",a>0 donc la fonction f est decroissante sur l'intervale ]-∞;",β"] et croissante sur l'intervale [",β";+∞]"
:Else
: disp ,a ",a<0 donc la fonction f est croissante sur l'intervale ]-∞;",β"] et decroissante sur l'intervale [",β";+∞]" 
:EndIf
:EndIf
:If question=3 Then
:Δ:=b^(2)-4*a*c
:If Δ>0 Then
:disp"△>0, donc l'equation a 2 sollutions"
:disp "x1 = ((-b-√(△))/(2a)) = "
:y:=((-b-√(Δ))/(2*a))
:disp ,y
:disp "x2 = ((-b+√(△))/(2a)) = " 
:w:=((-b+√(Δ))/(2*a))
:Disp "L'ensemble des solutions est :"
:Disp "S={",y ";",w "}"
:EndIf
:If Δ=0 Then
:Disp"△=0, donc l'equation a une seule solution"
:v:=((-b)/(2*a))
:Disp "x0=",v "D'ou S=",v
:EndIf
:If Δ<0 Then
:Disp "△ est negatif, l'equation n'a donc pas de solution"
:EndIf
:EndIf
:If question=4 Then
:Δ:=b^(2)-4*a*c
:If Δ>0 Then
:Disp"△>0, l'equation a deux solutions"
:disp "x1 = ((-b-√(△))/(2a)) = "
:y:=((-b-√(Δ))/(2*a)) 
:w:=((-b+√(Δ))/(2*a))
:If a>0 Then
:disp"la fonction est positive sur ]-∞;" ,y "] , negative sur [",y ";" ,w ,"] et positive sur ]" ,w "; +∞["
:EndIf
:If a<0 Then
:disp"la fonction est negative sur ]-∞;" ,y "] , positive sur [",y ";" ,w ,"] et negative sur ]" ,w "; +∞["
:EndIf
:EndIf
:If ∆=0 Then
: u:=((-b)/(2*a))
: If a>0 Then
: disp"la fonction est + sur ]-∞;",u "et + sur ]",u";-∞["
:EndIf
:If a<0 Then
:  disp"la fonction est negative sur ]-∞;",u "et negative sur ]",u";-∞["
:EndIf
:EndIf
:If Δ<0 Then
:If a>0 Then
:disp"La fonction est toujours positive "
:EndIf
:If a<0 Then
:disp"La fonction est toujours negative "
:EndIf
:EndIf
:EndIf
:If question=5 Then
: Δ=b^(2)-4a*c
:    t:=((-b-√(Δ))/(2a))
:    s:=((-b+√(Δ))/(2a))
: If Δ>0 Then
:disp "La forme factorise est " ,a"(x-",t")(x-",s")"
:   EndIf
:If Δ=0 Then
:  r:=((-b)/(2*a))
:  disp "La forme factorise est " ,a"(x-",r")^2"
:  If Δ<0 Then
:    disp"pas de factorisation a retenir"
:  EndIf
:EndIf
:EndIf
:EndPrgm


Merci Infiniment :)
User avatar
Libs
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Level up: 25%
 
Posts: 5
Joined: 25 Dec 2013, 11:43
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: 1S SVT

Re: Problème Syntaxe nspire cx cas

Unread postby critor » 20 Sep 2014, 15:50

Lorsque ça t'indique l'erreur de syntaxe, dans l'éditeur cela devrait déplacer le curseur vers l'endroit problématique.

De façon évident déjà tous les "disp ,a" ou "disp ,y" à remplacer par "disp a," et "disp y,".
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Problème Syntaxe nspire cx cas

Unread postby Libs » 20 Sep 2014, 16:07

Merci beaucoup! malheureusement, j'ai toujours une erreur syntaxe ...

Code: Select all
Define poly2(a,b,c)=
Prgm
:Disp "1 = Determiner la forme canonique"
:Disp "2 = Etudier les variations de la fonction"
:Disp "3 = Resoudre une equation "
:Disp "4 = Resoudre une inequation"
:Disp "5 = Determiner la forme factorise"
:Request "Que faire?",question
:Request "a=",a
:Request "b=",b
:Request "c=",c
:α:=((-b)/(2*a))
:β:=((b^(2)-4*ac)/(4*a^(2)))
:If question=1 Then
:α:=((-b)/(2*a))
:Disp "et"
:β:=((b^(2)-4*ac)/(4*a^(2)))
:Disp"Donc la forme cannonique de f est f(x)="a,"(x-"α,")^2 +"β,
:EndIf
:If question=2 Then
:If a>0  Then
: disp a, ",a>0 donc la fonction f est decroissante sur l'intervale ]-∞;"β,"] et croissante sur l'intervale ["β,";+∞]"
:Else
: disp a, ",a<0 donc la fonction f est croissante sur l'intervale ]-∞;"β,"] et decroissante sur l'intervale [",β";+∞]" 
:EndIf
:EndIf
:If question=3 Then
:Δ:=b^(2)-4*a*c
:If Δ>0 Then
:disp"△>0, donc l'equation a 2 sollutions"
:disp "x1 = ((-b-√(△))/(2a)) = "
:y:=((-b-√(Δ))/(2*a))
:disp ,y
:disp "x2 = ((-b+√(△))/(2a)) = " 
:w:=(-b+√(Δ))(2*a)
:Disp "L'ensemble des solutions est "
:Disp "S={"y, ";"w, "}"
:EndIf
:If Δ=0 Then
:Disp"△=0, donc l'equation a une seule solution"
:v:=((-b)/(2*a))
:Disp "x0="v, "D'ou S="v,
:EndIf
:If Δ<0 Then
:Disp "△ est negatif, l'equation n'a donc pas de solution"
:EndIf
:EndIf
:If question=4 Then
:Δ:=b^(2)-4*a*c
:If Δ>0 Then
:Disp"△>0, l'equation a deux solutions"
:disp "x1 = ((-b-√(△))/(2a)) = "
:y:=((-b-√(Δ))/(2*a)) 
:w:=((-b+√(Δ))/(2*a))
:If a>0 Then
:disp"la fonction est positive sur ]-∞;" y, "] , negative sur ["y, ";" w,"] et positive sur ]" w, "; +∞["
:EndIf
:If a<0 Then
:disp"la fonction est negative sur ]-∞;"y, "] , positive sur ["y, ";" w,"] et negative sur ]" w, "; +∞["
:EndIf
:EndIf
:If ∆=0 Then
: u:=((-b)/(2*a))
: If a>0 Then
: disp"la fonction est positive sur ]-∞;"u, "et positive sur ]"u,";-∞["
:EndIf
:If a<0 Then
:  disp"la fonction est negative sur ]-∞;"u,"et negative sur ]"u,";-∞["
:EndIf
:EndIf
:If Δ<0 Then
:If a>0 Then
:disp"La fonction est toujours positive "
:EndIf
:If a<0 Then
:disp"La fonction est toujours negative "
:EndIf
:EndIf
:EndIf
:If question=5 Then
: Δ=b^(2)-4a*c
:    t:=((-b-√(Δ))/(2a))
:    s:=((-b+√(Δ))/(2a))
: If Δ>0 Then
:disp "La forme factorise est "a, "(x-"t,")(x-"s,")"
:   EndIf
:If Δ=0 Then
:  r:=((-b)/(2*a))
:  disp "La forme factorise est " ,a"(x-",r")^2"
:  If Δ<0 Then
:    disp"pas de factorisation a retenir"
:  EndIf
:EndIf
:EndIf
:EndPrgm
User avatar
Libs
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Level up: 25%
 
Posts: 5
Joined: 25 Dec 2013, 11:43
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: 1S SVT

Re: Problème Syntaxe nspire cx cas

Unread postby critor » 20 Sep 2014, 16:08

Et donc? Tu n'as toujours pas dit où se place le curseur lorsque l'erreur est signalée.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Problème Syntaxe nspire cx cas

Unread postby Libs » 20 Sep 2014, 16:19

Ah oui. Désolé. Le curseur se déplace sur le If question=2 Then
User avatar
Libs
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Level up: 25%
 
Posts: 5
Joined: 25 Dec 2013, 11:43
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: 1S SVT

Re: Problème Syntaxe nspire cx cas

Unread postby critor » 20 Sep 2014, 16:26

Si tu fais Ctrl+B dans l'éditeur de programmes, après avoir validé l'écran signalant une erreur, le curseur se déplace vers la ligne problématique.

D'où sort ton programme ?
Parce qu'il y a nombre de problèmes par rapport à la syntaxe TI-Nspire.

Même si on supprime les erreurs, il sera encore loin de fonctionner correctement.

Ca ressemble à une mauvaise (pour le moment) adaptation d'un code prévu pour une autre machine.


En attendant, dès le début:
Code: Select all
:Disp"Donc la forme cannonique de f est f(x)="a,"(x-"α,")^2 +"β,

Pas de virgule en fin de ligne.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Problème Syntaxe nspire cx cas

Unread postby Libs » 20 Sep 2014, 16:31

critor wrote: De façon évident déjà tous les "disp ,a" ou "disp ,y" à remplacer par "disp a," et "disp y,".


Je débute le TI basic, mais je programe au autoit. J'ai crée le programme moi même en me disant que c'etais le meilleurs moyen d'apprendre a maitriser le basic et de m'arranger en 1ere.

Pourrais tu me corriger mes fautes? Merci d'avance.
User avatar
Libs
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Level up: 25%
 
Posts: 5
Joined: 25 Dec 2013, 11:43
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: 1S SVT

Re: Problème Syntaxe nspire cx cas

Unread postby critor » 20 Sep 2014, 16:41

Si c'est bien la dernière version ci-dessus, encore une autre virgule à virer en fin de ligne:
Code: Select all
:Disp "x0="v, "D'ou S="v,


Une autre virgule à virer tout court:
Code: Select all
:disp ,y


Ensuite, la calculatrice râle ici à cause du delta-majuscule qui a une signification particulière selon le contexte:
Code: Select all
If ∆=0 Then

Utilise un delta-minuscule pour contourner ce problème sans avoir à modifier tous les autres delta de ton code:
Code: Select all
If δ=0 Then


Il ne devrait plus y avoir d'erreur maintenant, mais ce n'est pas prêt de marcher.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Problème Syntaxe nspire cx cas

Unread postby Libs » 20 Sep 2014, 17:05

Merci beaucoup
User avatar
Libs
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Level up: 25%
 
Posts: 5
Joined: 25 Dec 2013, 11:43
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: 1S SVT

Re: Problème Syntaxe nspire cx cas

Unread postby Bisam » 20 Sep 2014, 18:00

Voici un code corrigé, indenté, et qui, de plus, devrait faire ce que tu en attends.
J'ai aussi corrigé les fautes d'orthographe et les erreurs mathématiques, tant qu'à faire...
Enfin, j'ai raccourci quelques morceaux qui se répétaient.
Code: Select all
Define poly2(a,b,c)=
Prgm
:Local α, β, δ, x1, x2
:Disp "Étude de f(x)=", a, "x² +", b, "x +", c
:Disp "Choisissez ce que vous voulez faire :"
:Disp "1 = Déterminer la forme canonique"
:Disp "2 = Étudier les variations de la fonction"
:Disp "3 = Résoudre l'équation f(x)=0"
:Disp "4 = Déterminer le signe de f(x) (pour résoudre une inéquation)"
:Disp "5 = Déterminer la forme factorisée"
:Request "Que faire?", question
:δ:=b^(2)-4*a*c
:α:=((-b)/(2*a))
:β:=(δ/(4*a^(2)))
:If δ>0 Then
:  x1:=((-b-√(δ))/(2*a))
:  x2:=((-b+√(δ))/(2*a))
:EndIf
:If question=1 Then
:  Disp "α=", α, "et β=", β
:  Disp "Donc la forme canonique de f est f(x)=", a, "*(x - ", α, ")^2 +", β
:ElseIf question=2 Then
:  If a>0 Then
:    Disp "a=", a, ">0 donc la fonction f est décroissante sur l'intervalle ]-∞;", β, "] et croissante sur l'intervalle [", β, ";+∞["
:  Else
:    Disp "a=", a, "<0 donc la fonction f est croissante sur l'intervalle ]-∞;", β, "] et décroissante sur l'intervalle [", β, ";+∞["
:  EndIf
:ElseIf question=3 or question=4 Then
:  If δ>0 Then
:    Disp "△>0, donc l'équation a 2 solutions"
:    Disp "x1 = ((-b-√(△))/(2a)) = ", x1
:    Disp "x2 = ((-b+√(△))/(2a)) = ", x2
:    If question=3 Then
:      Disp "L'ensemble des solutions de l'équation f(x)=0 est "
:      Disp "S={", x1, ";", x2, "}"
:    Else
:      If a>0 Then
:        Disp "La fonction est positive sur ]-∞;", x1, "] , négative sur [", x1, ";", x2, "] et positive sur ]", x2, "; +∞["
:      ElseIf a<0 Then
:        Disp "La fonction est négative sur ]-∞;", x1, "] , positive sur [", x1, ";", x2, "] et négative sur ]", x2, "; +∞["
:      EndIf
:    EndIf
:  ElseIf δ=0 Then
:    Disp "△=0, donc l'équation a une seule solution"
:    Disp "x0=", α
:    If question=3 Then
:      Disp "L'ensemble des solutions de l'équation f(x)=0 est "
:      Disp "S={", α, "}"
:    Else
:      If a>0 Then
:        Disp "La fonction est toujours positive et s'annule uniquement en x=", α
:      ElseIf a<0 Then
:        Disp "La fonction est toujours négative et s'annule uniquement en x=", α
:      EndIf
:    EndIf
:  Else
:    Disp "△<0 : l'équation f(x)=0 n'a donc aucune solution réelle"
:    If question=4 Then
:      If a>0 Then
:        Disp "La fonction est toujours strictement positive"
:      ElseIf a<0 Then
:        Disp "La fonction est toujours strictement négative"
:      EndIf
:    EndIf
:  EndIf
:ElseIf question=5 Then
:  If δ>0 Then
:    Disp "La forme factorisée est ", a, "*(x - ", x1, ")*(x - ", x2, ")"
:  ElseIf δ=0 Then
:    Disp "La forme factorisée est ", a, "*(x - ", α, ")^2"
:  Else
:    Disp "Pas de factorisation à retenir"
:  EndIf
:EndIf
:EndPrgm


Pour l'utiliser, il suffit de taper poly2(1,5,6) par exemple...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Next

Return to Nspire-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
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 !
1234
-
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.
811 utilisateurs:
>780 invités
>24 membres
>7 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)