我刚刚开始尝试制定化学气法规范。我不太了解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
答案 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)
应该是P=0
,而不是P→0
。 (虽然这可能是一个错字)
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