Вызов подпрограммы
Когда в тексте программы указывается имя ранее описанной подпрограммы с фак-
тическими параметрами, то выполнение основной части программы останавлива-
ется и управление передается подпрограмме, до тех пор пока в ходе работы не будет
достигнут ее конец (зарезервированное слово end). После этого управление пере-
дается обратно в программу (или другую подпрограмму), вызывавшую данную
подпрограмму.
Параметры должны следовать в "строгом соогветствии с порядком их описания в
заголовке подпрограммы. Типы их так же должны точно совпадать с указанными.
Если параметров у подпрограммы нет, то записывается только название подпро-
граммы и следующая за ней точка с запятой.
Demo;
Функции, возвращающие значение, могут использоваться так же, как и процедуры.
Например, описанную выше функцию Sum можно вызывать так:
X := Sumf 2,2 );
а можно и так:
Sum( 2,2 );
В последнем случае значение, возвращаемое функцией, просто теряется.
Процедуры, играющие роль операторов
С развитием языка Паскаль в рамках среды Delphi 7 в него добавлялось множество
новых полезных возможностей, нередко заимствованных из других языков про-
граммирования. Эти возможности вводились в Паскаль не в виде новых операторов,
что нарушило бы идеологию языка, а в виде стандартных подпрограмм, которые,
хотя и не выделяются цветом наравне с другими ключевыми словами, тем не менее,
фактически являются таковыми. И реализуются подобные подпрограммы не в виде
обращений к машинному коду, хранимому в программной библиотеке. Компиля-
тор не добавляет в генерируемый код ссылку, а превращает данную процедуру,
подобно обычным операторам, в небольшой набор машинных инструкций (а иногда
и в одну такую инструкцию).
Одна из таких весьма полезных процедур — Exit (без параметров).
Exit ;
При ее выполнении происходит немедленное завершение текущей подпрограммы
и передача управления вызывающей программе. Такая возможность часто требу-
ется, когда логика, реализуемая в подпрограмме, достаточно сложна и организовать
линейный выход из подпрограммы (по достижении ее конца) затруднительно.
Полезна подпрограмма Exit и в тех случаях, когда при определенных значениях
параметров вычислить значение функции удается сразу. Например, если при вычис-
лении факториала числа параметр равен 1 , можно сразу определить возвращаемое
значение, также равное 1, и покинуть подпрограмму.