Sum of a series: Difference between revisions
Add Modula-2
Not a robot (talk | contribs) (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}}==
|