In case Kuci's explanation isn't clear, then here is an example :
Used with the mentioned compiler it will give 5.187...
Code:
begin
integer i;
real procedure sum (i, lo, hi, term);
value lo, hi;
integer i, lo, hi;
real term;
comment term is passed by-name, and so is i;
begin
real temp;
temp := 0;
for i := lo step 1 until hi do
temp := temp + term;
sum := temp
end;
print (sum (i, 1, 100, 1/i))
end

Comment