real procedure rombergintegr(fct, lgr, rgr, ord); value lgr, rgr, ord; real lgr, rgr; integer ord; real procedure fct ; comment ; begin real array t[1:ord+1]; real l, u, m; integer f, h, j, n; l ≔ rgr - lgr; t[1] ≔ (fct(lgr) + fct(rgr))/2; n ≔ 1; for h ≔ 1 step 1 until ord do begin u ≔ 0; m ≔ l/(2×n); for j ≔ 1 step 2 until 2×n - 1 do u ≔ u + fct(lgr + j×m); t[h + 1] ≔ (u/n + t[h])/2; f ≔ 1; for j ≔ h step -1 until 1 do begin f ≔ 4×f; t[j] ≔ t[j + 1] + (t[j+1] - t[j])/(f - 1) end ; n ≔ 2 × n end ; rombergintegr ≔ t[1] × l end;