--- /dev/null
+PROGRAM SUMMING(OUTPUT);
+
+ (* COMPUTE 1 - 1/2 + 1/3-...+1/9999 - 1/10000 , 4 WAYS.
+ 1) LEFT TO RIGHT, IN SUCCESSION
+ 2) LEFT TO RIGHT, ALL POS AND NEG TERMS, THEN SUBTRACT
+ 3) RIGHT TO LEFT IN SUCCESSION
+ 4) RIGHT TO LEFT, ALL POS AND NEG TERMS, THEN SUBTRACT*)
+
+VAR S1,S2P,S2N,S3,S4P,S4N,LRP,LRN,RLP,RLN : REAL;
+I : INTEGER;
+BEGIN S1 := 0; S2P := 0; S2N := 0; S3 := 0; S4P := 0; S4N := 0;
+ FOR I := 1 TO 5000 DO
+ BEGIN
+ LRP := 1/(2*I-1); (* POS TERMS, LEFT TO RIGHT *)
+ LRN := 1/(2*I); (* NEG TERMS, LEFT TO RIGHT *)
+ RLP := 1/(10001-2*I); (* POS TERMS, RIGHT TO LEFT *)
+ RLN := 1/(10002-2*I); (* NEG TERMS, RIGHT TO LEFT *)
+ S1 := S1 + LRP - LRN;
+ S2P := S2P + LRP; S2N := S2N + LRN;
+ S3 := S3 + RLP - RLN;
+ S4P := S4P + RLP; S4N := S4N + RLN
+ END;
+ WRITELN(S1,S2P-S2N);
+ WRITELN(S3,S4P-S4N)
+END.