【发布时间】:2019-11-07 20:11:12
【问题描述】:
我必须在 BASIC 中编写一个计算 pi 的程序。为此,我使用了 BASIC 的 FOR ... TO ... STEP 构造。
另外,我正在使用 2 个NEXT 命令,最后一个失败了。看起来它只是在程序达到循环限制时才会失败。
我的代码如下所示:
2040 LET M = 0
2050 LET P = 3
2070 FOR i = 1 TO 50 STEP 2
2075 IF M = 1 THEN 2100
2080 P = P + 4/(I*(I+2)*(I+3))
2085 M = 1
2089 PRINT P
2090 NEXT i
2100 P = P - 4/(I*(I+2)*(I+3))
2105 M = 0
2109 PRINT P
2110 NEXT i
预期结果是这样的列表:
3.2981943981943984
3.2994764494764497
3.2986049897814604
3.2992241848279003
3.2987685001616893
and so on...
我得到的错误(仅当 i 达到 50 时):
next without for in line 2110
或者,在另一个环境中
E6 at 2110 FOR/NEXT error
我在网上没有找到非常有用的文档,只有基本的FOR ... TO ... STEP ... NEXT。
【问题讨论】:
-
如果将第 2089 和 2090 行替换为
GOTO 2109会怎样? -
仍在另一个环境中对其进行测试,但在第一个环境中它看起来成功了。谢谢你!编辑:是的,它的工作:)。
-
如果不清楚,
for和next是一对。您不能通过添加另一个next将它们变成三重奏。 -
我在 basic 方面很新,以为我可以使用多个
NEXT,而我每次只运行一个。谢谢你的信息! -
“最后一个失败”是什么意思?究竟会发生什么?