为什么我的TI-84程序终止了



不知道为什么,但我的程序一直终止。我删除了所有的停止功能。下面是代码:

    :Lbl A
    :ClrHome
    :Prompt A
    :ClrHome
    :Prompt B
    :ClrHome
    :Prompt C
    :Disp "B^2-4AC=" (Program stops here for some reason)
    :If D<0
    :Then
    :ClrHome
    :Disp "Nonreal answer"
    :"..."
    :Pause
    :ClrHome
    :Menu("Menu", "Restart", D"
    :Lbl prgmQUADSTE3
    :Lbl A
    :...

我怀疑你的程序退出,因为你从来没有使用"End"来结束你的if语句。除非var D小于零,否则程序将在该If语句上退出,因为其后的每一行都被认为是If语句的一部分,因此将被忽略。使用"End"标记来指定哪些行是If语句的一部分,哪些行不是。我怀疑你想要:

:If D<0
:Then
:ClrHome
:Disp "Nonreal answer"
:"..."
:Pause
:ClrHome
:Menu("Menu", "Restart", D"
:End
:...

或者类似的东西。我百分之九十九肯定这是你的问题。

另一件要注意的事情是,你声明了两次Lbl A。在TI-BASIC中,当你使用Goto A时,计算器从程序的开头开始查找第一个"Lbl A",在这种情况下,就是第一行。其次,在您的菜单中,通过将参数"D"放在您唯一的选项之后,一旦用户单击该选项,您将标记D,它不存在,因此,程序将以错误Lbl退出。

这条线:Lbl prgmQUADSTE3

不是有效的行。我假设你想让程序调用自己或者调用一个单独的程序。如果程序正在调用自己,我建议您使用Goto语句,因为您的方法将导致类似于堆栈溢出/内存泄漏的事情。

最新更新