Page 1 of 3

Erreur : Le test n'a pas donné de résultat TRUE ou FALSE

Unread postPosted: 05 Apr 2013, 19:36
by Revai
Bonjour!
Je suis nouveau ici, donc ne me tirez pas dessus s'il existe déjà un post avec ce sujet ^-^
Bref, je programme quelque chose sur ma NSpire, mais avec un If, la calculette me renvoie cette erreur:
"Erreur : Le test n’a pas donné de résultat TRUE ou FALSE."

Je regarde, ma variable est définie, aucune bêtise, alors où est le problème?
Pouvez vous m'aider, ou est-ce que ma NSpire me trolle? :troll:

Merci d'avance!

Re: Erreur : Le test n'a pas donné de résultat TRUE ou FALSE

Unread postPosted: 05 Apr 2013, 19:37
by Excale
Donne nous le code du programme :).

Re: Erreur : Le test n'a pas donné de résultat TRUE ou FALSE

Unread postPosted: 05 Apr 2013, 19:39
by Lola
D'après ce que j'en sais c'est un troll.
Si tu a testé 'If var' alors il fallait faire 'If var!=0' (!= c'est le signe différent de, tu fais ctrl puis = pour l'avoir).
Sinon passe ton bout de code on pourra mieux t'aider.

Re: Erreur : Le test n'a pas donné de résultat TRUE ou FALSE

Unread postPosted: 05 Apr 2013, 19:41
by Revai
C'est lourd, je vais le couper.
Code: Select all
  Loop
:©Attaque:   
Text autoa:   
atkarme*rand()+prep→curatk:   
Disp "Vous frappez ",curatk," dégâts":   
ve-curatk→ve:
©Défense:   
Text choc:   
atkene*rand()→curhit:   
Disp "L'attaque vous inflige ",curhit," dégâts":   
pv-cuthit→pv:   
[b]If pv≤0 Then: [/b]      CETTE ligne fait le bug
Text armorbreak:     
If fatal=1 Then:       
Text death:       
Stop:     
EndIf:     
fatal+1→fatal:   
EndIf: 
EndLoop


Sachant que la variable "armor" est une valeur ne dépassant pas 100...
Merci T_T

Re: Erreur : Le test n'a pas donné de résultat TRUE ou FALSE

Unread postPosted: 05 Apr 2013, 19:42
by Levak
Un test qui renvoie "Erreur : Le test n’a pas donné de résultat TRUE ou FALSE." c'est qu'il ne sait pas déterminer la nature booléenne de ton expression.
Par exemple, If var = 0 mais que var n'est pas défini / n'a pas de valeur / a un type non compatible avec ton expression de comparaison/test alors tu auras une telle erreur.
Ceci est souvent dû aux valeurs non initialisées qu'on "oublie" car on a le calcul formel qui va interpréter "var" comme étant le symbole "var" et non une variable.


EDIT : Dans ton code pv ou culthit n'est pas intialisé.
Donc le calcul pv-cuthit→pv revient à stocker dans pv une expression (!= nombre).
Tu ne peux pas comparer une expression avec un nombre. (ex : comparer x avec 0 sans rien savoir sur x ?)

Re: Erreur : Le test n'a pas donné de résultat TRUE ou FALSE

Unread postPosted: 05 Apr 2013, 19:43
by Excale
Essaie de disp pv et cuthit juste avant cette ligne:
Code: Select all
pv-cuthit→pv


EDIT: cuthit != curhit :)

Re: Erreur : Le test n'a pas donné de résultat TRUE ou FALSE

Unread postPosted: 05 Apr 2013, 19:47
by Revai
Merci! J'ai trouvé! J'avais marqué cuthit au lieu de curhit!
MerciMerciMercimercimerci! :=): :=):

EDIT: Ah, si j'avais attendu de dernier post. Désolé d'avoir été suffisamment bête pour ne pas relire mon code! :P A bientôt et encore merci!

Re: Erreur : Le test n'a pas donné de résultat TRUE ou FALSE

Unread postPosted: 23 Jan 2016, 12:12
by Tom129
Bonjour,

J'ai aussi un problème similaire. Lors de l'exécution du programme le message d'erreur s'affiche. Le programme portant sur la calorimétrie il est fait de la cette façon :

Code: Select all
Define LibPub trans_energie()=
Prgm
:Request "Valeur recherchée",v,0
:If v=q Then
:Request "m",m,0
:Request "c",c,0
:Request "T1",t1,0
:Request "T2",t2,0
:Disp "Q = m × c ×(T2-T1)"
:Disp "Q =",m,"×",c,"× (",t2,"-",t1,")"
:Disp "Q =",m*c*(t2-t1)
:ElseIf v=m Then
:Request "Q",q,0
:Request "c",c,0
:Request "T1",t1,0
:Request "T2",t2,0
:Disp "m =",(("Q")/("c × (T2-T1)"))
:Disp "m ="&q&"/("&c&"×("&t2&"-"&t1&")"
:Disp "m =",((q)/(c*(t2-t1)))
:ElseIf v=c Then
:c:="c ="&((q)/(m&"× ("&t2&"-"&t1&")"))
:Request "Q",q
:Request "m",m
:Request "T1",t1
:Request "T2",t2
:Disp "c =",(("Q")/("m × (T2-T1)"))
:Disp c
:Disp "c =",((q)/(m*(t2-t1)))
:ElseIf v=t1 Then
:t1:="T1 =-"&((q)/(m&"×"&c))&"+"&t2
:Request "Q",q
:Request "m",m
:Request "c",c
:Request "T2",t2
:Disp "T1 = -",(("Q")/("m × c")),"+T2"
:Disp t1
:Disp "T1 =",((−q)/(m*c))+t2
:ElseIf v=t2 Then
:t2:="T2 ="&((q)/(m&"×"&c))&"+"&t1
:Request "Q",q
:Request "m",m
:Request "c",c
:Request "T1",t1
:Disp "T2 =",(("Q")/("m × c")),"+T1"
:Disp t2
:Disp "T2 =",((q)/(m*c))+t1
:EndIf
:EndPrgm


Lorsque l'inconnu est Q, il n'a aucun problème pour me faire l'opération. Mais quand c'est m, c, T1 et T2, il m'affiche "Erreur : Le test n'a pas donné de résultat TRUE ou FALSE".
J'ai essayé de tourner le calcul de m de la même façon que Q mais... y veut pas !

D'où viendrait le problème ? Merci pour vos réponses.

Re: Erreur : Le test n'a pas donné de résultat TRUE ou FALSE

Unread postPosted: 23 Jan 2016, 12:16
by Hamza.S
essaies :
Code: Select all
If string(v)="q" Then
...
ElseIf string(v)="t2" Then

Re: Erreur : Le test n'a pas donné de résultat TRUE ou FALSE

Unread postPosted: 23 Jan 2016, 12:30
by Tom129
En rajoutant string(v)="q"... Le programme ne me renvoie plus à une erreur mais me marque "Terminé" sans même faire les opérations.