作为家庭作业,我必须交换给定字符串中的字母。我已经想出了如何做到这一点,但不知道如何立即显示它们。它涉及一个 for 循环。所以如果我在 for 循环中包含 disp x ,它会在括号和空格之间显示它们,但我希望它们全部在一起,所以而不是
“一种”
“乙”
“C”
我想要“abc”。有没有办法做到这一点?我应该将变量推入数组,然后在 for 循环之后显示数组吗?如何将变量推入数组?
这是在 TI-Nspire CX Cas 中。
作为家庭作业,我必须交换给定字符串中的字母。我已经想出了如何做到这一点,但不知道如何立即显示它们。它涉及一个 for 循环。所以如果我在 for 循环中包含 disp x ,它会在括号和空格之间显示它们,但我希望它们全部在一起,所以而不是
“一种”
“乙”
“C”
我想要“abc”。有没有办法做到这一点?我应该将变量推入数组,然后在 for 循环之后显示数组吗?如何将变量推入数组?
这是在 TI-Nspire CX Cas 中。
要将元素添加x
到数组中,请A
使用augment(A, {x})
.
对于您的特定情况,我将使用一个字符串变量(调用它string
),在循环的每次迭代中将下一个字母连接到该变量for
。因此,如果要添加的下一个字母在变量中,您可以将以下代码行放在循环letter
末尾:for
string := string & letter
这也是一种方式:
本地数组array[dim(array)+1] := value
我会通过一个涵盖您的场景的示例来回答您。假设当我们在base2(二进制)中构造一个整数时,我们的目标是有一个列出二进制元素的数组。
Define LibPub develope(a,b)=
Func
Local mi,m,q
mi:=mod(a,b)
q:=((a-mi)/(b))
Disp mi
While q≥b
a:=q
m:=mod(a,b)
q:=((a-m)/(b))
Disp m
EndWhile
EndFunc
上述小程序将十进制整数发展为二进制;但是,正如您所提到的,每个二进制文件都显示在单独的行中:例如:
develope(222,2)
0
1
1
1
1
0
1
但这不是你想要的,你想要的只是一行。重要的是,您应该希望每个元素都可以作为单独的整数访问,对吗?就像数组列表中的元素一样,这就是您要寻找的东西吗?
我们去:
Define LibPub develope(n,b)=
Func
Local q,k,seti,set,valid
valid:=b
If valid>1 Then
q:=n
k:=0
set:={}
While q≠0
seti:=mod(q,b)
q:=int(((q)/(b)))
k:=k+1
seti→set[k]
EndWhile
Else
Disp "Erreur, La base doit être plus grand que 1."
EndIf
Return set
EndFunc
基本上,因为我们不知道要在数组列表中添加多少元素,所以set:={}
声明了一个未定义dim
(通常是长度)的数组,以便动态增加。
该命令seti→set[k]
会将seti
它的值添加到k
数组列表的位置。
并且return set
简单地返回数组。
如果您需要访问特定元素,您知道如何:elementNumber5:=set[5]
我希望它有所帮助。