SB2000 的 FBASIC 是浮点 BASIC 的意思, 就是说可以用在计算一些数值,高级计算机.今天我们还测一下它的计算性能,之前大概知道很慢..
计算圆周率有很多公式,收敛度不一样, 我们挑一个性价比较高的,比较容易实现的..比如这个:
在SB2000上,80位要算5 小时; 40位1个小时; 20位几分钟, 真得很慢.
—FBASIC 源代码—-
1 REM ********************************* 5 REM *JUST FOR FUN * 6 REM *F-BASIC PROGRAM BY HELLOACM.COM* 7 REM *TESTED ON SB2000-FBASIC * 8 REM *REALLY SLOW! * 9 REM ********************************* 10 N=40 20 DIM X(N) 30 DIM Z(N) 31 FOR I=1 TO N 32 X(I)=0 33 Z(I)=0 34 NEXT I 40 X(2)=2 50 Z(2)=2 60 A=1 70 B=3 80 D=0 90 J=N 95 IF J=0 THEN GOTO 140 100 C=Z(J)*A+D 110 Z(J)=C MOD 10 120 D=INT(C/10) 130 J=J-1 135 GOTO 95 140 D=0 145 J=1 150 IF J>N GOTO 200 160 C=Z(J)+D*10 170 Z(J)=INT(C/B) 180 D=C MOD B 190 J=J+1:GOTO 150 200 R=0 210 J=N 215 IF J=0 THEN GOTO 280 220 C=X(J)+Z(J) 230 X(J)=C MOD 10 240 X(J-1)=X(J-1)+INT(C/10) 250 R=R+Z(J) 260 J=J-1 270 GOTO 215 280 IF R=0 THEN GOTO 300 290 A=A+1 292 B=B+2 295 GOTO 80 300 T=1:S$="" 301 IF T MOD 20=0 PRINT S;:S$="" 302 S$=S$+STR$(X(T)) 315 T=T+1 320 IF T>N GOTO 330 310 GOTO 301 330 REM END
几点观察:
1. 代码很难读懂,因为没有缩进,语句前都得有个行号.但是代码算法相对来说很简单的,仔细研究一下不难的 只是代码没有缩进, 看得很痛苦 第一代BASIC (非结构化编程)都是这样
2. goto 跳来跳去的, 很得很乱,我尝试用 for, 但是SB2000的 basic 报错,什么语法错误(其实没有),所以就只能用 goto 来模拟
3. 行号会自动由小到大排序.
4. list 显示所有程序代码;run 运行BASIC程序; 没有任何调试的工具(单步调试等)
续:
呵呵, 我本来是写得很短的,结果SB2000的BASIC各种不支持,只能试着改着其它写法 把 for 改成 goto 不然会莫明其妙的出错
我早上1点运行的,6点多起来的时候算好了, 也许只需要3,4个小时,因为3点多起来的时候还没算完.
以下是在PC机里8位模拟器运行这个 BASIC 程序. 一样是很慢.
小数点80 位在电脑上瞬间算完.在BASIC上的确有点慢. 不过比起古代人已经算很快的,哈哈..18世纪有的数学家花一辈子才算个七八位..这么比来,小霸王是不是还不错呢!
更新:
网友yksoft1把上面的程移植到GWBASIC,i5 4200m直接运行DOS,120位也要2-3秒,300位大概10秒,1000位溢出.
电脑上 WORD 里面的 VISUAL BASIC 也不是很快.
强烈推荐
- 英国代购-畅购英伦
- TopCashBack 返现 (英国购物必备, 积少成多, 我2年来一共得了3000多英镑)
- Quidco 返现 (也是很不错的英国返现网站, 返现率高)
- 注册就送10美元, 免费使用2个月的 DigitalOcean 云主机(性价比超高, 每月只需5美元)
- 注册就送10美元, 免费使用4个月的 Vultr 云主机(性价比超高, 每月只需2.5美元)
- 注册就送10美元, 免费使用2个月的 阿里 云主机(性价比超高, 每月只需4.5美元)
- 注册就送20美元, 免费使用4个月的 Linode 云主机(性价比超高, 每月只需5美元) (折扣码: PodCastInit2022)
- PlusNet 英国光纤(超快, 超划算! 用户名 doctorlai)
- 刷了美国运通信用卡一年得到的积分 换了 485英镑
- 注册就送50英镑 – 英国最便宜最划算的电气提供商
- 能把比特币莱特币变现的银行卡! 不需要手续费就可以把虚拟货币法币兑换
微信公众号: 小赖子的英国生活和资讯 JustYYUK