【问题标题】:TI-Basic Storing Formula In a ListTI-Basic 在列表中存储公式
【发布时间】:2015-03-08 16:53:47
【问题描述】:

我最近注意到 TI-Basic 的一个奇怪行为,它允许程序员将公式存储到列表变量中。多年来,我已经对 TI-Basic 非常熟悉,并检查了来自 TI-Basic Developer Forum、This StackOverflow tagSubreddit 等来源的代码示例,专门用于 TI-Basic,除了承认它的存在外,没有发现任何其他东西.


创建此行为的语法很简单:

<String>→<List>

其中&lt;String&gt; 代表任何字符串、文字或变量。实验表明,这个字符串必须评估为一个列表。 &lt;List&gt; 代表一个列表变量。使用列表文字将导致ERR:SYNTAX

为了帮助理解我所描述的内容,以下是一些使用实际代码的示例:

"X+2→L₁

"2L₁→L₂

两个示例都将首先运行;但是,如果我在第一个示例中尝试访问L₁,我会得到ERR:DATA TYPE。访问L₂ 将返回两倍于L₁ 的当前值。


由于这个问题到目前为止一直是对这种行为的描述,没有直接的问题,我将通过列举一些回答可以回答的具体问题来总结。

  1. 我是否正确说明了此行为的语法?
  2. 此行为有哪些可能的用例?
  3. 在哪里可以找到有关此行为的官方文档?

这些只是针对答案可能包含的内容的建议。我很乐意接受对这种行为的全面而一般的分析。

【问题讨论】:

  • 很好的问题 - 这确实是记录不足。

标签: list function ti-basic


【解决方案1】:

很高兴回答你的问题:)

  1. 差不多。列表变量在这种行为中与图形变量(函数、极坐标、顺序等)在存储字符串的能力方面最密切相关。这使得它在可以应用 self-modifying code 的任何地方都很有用。
  2. 基本上有两个主要用途——自修改代码和优化。您主要指的是用作优化,将冗长的公式存储到变量中以供快速参考。列表在调用时必须返回一个列表,这就是为什么您的第一个示例 "X+2→L₁ 失败但 "2L₁→L₂ 成功返回一个列表的原因。例如,L1 可用于存储任何返回列表的方程。如果您想从 1 到 10 获取 10 个非重复数字的列表,您可以在任何需要的地方使用 randIntNoRep(1,10),7 个字节(或未关闭时为 6 个)。但是,执行"randIntNoRep(1,10)-&gt;L1 允许您随时调用 L1 以重新调用 10 个随机数。请注意,当不是字符串格式(例如randIntNoRep(1,10)-&gt;L1)时,它会起作用,但每次调用 L1 都会返回相同的数字列表,因为它是静态存储的。此外,如果等式默认不返回列表,您始终可以在开头添加列表括号,但由于只有一个元素,因此使用函数或序列变量会更聪明(我个人最喜欢的是 @ 987654329@)。此功能的另一个具体用途是在Number or String 例程中,用于检测 Ans 是数字还是字符串。
  3. 我不知道官方记录的任何地方,因为很遗憾我没有可参考的手册。如果您还有其他问题,我很乐意为您解答。

【讨论】:

  • 很好的答案!经过一番谷歌搜索后,我找到了this 827 page manual。它相当冗长,所以我将在答案中发布与我的问题相关的部分。
【解决方案2】:

针对原帖中列出的第三个问题,

我在哪里可以找到这种行为的官方文档?

827 page TI-83 manual 的 PDF 文件可从田纳西大学工程学院在线获取。本手册包含绝大多数 TI-Basic 功能的文档,包括原始帖子中描述的功能。

手册中与问题相关的部分从第 296 页开始,一直持续到第 299 页。

将公式附加到列表名称

将公式附加到列表名称

您可以将公式附加到列表名称,以便每个列表元素都是 公式的结果。执行时,所附公式必须 解析为一个列表。

当附加公式中的任何内容发生更改时, 附加的公式会自动更新。

  • 当您编辑公式中引用的列表元素时,该公式所在的列表中的相应元素 附件已更新。
  • 当您编辑公式本身时,该公式所附加到的列表中的所有元素都会更新。

例如,下面的第一个屏幕显示元素存储到 L₃,而公式L₃+10附在列表名ʟADD10后面 引号指定要附加到ʟADD10 的公式。 ʟADD10的每个元素都是L₃中的一个元素和10之和。

下一个屏幕显示另一个列表,L₄L₄ 的元素是 附加到L₃ 的相同公式的总和。然而,报价 没有输入标记,所以公式没有附加到L₄

在下一行,⁻6→L₃(1):L₃L₃ 的第一个元素更改为 ⁻6,然后重新显示L₃

最后一个屏幕显示编辑L₃ 更新了ʟAdd10,但没有 更改L₄。这是因为公式 L₃+10 附加到 ʟADD10,但没有附加到l4

手册的格式与 StackOverflow 不一致,因此,我不得不为这个答案重新格式化它。

【讨论】:

  • 不错的发现!由于我在 wikidot 上找不到这些信息,我一定会多阅读一些手册。
猜你喜欢
  • 1970-01-01
  • 2013-08-29
  • 2011-12-25
  • 1970-01-01
  • 2011-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多