2015-12-28 14:25:15 +03:00
|
|
|
|
// Процедурная переменная как параметр
|
2015-05-14 22:35:07 +03:00
|
|
|
|
procedure for_each(a: array of real; p: procedure(var r: real));
|
|
|
|
|
|
begin
|
|
|
|
|
|
for var i := 0 to a.Length-1 do
|
|
|
|
|
|
p(a[i]);
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure mult2(var r: real);
|
|
|
|
|
|
begin
|
|
|
|
|
|
r := 2*r
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure print(var r: real);
|
|
|
|
|
|
begin
|
|
|
|
|
|
write(r,' ');
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
var a: array of real := (1,2,3,6,7);
|
|
|
|
|
|
|
|
|
|
|
|
begin
|
2015-12-28 14:25:15 +03:00
|
|
|
|
writeln('Содержимое массива: ');
|
2015-05-14 22:35:07 +03:00
|
|
|
|
for_each(a,print);
|
|
|
|
|
|
writeln;
|
|
|
|
|
|
for_each(a,mult2);
|
2015-12-28 14:25:15 +03:00
|
|
|
|
writeln('Содержимое массива после умножения его элеметов на 2: ');
|
2015-05-14 22:35:07 +03:00
|
|
|
|
for_each(a,print);
|
|
|
|
|
|
end.
|