ninggang 发表于 2020-10-3 16:25:43

求助:一段程序的编制遇到困难,请大佬们帮忙

第一步,先建立一个列表,并且定义并赋值了列表变量y,z,m

第二步,编制程序如下:


Define unit()=
Prgm
:Local y1
:Local z1
:Local m1
:Local x1
:Local i
:y1:=y
:z1:=z
:m1:=m
:i:=1
:Lbl a1
:x1:=(((m1+1)^(−i)*(m1*y1-((m1+1)^(i)-1)*z1))/(m1*z1))
:i:=i+1
:If x1<0 or x1>1
:Goto a1
:x:=x1
:EndPrgm

算出来的X1值或者x值根本没有产生循环。

请问各位大侠,大佬们

为什么循环中止在i=1了?

非常感谢!

ninggang 发表于 2020-10-3 16:28:33

x或者x1,应该算出来是0<x<1的。

大家看看表2,明显大于1了,说明循环在i=1的时候,就终止了。

怎么都找不到原因,寻求各位大佬们的帮助!

ninggang 发表于 2020-10-4 11:38:59

真是急死我了,好几天都找不出原因,不知道怎么办。

mrlgs 发表于 2020-10-5 16:52:42

我觉得错误处在if那里

mrlgs 发表于 2020-10-5 16:53:32

单独写下 if X>1goto 试试

mrlgs 发表于 2020-10-5 16:55:18

为什么不用while语句

While循环是限定条件的循环,格式为:

While 逻辑表达式

程序代码

Endwhile

当逻辑表达式成立时将运行程序代码。如

While a<5

a:=a+1

Disp a

Endwhile

ninggang 发表于 2020-10-6 07:21:32

mrlgs 发表于 2020-10-5 16:53
单独写下 if X>1goto 试试

谢谢朋友的耐心回复,我用while语句重写了一次,并且把条件改成了x>0,还是不行。
我又寻找了原因,很有可能是因为数组变量x被反复多次赋值,在TI-basic里面是不被允许的。

imath 发表于 2020-10-8 14:47:03

不要用goto

bioafanda 发表于 2021-1-26 16:21:29

没看懂,if后面没有Then,也没有Endif结束语句。
页: [1]
查看完整版本: 求助:一段程序的编制遇到困难,请大佬们帮忙