我有TI-84 Plus,我正在创建一个程序来计算n维向量的大小。我在下面列出了我的代码及其输出。
节目编辑:
PROGRAM:NTHDMAG
Disp "HOW MANY DIMENSIONS?"
Prompt N
{X,Y,Z,T,A,B,C,D,E,F,G,H,I,J,L,M,P,U,V,W}->L1
For(K,1,N,1)
L1(K)->Q
Prompt Q
End
输出显示:
pgrmNTHDMAG
HOW MANY DIMENSIONS?
N=?3
Q=?1
Q=?2
Q=?3
Done
我想用L1中的每个字母替换Q,并且在Prompt命令中索引L1(K)会引发错误。 L1字母的值将是每个组件的值(所以这里,例如,1i + 2j + 3k)。
我希望这很清楚,但我非常愿意澄清它是否是。感谢您提供的任何帮助!
答案 0 :(得分:1)
这可能是您尝试做的事情,
Prompt N
0->dim(|LT
For(I,1,N
Input sub("XYZTABCDEFGHIJLMPUVW",I,1)+"=?",X
X->|LT(I)
End
Disp |LT
DelVar |LT
使用 Input
代替Prompt
,允许我们选择字符串。该字符串是通过从"XYZTABCDEFGHIJLMPUVW"
获取单字母子字符串然后将"=?"
附加到其上来构建的,使其看起来像Prompt
,当然这很容易更改。它是SourceCoder的语法,因此|L
对于列表名称来说意味着奇怪的小∟。如果列表T已存档,则无法正常工作,但可以使其工作,但IMO不应该工作,通常是存档列表意味着用户希望保留它。
让用户自己输入列表要容易得多,例如
Input "Input List:",|LT
Disp |LT
DelVar |LT
这允许更方便的用户输入,例如Rcl
(整个列表)和列表操作,例如:
或者更典型的是:
但N
并不明确。
将结果留在Ans
可能很有用。通过在最后一行评估值而不是正确的命令进行隐式打印会删除Done
,这不是有用的,但它是你可以做的事情。
Input "Input List:",|LT
sqrt(sum(|LT^^2
DelVar |LT
Ans