15. Процедуры без параметров. Локальные и глобальные переменные. Побочные эффекты.
Процедуры без параметров.
PROCEDURE<имя>
Begin
<текст процедуры>
end;
Локальные и глобальные переменные.
Каждой подпрограмме доступны все ресурсы программного блока, в разделе описаний которого эта подпрограмма объявлена. Ресурсы же основной программы доступны в любой подпрограмме. Они получили название глобальных. В свою очередь локальные ресурсы, объявленные в разделе описаний подпрограммы, из программного блока, в разделе описания которого она определена, не доступны. В том случае, если в подпрограмме объявляется ресурс, имя которого совпадает с именем глобального ресурса, соответствующий глобальный ресурс в подпрограмме становится не доступным, «перекрывается».
Побочные эффекты.
Опыт показывает, что неявная передача данных в подпрограммы обычно приводит к большому количеству ошибок, которые достаточно сложно искать, так как неизвестно, какая подпрограмма с какими глобальными ресурсами работает. Кроме того, подпрограммы, использующие глобальные данные, невозможно перенастроить на работу с другими значениями, что сокращает возможности их применения. Поэтому желательно использовать явную передачу значений - через параметры.