【问题标题】:Can someone explain the TI BASIC ????List command?有人可以解释 TI BASIC ????List 命令吗?
【发布时间】:2016-12-09 20:05:39
【问题描述】:

我知道该命令可以比较并减去值,但我不知道它是如何工作的。我使用了 TI BASIC 编程教程网站 (http://tibasicdev.wikidot.com/movement-explanation),我需要对 ??????List 作为一个整体进行说明。

这部分带????List的代码如下:

:min(8,max(1,A+sum(ΔList(Ans={25,34→A
:min(16,max(1,B+sum(ΔList(K={24,26→B

并且网站是这样解释代码的:

“这就是这段代码的工作原理。当你按下一个键时,它的值被存储到 K。我们通过将它与列表 {24,26 和 {25 进行比较来检查 K 是否等于我们按下的键之一,34. 这会产生一个列表 {0,1}、{1,0} 或 {0,0}。然后我们使用花哨的命令 Δlist( 来查看是向上、向下、向左还是向右移动。什么 Δlist ( 非常简单。Δlist( 从前一个列表中的第二个元素中减去第一个元素,并将其存储为一个新的元素列表 {1}、{-1} 或 {0}。然后我们将列表转换为通过取一字节列表的总和得到一个实数。这个 1、-1 或 0 被添加到 A。"

【问题讨论】:

    标签: calculator basic ti-basic


    【解决方案1】:

    ΔList( 命令将列表中的每个元素从其前一个元素中减去。这段代码使用了一些技巧来紧凑地返回1(如果按下某个键)和-1

    ΔList( 计算一个列表的连续项之间的差异,并将它们返回到一个新的列表中。

    ΔList({0,1,4,9,16,25,36})
       {1 3 5 7 9 11}
    

    ΔList({0,1,4,9,16,25,36}) = {1-0, 4-1, 9-4, 16-9, 25-16, 36-25} = {1 3 5 7 9 11}

    当列表中只有两个元素时,ΔList({a,b}) 因此等于{b-a}。那么sum(ΔList({a,b})) 等于b-a,因为这是列表中唯一的术语。假设 K 在您的示例中为 26;也就是说, > 键被按下。

    B+sum(ΔList(K={24,26→B      Result of expression:
                K               26
                K={24,26        {0,1}
          ΔList(K={24,26        {1} = {0 - 1}
      sum(ΔList(K={24,26        -1
    B                           [current x-position of player]
    B+sum(ΔList(K={24,26→B      [add 1 to current x-pos. of player]
    

    同样,如果按下左键 24,B 将减小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多