TI-Basic在列表中存储公式

时间:2015-03-08 16:53:48

标签: list function ti-basic

我最近意识到TI-Basic的奇怪行为,它允许程序员将公式存储到列表变量中。多年来我对TI-Basic非常熟悉,并且已经检查了来自TI-Basic Developer ForumStackOverflow tagSubreddit来源的代码示例,这些代码专门针对TI-Basic而没有找到任何内容除了承认它的存在。


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

<String>→<List>

其中<String>表示任何字符串,文字或变量。实验表明,此String必须评估为列表。 <List>表示列表变量。使用列表文字将导致ERR:SYNTAX

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

"X+2→L₁

"2L₁→L₂

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


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

     
  1. 我是否正确说明了此行为的语法?
  2.  
  3. 此行为有哪些可能的用例?
  4.  
  5. 我在哪里可以找到有关此行为的官方文档?
  6. 这些只是答案可能包含的建议。我很乐意接受对这种行为的全面和一般的分析。

2 个答案:

答案 0 :(得分:1)

很高兴回答你的问题:)

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

答案 1 :(得分:1)

回应原帖中列出的第三个问题,

  

我在哪里可以找到有关此行为的官方文档?

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

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

  

将公式附加到列表名称

     

将公式附加到列表名称

     

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

     

当附加公式中的任何内容发生更改时,列表中的所有内容都会更改   公式附后会自动更新。

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

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

     

enter image description here

     

下一个屏幕显示另一个列表L₄L₄的元素是。{1}   附加到L₃的相同公式的总和。但是,报价   未输入标记,因此公式未附加到L₄

     

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

     

enter image description here

     

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

     

enter image description here

手册的格式与StackOverflow不一致,所以我不得不重新格式化这个答案。