【问题标题】:Is there a way to store a list when programming a TI-83+?对 TI-83+ 进行编程时,有没有办法存储列表?
【发布时间】:2012-03-08 21:26:43
【问题描述】:

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

【问题讨论】:

    标签: ti-basic


    【解决方案1】:

    好吧,如果你想在最后添加一些东西,你需要列表的长度。假设您使用 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循环终止。

    【讨论】:

      【解决方案2】:

      一个元素可以像这样添加到未知长度列表的末尾:

      0→L1(1+dim(L1
      

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

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

          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填充它,排序,转换为矩阵...... 只需转到列表菜单(2nd + Stat)。

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

          更多信息在guidebook或者你也可以在这个calculator questions stack问你的问题

          希望这会有所帮助 =)

          【讨论】:

            【解决方案5】:

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

            3->L1(dim(L1))
            

            这将在 L1 的末尾添加 3。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-08-07
              • 1970-01-01
              • 1970-01-01
              • 2021-09-09
              相关资源
              最近更新 更多