Язык программирования Pascal. Процедуры и функции. Рекурсия. Васильев В.В - 15 стр.

UptoLike

15
for k:=0 to t do
begin
a:=r*10+i[k]; i[k]:=a div n; r:=a mod n
end
end;{division}
function end_(const i:vector):boolean;
{проверка достижения заданной точности}
var k:integer;{параметр цикла}
begin
k:=-1;
repeat
k:=k+1 until (i[k]<>0) or (k=t);
end_:=i[k]=0
end; {end_}
procedure print(const e:vector);
{печать массива с цифрами числа е}
var k:1..t;{параметр цикла}
begin
write('e=',e[0]:1,',');
for k:=1 to t do write(e[k]:1);
end; {print}
Begin
Textbackground(7); Textcolor(blue); Clrscr;
one(i); one(e); n:=1;
repeat
add(e,i); n:=n+1; division(i,n)
until end_(i);
print(e);
readkey
End.{Epsilon}
В результате работы программы на экране появится запись
e = 2,71828182845904523536028747135266249775724709369978
В Паскале допустимо использовать процедуры без параметров! В этом
случае в заголовке процедуры после ее имени круглые скобки не ставятся .
Познакомимся с открытыми параметрами-массивами. В процедуру
можно передавать через один параметр массивы различного размера. В этом
случае в заголовке процедуры надо описать открытый параметр-массив:
procedure имя_процедуры ( имя_массива:
array of тип_элементов_массива );
Например , в процедуру symbol нужно передавать массивы разного разме-
ра, состоящие из символов . Напишем заголовок процедуры :
procedure symbol ( m: array of char );
Для определения характеристик переданного фактического параметра в
процедуре могут быть использованы три стандартных функции: Low() - всегда
возвращает 0 (индекс первого элемента массива ), High() - возвращает индекс