所以我在TI-84计算器上有一个程序来计算三维形状的体积。这是代码
ClrHome
Disp "Z=Cuboid
Disp "Y=Tri Prism
Disp "X=Square Pyramid
Disp "W=Tri Pyramid
Disp "V=Cylinder
Disp "U=Cone
Disp "T=Sphere
Prompt S
Pause
If S=Z
Then
Prompt W,L,H
W*L*H→θ
ClrHome
Disp "V=
Disp θ
Pause
ClrHome
Stop
End
If S=Y
Then
Prompt A,B,C,H
*formula*→θ
ClrHome
Disp "V=
Disp θ
Pause
ClrHome
Stop
End
If S=X
Then
Prompt H,L,W
*formula*→θ
ClrHome
Disp "V=
Disp θ
Pause
ClrHome
Stop
End
这是我现在的整个程序,问题是当我输入S的值为X,(S = X)并按Enter继续时,程序进入If S = Y并询问我A, B,C和H.如果我输入S = Z,那么程序进入S = Z没问题。如果我输入S = Y,程序进入S = Y没问题。但是当我输入S = X时,程序进入S = Y.为什么呢?
答案 0 :(得分:1)
它的工作或多或少都是偶然的。此代码依赖于变量X
,Y
,Z
等的值不同,因此可以将它们区分开来。这显然是一个非常脆弱的设计。
由于这是一个菜单,您可能对Menu(
命令感兴趣:
Menu("Select Shape","Cuboid",C,"Tri Prism",TP,"Square Pyramid",SP
Lbl C
Prompt W,L,H
W*L*H
Disp Ans
Stop
Lbl TP
Prompt A,B,C,H
"dunno
Disp Ans
Stop
Lbl SP
Prompt H,L,W
"dunno
Disp Ans
我把公式"裸露"然后Disp Ans
在这里,以便用户可以在后续计算中轻松使用答案,而不必不必要地覆盖某些变量。