首页 > 解决方案 > FOR/NEXT 带有多个 next 命令

问题描述

我必须在 BASIC 中编程计算 pi。为此,我使用FOR ... TO ... STEPBASIC 的构造。

另外,我正在使用 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.

标签: loopsmathbasic

解决方案


是的,你只能有一个NEXT声明。相反,IF .. THEN .. ELSE .. END IF为两种类型的计算分支出来。

2040 LET M = 0
2050 LET P = 3
2070 FOR i = 1 TO 50 STEP 2
2075 IF M <> 1 THEN 
2080 P = P + 4/(I*(I+2)*(I+3))
2085 M = 1
2089 PRINT P
2090 ELSE
2100 P = P - 4/(I*(I+2)*(I+3))
2105 M = 0
2107 END IF
2109 PRINT P
2110 NEXT i

推荐阅读