问问题
394 次
1 回答
4
关闭你的循环
您的问题似乎源于不正确地匹配您的If
语句、循环及其End
语句。
发生了什么
在所有循环和语句关闭之前到达文件末尾时,TI-Basic 的行为If
是静默失败,终止程序,而不是提醒用户错误。
这种行为使某些奇怪的代码在语法上有效。例如,此代码段将毫无错误地运行:
For(A,1,10
Disp A
结果是
1
Done
显然这与运行相同,Disp 1
因此没有理由在您的代码中使用它。它仅用于使代码中出现无声和烦人的错误。
修复
假设您的代码的缩进版本代表您希望循环嵌套的方式,下面的代码应该可以解决您的问题。
Input "Root=",A
Input "Radical=",B
B→Z
ClrList L₃
prgmPRMNTOL1
prgmGETPRIME
For(Y,1,10)
0→Z
For(X,1,dim(L₂))
If L₁(Y)=L₂(X)
Z+1→Z
End
If Z≥A:Then
int(Z/A)*A→C
int(Z/A)→D
For(T,1,D)
L₁(Y)→L₃(1+dim(L₃))
End
For(R,1,C)
ClrList L₄
For(S,1,dim(L₂))
If L₂(S)=L₁(Y)
–1→L₂(S)
End
End:"Inserted this End
For(Q,1,dim(L₂))
If L₂(Q)≠–1
L₁(Q)→L₄(1+dim(L₄))
End
ClrList L₂
For(Q,1,dim(L₄))
L₄(Q)→L₂(Q)
End
End
End
1→E
For(M,1,dim(L₃))
E*L₃(M)→E
End
1→F
For(N,1,dim(L₂))
F*L₂(N)→F
End
Disp "OUTSIDE",E,"ROOT",A,"INSIDE",F
如果这不能解决问题,则缺少End
代码中的其他地方。
于 2015-04-05T11:44:45.123 回答