
с
я
 локальными.
 Они действуют только в пределах внутреннего бло-
ха. Описания же, стоящие во внешнем блоке, называются гло-
бальными по отношению к внутреннему блоку. Если глобально 
описанный объект используется во внутреннем блоке, то на него 
распространяется внешнее (глобальное) описание. 
В программе N0D1 переменные М, N, К — локальные внутри 
процедуры; переменные а, Ь, с — глобальные. Однако внутри про-
цедуры переменные а, Ь, с не используются. Связь между вне-
шним блоком и процедурой осуществляется через параметры. 
В программе N0D2 все переменные являются глобальными. В 
процедуре Evklid нет ни одной локальной переменной (нет и 
параметров). Поэтому переменные Ми N, используемые в проце-
дуре, получают свои значения через оператор присваивания в ос-
новном блоке программы. Результат получается в глобальной пе-
ременной К, значение которой выводится на экран. 
Использование механизма передачи через параметры делает 
процедуру более универсальной, независимой от основной про-
граммы. Однако в некоторых случаях оказывается удобнее ис-
пользовать передачу через глобальные переменные. Чаще такое 
бывает с процедурами, работающими с большими объемами ин-
формации. В этой ситуации глобальное взаимодействие экономит 
память ЭВМ. 
Функции. Теперь выясним, что такое подпрограмма-функция. 
Обычно функция используется в том случае, если результатом 
подпрограммы должна быть скалярная (простая) величина. Тип 
результата называется типом функции. В Турбо Паскале допуска-
ются функции строкового типа. Синтаксическая диаграмма опи-
сания функции представлена на рис. 29. 
Как и у процедуры, у функции в списке формальных парамет-
ров могут присутствовать параметры-переменные и параметры-
значения. Все это аргументы функции. Параметры вообще могут 
отсутствовать (если аргументы передаются глобально). 
«Эписание функции> 
• <Заголовок> И ; ) •<Блок>-
<Заголовок> f \ 
• •Function—>-<Имя функции>—i х>( : )-КТип» 
( )-*<Список формальных параметров>-
Рис.
 29 
75