Difference between revisions of "Procedure/ru"

From Lazarus wiki
Jump to navigationJump to search
(Deleted categories because they are placed in template)
m (Fixed syntax highlighting)
 
Line 22: Line 22:
 
Пример использования [[Variable parameter/ru|параметров-переменных]]:
 
Пример использования [[Variable parameter/ru|параметров-переменных]]:
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
  // процедура обмена значений двух переменных (параметры передаются по ссылке)
 
  // процедура обмена значений двух переменных (параметры передаются по ссылке)
 
  procedure swap(var c1,c2:char);
 
  procedure swap(var c1,c2:char);

Latest revision as of 09:00, 23 February 2020

Deutsch (de) English (en) suomi (fi) français (fr) italiano (it) русский (ru)

Обзор

Ключевое слово procedure предназначено для объявления подпрограммы, которая может быть вызвана

  • из модуля, в котором она объявлена
  • из внешнего модуля, если она объявлена в секции interface модуля,
  • или из программы

Если подпрограмма объявлена как процедура, то она не возвращает значение. Процедура, которая возвращает значение, называется функцией.

Процедура, являющаяся частью объекта, называется методом. Функция, являющаяся частью объекта, также называется методом, если с её помощью не может быть присвоено значение из внешней функции и свойством, если с её помощью может быть присвоено значение из внешней функции.

Параметры процедуры

Пример

Пример использования параметров-переменных:

 // процедура обмена значений двух переменных (параметры передаются по ссылке)
 procedure swap(var c1,c2:char);
 var c:char; 
 begin
   c:=c1;
   c1:=c2;
   c2:=c;
 end;

 var s:string;

 begin
   s:='pit'; 
   swap(s[1],s[3]);
   writeln (s); // результатом будет 'tip'
 end.

См. также