| 1 | PROGRAM SUMMING(OUTPUT); |
| 2 | |
| 3 | (* COMPUTE 1 - 1/2 + 1/3-...+1/9999 - 1/10000 , 4 WAYS. |
| 4 | 1) LEFT TO RIGHT, IN SUCCESSION |
| 5 | 2) LEFT TO RIGHT, ALL POS AND NEG TERMS, THEN SUBTRACT |
| 6 | 3) RIGHT TO LEFT IN SUCCESSION |
| 7 | 4) RIGHT TO LEFT, ALL POS AND NEG TERMS, THEN SUBTRACT*) |
| 8 | |
| 9 | VAR S1,S2P,S2N,S3,S4P,S4N,LRP,LRN,RLP,RLN : REAL; |
| 10 | I : INTEGER; |
| 11 | BEGIN S1 := 0; S2P := 0; S2N := 0; S3 := 0; S4P := 0; S4N := 0; |
| 12 | FOR I := 1 TO 5000 DO |
| 13 | BEGIN |
| 14 | LRP := 1/(2*I-1); (* POS TERMS, LEFT TO RIGHT *) |
| 15 | LRN := 1/(2*I); (* NEG TERMS, LEFT TO RIGHT *) |
| 16 | RLP := 1/(10001-2*I); (* POS TERMS, RIGHT TO LEFT *) |
| 17 | RLN := 1/(10002-2*I); (* NEG TERMS, RIGHT TO LEFT *) |
| 18 | S1 := S1 + LRP - LRN; |
| 19 | S2P := S2P + LRP; S2N := S2N + LRN; |
| 20 | S3 := S3 + RLP - RLN; |
| 21 | S4P := S4P + RLP; S4N := S4N + RLN |
| 22 | END; |
| 23 | WRITELN(S1,S2P-S2N); |
| 24 | WRITELN(S3,S4P-S4N) |
| 25 | END. |