π
<-
Chat plein-écran
[^]

Problème Syntaxe nspire cx cas

Pour le TI-Basic sur Nspire

Problème Syntaxe nspire cx cas

Message non lude 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: Tout sélectionner
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 :)
Avatar de l’utilisateur
Libs
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Prochain niv.: 25%
 
Messages: 5
Inscription: 25 Déc 2013, 11:43
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: 1S SVT

Re: Problème Syntaxe nspire cx cas

Message non lude 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
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.4%
 
Messages: 41498
Images: 14694
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Problème Syntaxe nspire cx cas

Message non lude Libs » 20 Sep 2014, 16:07

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

Code: Tout sélectionner
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
Avatar de l’utilisateur
Libs
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Prochain niv.: 25%
 
Messages: 5
Inscription: 25 Déc 2013, 11:43
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: 1S SVT

Re: Problème Syntaxe nspire cx cas

Message non lude 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
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.4%
 
Messages: 41498
Images: 14694
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Problème Syntaxe nspire cx cas

Message non lude Libs » 20 Sep 2014, 16:19

Ah oui. Désolé. Le curseur se déplace sur le If question=2 Then
Avatar de l’utilisateur
Libs
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Prochain niv.: 25%
 
Messages: 5
Inscription: 25 Déc 2013, 11:43
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: 1S SVT

Re: Problème Syntaxe nspire cx cas

Message non lude 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: Tout sélectionner
:Disp"Donc la forme cannonique de f est f(x)="a,"(x-"α,")^2 +"β,

Pas de virgule en fin de ligne.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.4%
 
Messages: 41498
Images: 14694
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Problème Syntaxe nspire cx cas

Message non lude Libs » 20 Sep 2014, 16:31

critor a écrit: 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.
Avatar de l’utilisateur
Libs
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Prochain niv.: 25%
 
Messages: 5
Inscription: 25 Déc 2013, 11:43
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: 1S SVT

Re: Problème Syntaxe nspire cx cas

Message non lude 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: Tout sélectionner
:Disp "x0="v, "D'ou S="v,


Une autre virgule à virer tout court:
Code: Tout sélectionner
:disp ,y


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

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


Il ne devrait plus y avoir d'erreur maintenant, mais ce n'est pas prêt de marcher.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.4%
 
Messages: 41498
Images: 14694
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Problème Syntaxe nspire cx cas

Message non lude Libs » 20 Sep 2014, 17:05

Merci beaucoup
Avatar de l’utilisateur
Libs
Niveau 6: SM (Super Membre)
Niveau 6: SM (Super Membre)
Prochain niv.: 25%
 
Messages: 5
Inscription: 25 Déc 2013, 11:43
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: 1S SVT

Re: Problème Syntaxe nspire cx cas

Message non lude 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: Tout sélectionner
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...
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Suivante

Retourner vers Nspire-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 24 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1516 utilisateurs:
>1459 invités
>52 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)