diff options
Diffstat (limited to 'development/minimal-basic/examples/PI.BAS')
-rw-r--r-- | development/minimal-basic/examples/PI.BAS | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/development/minimal-basic/examples/PI.BAS b/development/minimal-basic/examples/PI.BAS new file mode 100644 index 0000000000..8c79f03250 --- /dev/null +++ b/development/minimal-basic/examples/PI.BAS @@ -0,0 +1,42 @@ +1 REM PI CALCULATOR, B. WATSON, URCHLAY AT SLACKWARE.UK +3 REM PORTED FROM PYTHON3, FROM "LEARNPYTHON" PROJECT ON GITHUB +5 REM THE PYTHON VERSION IS MIT-LICENSED. +10 PRINT "CALCULATE HOW MANY DIGITS OF PI"; +20 INPUT P +25 LET P=INT(P) +30 IF P>=1 THEN 60 +40 PRINT "PLEASE ENTER A POSITIVE NUMBER." +50 GOTO 10 +60 IF P<20 THEN 100 +70 PRINT "WARNING: PROGRAM ONLY ACCURATE TO 20 DIGITS OR SO." +100 LET Q=1 +110 LET R=0 +120 LET T=1 +130 LET K=1 +140 LET N=3 +150 LET L=3 +160 LET C=0 +200 IF (4*Q+R-T)>=(N*T) THEN 300 +210 PRINT N; +215 IF C>0 THEN 220 +217 PRINT "."; +220 LET C=C+1 +230 IF C=P THEN 500 +240 LET R1=10*(R-N*T) +250 LET N=INT((10*(3*Q+R))/T)-10*N +260 LET Q=Q*10 +270 LET R=R1 +280 GOTO 200 +300 LET R1=(2*Q+R)*L +310 LET N1=INT((Q*(7*K)+2+(R*L))/(T*L)) +320 LET Q=Q*K +330 LET T=T*L +340 LET L=L+2 +350 LET K=K+1 +360 LET N=N1 +370 LET R=R1 +380 GOTO 200 +500 PRINT +510 REM THE PRINT ABOVE IS NEEDED TO MAKE MINIMALBASIC FLUSH ITS +520 REM OUTPUT BUFFER. OTHERWISE WE GET NO OUTPUT! +9999 END |