Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
70
Task/Pi/Simula/pi-2.simula
Normal file
70
Task/Pi/Simula/pi-2.simula
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
EXTERNAL CLASS BIGNUM;
|
||||
BIGNUM
|
||||
BEGIN
|
||||
|
||||
PROCEDURE CALCPI;
|
||||
BEGIN
|
||||
INTEGER I;
|
||||
TEXT Q, R, T, K, N, L;
|
||||
COMMENT
|
||||
! q, r, t, k, n, l = 1, 0, 1, 1, 3, 3
|
||||
;
|
||||
Q :- COPY("1");
|
||||
R :- COPY("0");
|
||||
T :- COPY("1");
|
||||
K :- COPY("1");
|
||||
N :- COPY("3");
|
||||
L :- COPY("3");
|
||||
WHILE TRUE DO
|
||||
BEGIN
|
||||
COMMENT
|
||||
! if 4*q+r-t < n*t
|
||||
;
|
||||
IF TCMP(TSUB(TADD(TMUL("4",Q),R),T),TMUL(N,T)) < 0 THEN
|
||||
BEGIN
|
||||
TEXT NR;
|
||||
OUTTEXT(N);
|
||||
I := I + 1;
|
||||
IF I = 40 THEN
|
||||
BEGIN
|
||||
OUTIMAGE;
|
||||
I := 0;
|
||||
END;
|
||||
COMMENT
|
||||
! nr = 10*(r-n*t)
|
||||
! n = ((10*(3*q+r))//t)-10*n
|
||||
! q *= 10
|
||||
! r = nr
|
||||
;
|
||||
NR :- TMUL("10",TSUB(R,TMUL(N,T)));
|
||||
N :- TSUB(TDIV(TMUL("10",TADD(TMUL("3",Q),R)),T),TMUL("10",N));
|
||||
Q :- TMUL("10",Q);
|
||||
R :- NR;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
TEXT NR, NN;
|
||||
COMMENT
|
||||
! nr = (2*q+r)*l
|
||||
! nn = (q*(7*k)+2+(r*l))//(t*l)
|
||||
! q *= k
|
||||
! t *= l
|
||||
! l += 2
|
||||
! k += 1
|
||||
! n = nn
|
||||
! r = nr
|
||||
;
|
||||
NR :- TMUL(TADD(TMUL("2",Q),R),L);
|
||||
NN :- TDIV(TADD(TADD(TMUL(Q,TMUL("7",K)),"2"),TMUL(R,L)),TMUL(T,L));
|
||||
Q :- TMUL(Q,K);
|
||||
T :- TMUL(T,L);
|
||||
L :- TADD(L,"2");
|
||||
K :- TADD(K,"1");
|
||||
N :- NN;
|
||||
R :- NR;
|
||||
END;
|
||||
END;
|
||||
END CALCPI;
|
||||
|
||||
CALCPI;
|
||||
END.
|
||||
Loading…
Add table
Add a link
Reference in a new issue