Jump to content

Sum of a series: Difference between revisions

Add Modula-2
(Add Modula-2)
Line 1,789:
<pre>~/MIX/MMIX/Rosetta> mmix sumseries
0.1643934566681562e1</pre>
 
=={{header|Modula-2}}==
<lang modula2>MODULE SeriesSum;
FROM InOut IMPORT WriteLn;
FROM RealInOut IMPORT WriteReal;
 
TYPE RealFunc = PROCEDURE (REAL): REAL;
 
PROCEDURE seriesSum(k, n: CARDINAL; f: RealFunc): REAL;
VAR total: REAL;
i: CARDINAL;
BEGIN
total := 0.0;
FOR i := k TO n DO
total := total + f(FLOAT(i));
END;
RETURN total;
END seriesSum;
 
PROCEDURE oneOverKSquared(k: REAL): REAL;
BEGIN
RETURN 1.0 / (k * k);
END oneOverKSquared;
 
BEGIN
WriteReal(seriesSum(1, 1000, oneOverKSquared), 10);
WriteLn;
END SeriesSum.</lang>
{{out}}
<pre>1.6439E+00</pre>
 
=={{header|Modula-3}}==
2,115

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.