If语句中的TI基本语法错误

时间:2015-01-05 04:24:17

标签: algorithm ti-basic

我刚刚开始尝试制定化学气法规范。我不太了解TI基本的语法。它将在第一个If语句之后运行。即使输入的数字仅与第一个if语句有关,它在计算第一个语句的答案后仍会立即出现语法错误。谢谢!

Input "Temp(k):",T
Input "Pressure(atm):",P
Input "Volume(L):",V
Input "mol:",N

If T=0
Then
(P*V)/(N*0.0821)→T
Disp "Temp(k):",T

If P→0 
Then 
(N*0.0821*T)/V→P
Disp "Pressure(atm)":,P


If V→0 
Then
(N*0.0821*T)/P→V
Disp "Volume(L):",V


If N→0 
Then
(P*V)/(0.0821*T)→N
Disp "mol:",N

6 个答案:

答案 0 :(得分:2)

If P→0

我认为应该是If P=0(同样适用于接下来的两个if语句。)

运算符是赋值,与(P*V)/(N*0.0821)→T中的(P*V)/(N*0.0821) T的值=一样。另一方面,then是比较运算符。

此外,我认为(尽管这会让我的记忆稍微延长)if end变种{{1}}也需要{{1}}。

答案 1 :(得分:2)

问题是您将赋值运算符与等运算符混淆。等于运算符,它是与赋值运算符( - >)相等的等号,它将左侧的值存储在右侧的变量中。您希望显示相等性,因此您应该使用=而不是-->

此外,如果在if-then语句块中有多个操作,则必须使用“END”操作将其关闭。

答案 2 :(得分:1)

  1. 应该是P=0,而不是P→0。 (虽然这可能是一个错字)

  2. If语句必须后跟一个结束End命令,该命令表示If块的结束。

答案 3 :(得分:1)

由于您使用的是TI-83/84 BASIC,这里的代码是正确的。

"Temp(k):→Str1
"Pressure(atm):→Str2
"Volume(L):→Str3
Input Str1,T
Input Str2,P
Input Str3,V
Input "mol:",N
If not(T
Then
PV/(N.0821→T
Disp Str1,T
End
If not(P
Then 
N.0821T/V→P
Disp Str2,P
End
If not(V
Then
N.0821T/P→V
Disp Str3,V
End
If not(N
Then
PV/(.0821T→N
Disp "mol:",N
End

答案 4 :(得分:0)

除了paxdiablo的回答,我相信Then应与If s在同一行,每个If都需要附带的EndIf声明结束它应该执行的块。

像这样:

If T=0 Then
 (P*V)/(N*0.0821)→T
 Disp "Temp(k):",T
EndIf

If P=0 Then 
 (N*0.0821*T)/V→P
 Disp "Pressure(atm)":,P
EndIf

If V=0 Then
 (N*0.0821*T)/P→V
 Disp "Volume(L):",V
EndIf

If N=0 Then
 (P*V)/(0.0821*T)→N
 Disp "mol:",N
EndIf

答案 5 :(得分:0)

唯一需要添加的是最后的End语句。此外,需要更改If语句。

If T≠0
Then
(P*V)/(N*0.0821)→T
Disp "Temp(k):",T
End