1

出于好奇,我开始学习如何编写我的 TI-83+ 计算器。我最新程序的一部分涉及将数字存储在列表中。如何将项目添加到 TI-83+ 的列表中,如何循环访问它们?

4

5 回答 5

2

好吧,如果你想在最后添加一些东西,你需要列表的长度。假设您使用 L1 作为列表,变量 A 作为您尝试添加到列表中的值。

这是你要做的:

:A->L1(1+dim(L1))

这就是它的工作原理。dim 命令有 1 个参数。该参数是一个列表。当您使用 dim 命令时,它会在参数中返回列表的长度。当您想引用列表中的特定位置时,可以使用语法:list_name(location)。所以这行代码将变量A的值存储在L1的位置,比L1的长度多1,因此将变量A附加到L1的末尾。

如果要访问列表中的值,请再次使用语法:list_name(location)。另一方面,如果您不知道要查找的值的位置,或者您正在循环浏览列表并对每个值执行某些操作,则可以使用 for 语句。

像这样:

:FOR(A, 0, dim(L1))
::L1(A)->B
::"do whatever you want with the value of L1(A) here"
:END

或者像这样:

:FOR(A, 0, dim(L1))
::if(L1(A) == "insert value being searched for here"):THEN
:::A->B
:::dim(L1)+1->A
::END
:END

for 循环是这样工作的:在循环开始时,0 被存储到变量 A。然后循环继续,直到变量 A 大于 dim(L1)。每次循环重置后,变量 A 的值都会增加 1。

在第一个示例中,程序循环遍历 L1 的每个值,并对每个值执行您想做的任何事情。

在第二个示例中,程序循环遍历 L1 的每个值。当 L1 的值与您要查找的值匹配时,该值的位置将存储在变量 B 中,以供您以后使用。然后,将变量 A 的值设置为比 L1 的长度大 1。由于变量 A 的值大于 dim(L1),因此终止 for 循环。

于 2015-03-03T02:51:52.777 回答
1

可以将一个元素添加到未知长度列表的末尾,如下所示:

0→L1(1+dim(L1

在正常情况下,尝试设置大于列表长度的索引值会导致ERR: INVALID DIM; 但是,如果索引仅比列表的长度大 1,则该值将附加到列表的末尾。

于 2015-01-18T14:48:46.213 回答
0

您可以按照 Thibault 所说的去做,填写、排序、转换(顺便说一句,说得很好)。但是,您也可以这样做:

3->L1(dim(L1))

这将在 L1 的末尾添加 3。

于 2015-01-08T03:14:53.710 回答
0

您首先需要像这样定义列表的大小:

3->dim(L1 

(如果你忘记了,你会得到一个 ERR:Invalid Dim)

按回车,你会得到一个“10”作为答案(不用担心这是正常的)。

你可以在 [Catalog] 中找到 dim( 并且 -> 是 "[STO->].

然后你可以用一些这样的数据填充列表:

2->L1(1)
3->L1(3)

现在,当您打印 L1 时,您会得到:

{2 0 3 0}

第一个索引是 L1(1) 而不是 0(像往常一样)。

您可以使用 DelVar 删除列表:

DelVar L1

您可以用 Fill 填充它,对其进行排序,转换为矩阵 .... 只需转到 List 菜单(2nd + Stat)。

您可以使用 for 循环对列表进行迭代(没有 foreach,使用 dim(L1) 作为上限)。

指南中的更多信息,或者您也可以在此计算器问题堆栈上提问

希望这会有所帮助=)

于 2013-04-29T11:40:08.217 回答
0

您可以使用列表或矩阵,但我建议使用列表。您可以从此链接找到有关列表及其命令的信息。

列表也比仅使用变量更适合在程序执行之间保存值,变量可能会被其他程序或数学更改。

于 2013-03-03T14:46:42.550 回答