1

我今天才开始尝试制定化学气体法典。我不太了解 TI basic 的语法。它将在第一个 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
4

6 回答 6

2
于 2015-01-05T04:37:25.767 回答
2

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

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

于 2015-07-05T20:29:13.677 回答
1
  1. 应该是P=0,不是P→0。(虽然这可能是一个错字)

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

于 2015-01-27T02:19:32.700 回答
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
于 2015-03-02T13:32:51.763 回答
0

除了 paxdiablo 的回答之外,我认为Thens 应该与 s 在同一行,If并且每个都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
于 2015-01-06T00:00:42.230 回答
0

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

If T≠0
Then
(P*V)/(N*0.0821)→T
Disp "Temp(k):",T
End
于 2015-07-31T09:43:54.327 回答