我希望能够将L1打印到Lk(在ti-84中列出)以获得任意数字k。
ti-basic中的列表本质上是一维数组,用于将真实或复数存储到每个元素中。
下面我制作了自己的名单L1,...... L3(不是内置的,实际上可以通过输入LL1,... LL3来访问和打印)
我会告诉你一些我尝试过的东西等等。
让L5 = {5,5,5}
如果我尝试以下代码段:
PROGRAM: ITRTLST
:ClrHome
:Disp LL1
:For(J,1,3
:Disp J
:Disp LL5
:End
此代码输出:
1
{5,5,5}
2
{5,5,5}
3
{5,5,5}
注意LL5中的第一个'L'是一个标记(可通过按[2nd] + [LIST(STAT)] OPS B访问:)
但是,如果我尝试以下代码段:
PROGRAM: ITRTLST
:ClrHome
:Disp LL1
:For(k,1,3
:Disp J
:Disp LLk
:End
我得到ERR:UNDEFINED
这是因为它认为'LLK'是列表名而不是LL1,LL2,LL3
如果我让LLK = {1,2,3}然后上面的代码输出
,我们可以看到这个1
{1,2,3}
2
{1,2,3}
3
{1,2,3}
答案 0 :(得分:1)
这可以做到,但这很痛苦,而且可能会很慢。
尝试使用此代码,将[Max]替换为数字:
:ClrHome
:For(I,1,[Max])
:"Convert I into a string, this is slow
:I/10→D
:sub("0123456789",10*fPart(D)+1,1)→Str1
:int(D)→D
:While D>0
:D/10→D
:sub("0123456789",10*fPart(D)+1,1)+Str1→Str1
:int(D)→D
:End
:"Display the I'th list
:Disp expr("ʟL" + Str1)
:End
请注意,以"
开头的行只是注释,可以删除。
答案 1 :(得分:0)
TI-Basic无法做到这一点。就像没有办法从字符串"X"
转到变量X
的内容一样,没有办法从一个带有该数字的列表中去它的名字。
如果要存储二维数据数组,TI-Basic确实有matrices,尽管它们与列表相比有些限制(特别是,您无法创建命名矩阵)。如果您需要一些比这更复杂的数据结构,您可能已经达到了这种语言的极限。
答案 2 :(得分:0)
这是一个非常丑陋(可能是唯一的)方法,但可以通过运行一堆If
命令来实现。
例如,
Disp ʟL1
If K≥2
Disp ʟL2
If K≥3
Disp ʟL3
If K≥4
Disp ʟL4
If K≥5
Disp ʟL5
等等。
编辑:我不知道你是否仍然需要这个问题的答案,但我找到了一种方法来完全按照自己的意愿行事。不过,它仍然非常混乱。