【问题标题】:How do I iterate through a list in a TI-83 calculator program如何遍历 TI-83 计算器程序中的列表
【发布时间】:2011-05-10 13:20:58
【问题描述】:

我为我的微积分课创建了一组程序来使用各种近似方法(中点、梯形、辛普森)计算图形下的面积。

这是我的一个程序的示例(中点):

Prompt A,B,N
(A-B)/N->D
Input "Y1=", Y1
0->X
0->E
For(X,A+D/2,b-D/2,D)
Y1(x)+E->E
End
Disp E*D

我不想将这些近似规则应用于函数 (Y1),而是将它们应用于数据列表 (L1)。如何遍历列表?我需要能够获得列表中的最后一个索引才能使“For Loop”变得更好。我不能像在 Java 中那样做任何像 L1.length 这样的事情。

【问题讨论】:

  • TI-83 还是 TI-84?标题说一个,标签说另一个。
  • @Chris:它们本质上是一样的。 TI-84 只是一个 TI-83 有更多的内存和其他东西。
  • @Chris 这是 TI-83。我无法为 83 创建新标签。84 的编程应该与 83 完全相同。
  • @Jeff:仍然,看到冲突的标签冒犯了我的正义灵魂 :-) 没有注意到 ti-84 之前只使用过一次并且 ti-83 不存在的事实。 .. 应该有人创建标签并用他们重新标记一些问题。
  • @Chris:我可以这样做,但我不确定这是否真的有必要。如果有的话,应该有一个 [ti-83] 标签并且是 [ti-84] 的同义词。然而,标签中几乎没有任何活动,我认为在标签变得足够活跃之前保持原样就可以了。

标签: list ti-basic


【解决方案1】:

for 循环是在 TI-Basic 中迭代列表的最简单方法,就像在许多语言中一样。 Jeff Mercado 已经介绍了这一点,所以我将提到一些在特殊情况下是强大工具的技术。

映射列表

TI-Basic 支持对列表进行简单的映射操作,其效果与任何其他语言中的映射函数相同。 TI-Basic 对此的支持扩展到最基本的算术函数,以及其他函数的选择。

语法再简单不过了。如果您想在某个列表L1 中的每个元素中添加一些数字X,请输入X+L1→L1

seq(

TI-Basic 中列表上的大多数 for 循环都可以替换为巧妙构造的 seq( 命令,该命令将在时间和内存方面优于 for 循环。此规则的例外是包含 I/O 或存储变量的循环。

这个命令的语法可能很混乱,所以我建议在使用之前阅读this documentation。如果该链接失效,这里是最相关的信息。

命令摘要

通过计算一个带有一个变量的公式来创建一个列表 值范围,可以选择跳过指定的步骤。

命令语法

seq(公式, 变量, 起始值, 结束值[, step])

菜单位置

在编辑程序时,按:

2nd LIST 进入 LIST 菜单 RIGHT 进入 OPS 子菜单 5 到 选择 seq(,或使用箭头。

计算器兼容性

TI-83/84/+/SE

令牌大小

1 个字节

文档应该很好地解释了seq( 的语法,所以我只提供一个示例用例。

如果你想要 1 到 100 之间的每个数字的平方,你可以这样做

循环

DelVar L1100→dim(L1
for(A,1,100
A²→L1(A
End

或者,这个

序列

seq(A²,A,1,100→L1

seq( 的缺点是您不能在表达式中执行任何 I/O 或存储任何变量。

预定义列表迭代函数

进入LIST菜单,查看OPSMATH下的所有操作。这些预定义的函数总是比 for 循环更快,甚至比设计用来做同样事情的 seq( 表达式要快。

【讨论】:

  • seq( 在这种情况下又是最好的……哇,多哈卡塔尔,你似乎知识渊博;)
  • @Timtech 谢谢!我从中学开始就一直在玩 TI-Basic,所以我有时间学习了不少知识。
  • 这里也一样。我想我们都从 tibasicdev.wikidot 中学到了一些东西?
  • @Timtech 我无法在其他任何地方找到大量的 TI 基础知识积累。
  • 我也没有。你有车主手册吗?我听说这也是一个很好的知识来源。
【解决方案2】:

您可以使用dim() 获取列表的长度。这可以在2nd->LIST->OPS->dim( 中找到。只要确保您使用列表变量,否则dim() 会抱怨该类型。然后,您可以使用下标索引到列表中。

例如,

{1, 2, 3, 4} -> L1
For (X, 1, dim(L1), 1)
Disp L1(X)
End

【讨论】:

  • 如果 For 循环中的步数为 1,则应省略步数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多