Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
(6)подпрограммы.doc
Скачиваний:
9
Добавлен:
04.08.2019
Размер:
72.19 Кб
Скачать

Вызов подпрограммы

Когда в тексте программы указывается имя ранее описанной подпрограммы с фак-

тическими параметрами, то выполнение основной части программы останавлива-

ется и управление передается подпрограмме, до тех пор пока в ходе работы не будет

достигнут ее конец (зарезервированное слово end). После этого управление пере-

дается обратно в программу (или другую подпрограмму), вызывавшую данную

подпрограмму.

Параметры должны следовать в "строгом соогветствии с порядком их описания в

заголовке подпрограммы. Типы их так же должны точно совпадать с указанными.

Если параметров у подпрограммы нет, то записывается только название подпро-

граммы и следующая за ней точка с запятой.

Demo;

Функции, возвращающие значение, могут использоваться так же, как и процедуры.

Например, описанную выше функцию Sum можно вызывать так:

X := Sumf 2,2 );

а можно и так:

Sum( 2,2 );

В последнем случае значение, возвращаемое функцией, просто теряется.

Процедуры, играющие роль операторов

С развитием языка Паскаль в рамках среды Delphi 7 в него добавлялось множество

новых полезных возможностей, нередко заимствованных из других языков про-

граммирования. Эти возможности вводились в Паскаль не в виде новых операторов,

что нарушило бы идеологию языка, а в виде стандартных подпрограмм, которые,

хотя и не выделяются цветом наравне с другими ключевыми словами, тем не менее,

фактически являются таковыми. И реализуются подобные подпрограммы не в виде

обращений к машинному коду, хранимому в программной библиотеке. Компиля-

тор не добавляет в генерируемый код ссылку, а превращает данную процедуру,

подобно обычным операторам, в небольшой набор машинных инструкций (а иногда

и в одну такую инструкцию).

Одна из таких весьма полезных процедур — Exit (без параметров).

Exit ;

При ее выполнении происходит немедленное завершение текущей подпрограммы

и передача управления вызывающей программе. Такая возможность часто требу-

ется, когда логика, реализуемая в подпрограмме, достаточно сложна и организовать

линейный выход из подпрограммы (по достижении ее конца) затруднительно.

Полезна подпрограмма Exit и в тех случаях, когда при определенных значениях

параметров вычислить значение функции удается сразу. Например, если при вычис-

лении факториала числа параметр равен 1 , можно сразу определить возвращаемое

значение, также равное 1, и покинуть подпрограмму.