Процедура в Turbo Pascal 7
Опубликовано: 02.09.2018
В языке Паскаль имеется две разновидности подпрограмм - процедуры и функции.
Структура любой подпрограммы аналогична структуре всей программы. Подпрограмма должна быть описана до того, как она будет использована в программе или другой подпрограмме.
Все параметры, которые использует подпрограмма, можно разбить на две категории: локальные параметры, объявленные внутри подпрограммы и доступные только ей самой, и глобальные - объявленные в основной программе и доступные как программе, так и всем ее подпрограммам. Обмен информацией между основной программой и подпрограммой может осуществляться только с помощью глобальных параметров.
[Pascal] 1 урок. переменные, ввод-вывод
Подпрограмма может использовать глобальные параметры двояким образом: непосредственно обращаясь к глобальному параметру по его имени или используя механизм формальных параметров. Подпрограмма может непосредственно использовать любые глобальные параметры за исключением тех, которые имеют те же имена, что и ее локальные параметры. Механизм формальных параметров будет рассмотрен в п. 10.3.
Подпрограмма-процедура предназначена для выполнения какой-то закончен-; ной последовательности действий. Любая процедура начинается с заголовка. В отличие от основной программы заголовок в процедуре обязателен. Он состоит из зарезервированного слова procedure, за которым следует идентификатор имени процедуры, а далее в круглых скобках - список формальных параметров:
procedure ();
За заголовком могут идти такие же разделы, что и в основной программе В отличие от основной программы процедура завершается не точкой, а точкой с запятой.
Пример. Процедура ввода N целых чисел. Пусть в основной программе определен тип:
type tArr = array[1..100] of Integer;
Процедура может иметь вид:
procedure InpInt(var Mas: tArr; N: Integer); | {заголовок процедуры со списком формальных параметров проверка N |
var i: Integer; | {локальный параметр - параметр цикла} |
begin | |
Writeln ('Ввведите', N, 'целых чисел'); | |
for I := 1 to N do | |
Read (Mas[i]) | |
end; |
Для вызова процедуры из основной программы или другой подпрограммы еле дует записать оператор, состоящий из имени процедуры и списка фактических параметров, которые должны совпадать по количеству и типам с формальными параметрами процедуры. Например:
InpInt(M, К);
означает, что вызывается процедура Inplnt для ввода К целых чисел в массив М. Естественно, что в этом случае параметр К целого типа, а М - массив типа tArr.