TI-84编程参数

时间:2015-02-06 15:32:28

标签: ti-basic

是否可以在另一个需要参数的程序中执行程序? (没有内联)

E.g。

________________
 - PROGRAM:ADD
 - :Prompt A,B
 - :A+B>C
________________
 - PROGRAM:TEST
 - :For(I,0,20)
 - :Disp (prgmADD (I,I+1))
 - :End_________

显然这不会像现在这样运作,但我希望我明确表达了我的目标。

3 个答案:

答案 0 :(得分:5)

传递参数的传统方法是通过Ans列表,如下所示:

________________
 - PROGRAM:ADD
 - :Ans(1)+Ans(2
________________
 - PROGRAM:TEST
 - :For(I,0,20
 - :{I,I+1
 - :prgmADD
 - :Disp Ans
 - :End
________________

答案 1 :(得分:2)

我认为没有办法做到这一点 - 你基本上要求伪造用户输入,这是不受支持的。

我解决它的方法是通过将A和B设置为I,I + 1来预加载变量。然后有另一个变量,你永远不会触及任何程序,这个变量是一个标志,让子程序知道它可以跳过输入。

当子程序运行时,它使用if语句来检查标志变量。如果将其设置为您选择的特定值,则它知道这意味着它不必运行“提示”命令,因为已经设置了A和B.检查该值后,它应该重置该标志,以便稍后手动运行它时不会跳过提示。

我使用的具体约定是保留系统中的最后一个列表供我的程序使用。每个程序都知道查看参数列表。这样做,所以我不必担心在程序之间匹配变量字母。因此,在这种情况下,列表的第一个元素可以是1,表示有要读取的参数。如果为0,则使用提示。否则,它会查看A和B值的第二个和第三个元素。它在完成后清除列表,因此剩余数据不会影响以后的运行。

答案 2 :(得分:2)

正如Katie所说,在TI-Basic程序之间没有传递参数的内置方法。但是,有一种原始方法可以将单个参数传递给函数。

未评估的表达式可以保存在Y-VARS个变量之一中。在程序中使用此变量将导致计算包含在其中的表达式并返回结果。有趣的是,Y-VARS变量可以传递一个参数,该参数将替换表达式主体中的单个变量。替换它的变量取决于您使用的Y-VARS变量。 Function变量使用XParametric使用TPolar使用θ


此示例程序演示了我所描述的内容。

:"XLog(X→Y1
:Disp Y1(10
:Disp Y1(5

Y1作为参数传递10时,XY1的所有实例都将替换为10Y1现在相当于10log(10,或者只是10.当将5传递给Y1时,会看到相同的效果。


此解决方法的明显缺点是只能传递一个参数。其他缺点包括您只能将标准计算器功能放入Y-VARS之一,并且访问Y-VARS会带来很大的开销。