Подпрограмма - это самостоятельный фрагмент программы, предназначенный для решения определенной задачи и связанный с основной программой лишь с помощью нескольких параметров.
Процедуры и функции (подпрограммы) представляют собой важный инструмент программирования, позволяющий писать хорошо структурированные программы.
В структурированных программах обычно легко прослеживается основной алгоритм, их проще понять любому читателю, они удобнее в отладке и менее чувствительны к ошибкампрограммирования.
Самостоятельность подпрограмм позволяет локализовать в них все детали программной реализации того или иного алгоритмического действия, и поэтому изменение этих деталей, например, в процессе отладки обычно не приводит к изменениям основной программы.
Языки, в которых предусмотрены средства структурирования, называются процедурно-ориентированными. К их числу принадлежит и Object Pascal.
Процедурой называется особым образом оформленный фрагмент программы, имеющий собственное имя. Упоминание этого имени в тексте программы приводит к активизации процедуры и называется ее вызовом.
Сразу после активизации процедуры начинают выполняться входящие в нее операторы, после выполнения последнего из них управление возвращается обратно в основную программу и выполняются операторы, стоящие непосредственно за оператором вызова процедуры.
Для обмена информацией между основной программой и процедурой используется один или несколько параметров вызова.
Функцияотличается от процедуры тем, что результат ее работы возвращается в виде значения этой функции, и, следовательно, вызов функции может использоваться наряду с другими операндами в выражениях.
Стандартные процедуры созданы одновременно с системой Delphi и являются ее неотъемлемой частью.
В Delphi имеется много стандартных процедур и функций. Наличие богатой библиотеки таких программных заготовок существенно облегчает разработку прикладных программ. Однако в большинстве случаев некоторые специфичные для данной прикладной программы действия не находят прямых аналогов в библиотеках Delphi, и тогда программисту приходится разрабатывать свои, нестандартные процедуры и функции.
Нестандартную подпрограмму необходимо описать, чтобы компилятор смог установить связь между оператором вызова и теми действиями, которые предусмотрены в подпрограмме. Описание подпрограммы помещается в разделе описаний (до начала исполняемых операторов).