ti-basic - 在 TI-BASIC 程序中以非计算形式重新计算或存储 bool 值

标签 ti-basic

我正在将某个变量 I 的 bool 表达式传递到操作 I 的 TI-BASIC 程序中,但该 bool 表达式仅计算一次 - at程序执行的开始。

这是一个示例程序:

Prompt J
0 -> I

Lbl 1
1 + I -> I
Disp I

If J
Then
Goto 2

Else
Goto 1
End

Lbl 2
End

(这不是我正在编写的实际程序,它更复杂,因此不能使用 for 循环;上面的程序显然可以使用 for 循环编写得更优雅。)

我们从数字 0 开始将 I 递增 1。每次递增后,我们检查 J 是否为 true,如果是,则停止。

如果我传入J=I≠5,程序会在打印1后停止。

如果我传入J=I=5,则结果不是预期的。 我打算让程序在 I=5 为 true 时停止,但程序会无限期地继续下去。这意味着 J 仅在程序的开头。

是否可以在该循环的每次执行中重新评估J


我假设 J 一旦传入就会被 01 替换。要重新表述我的问题,是吗?可以输入/保留 bool 表达式作为未计算的字符串/文字吗?然后我会在程序中调用类似 eval(J) 的内容。

最佳答案

您更新中的假设是正确的; J 被替换为数值。

对你重新表述的问题的答案是肯定的,你可以传递一个表达式,但你必须使用函数变量而不是真正的变量:

Prompt Y1

每当调用 Y1 时,它都会重新计算,因此如果将 I=5 存储到 Y1,则 Y1 当 I≠5 时返回 0,当 I=5 时返回 1。

关于ti-basic - 在 TI-BASIC 程序中以非计算形式重新计算或存储 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13675709/

相关文章:

list - 如何测试列表中所有字符的长度并根据长度调整 Output( 的位置?

text - TI-基本问题

optimization - 在 TI-89 上检查按键的最佳方法

javascript - JS : Replace a number with trailing zeros to scientific notation

ti-84 上的 TI-Basic

algorithm - TI-84 Plus 随机数生成器算法

ti-basic - For 循环只进行一次迭代

ti-basic - 是否有清除 Y 变量的命令?

ti-basic - Trouble on "If"statement on TI-84 Plus C Silver Edition

ti-basic - ti basic 程序末尾没有 "Done"