Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Урок из серии Pas ABC.doc
Скачиваний:
10
Добавлен:
17.08.2019
Размер:
694.78 Кб
Скачать

Параметры процедур и функций

Для процедур и функций общим является наличие списка параметров, приводимого в скобках после имени процедуры или функции.

Подпрограмма реализует некоторый частный алгоритм, который вызывается в основной программе. Для реализации алгоритма подпрограмме могут понадобиться некоторые данные из основной программы. Обработав эти данные, подпрограмма возвращает результат основной программе, если в этом есть необходимость. Передавать информацию из основной программы в подпрограмму и наоборот мы можем только через переменные, которые носят специальное название - параметры.

Результат выполнения процедуры - это одно или несколько значений. Результат передается в основную программу через ее выходные параметры.

Схематично это можно изобразить следующим образом:

Переменные, с помощью которых передается информация из основной программы в подпрограмму, называются входными параметрами. Переменные, через которые информация поступает из подпрограммы в основную программу, называются выходными.

Передача параметров

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

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

Если параметр передается по значению, то при вызове подпрограммы значения фактических параметров (т. е. их копии) присваиваются соответствующим формальным параметрам. При этом подпрограмма работает не с объектом, а с его копией. Изменение формального параметра внутри подпрограммы никак не влияет на значение фактических параметров в основной программе.

Если параметр передается по ссылке, то при вызове подпрограммы фактический параметр заменяет собой в теле подпрограммы соответствующий ему формальный параметр (в подпрограмму передается адрес фактического параметра). В итоге любые изменения формального параметра- переменной внутри подпрограммы приводит к соответствующим изменениям фактического параметра.

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

Глобальные и локальные переменные

В программе все переменные делятся на глобальные и локальные.

Глобальные переменные - это те переменные, которые объявляются в описании основной программы.

Локальные переменные - это те, которые описаны в процедурах и функциях. Эти переменные помещаются в стек при вызове подпрограммы и удаляются из него при возвращении в точку вызова. Таким образом, локальные переменные существуют только тогда, когда работает подпрограмма, появляются при вызове и исчезают при завершении работы.

Все процедуры и функции языка Паскаль делятся на две группы: встроенные (стандартные) и определенные пользователем. Первые входят в состав языка и вызываются по строго фиксированному имени. Вторые разрабатываются и именуются самим пользователем.

На последующих уроках вы научитесь создавать и использовать пользовательские процедуры и функции.

Урок 14 из серии: "Язык программирования Паскаль"

Процедуры- это разновидность подпрограмм. Процедура, в отличие от функции, может содержать несколько выходных параметров или ни одного. Её нельзя использовать в качестве операнда в выражених.

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

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

Описание процедуры

Прежде чем использовать процедуру, ее нужно описать в разделе описаний основной программы.

В разделе описаний процедуры и функции определяют после раздела описания переменных (после раздела Var) и до до начала раздела операторов (до слова Begin).

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

Заголовок процедуры начинается с ключевого слова Procedure за которым следует имя процедуры и необязательный, заключенный в круглые скобки, списк формальных параметров с указанием типа каждого параметра.

Общий вид процедуры:

Procedure <имя>[<список формальных параметров с указанием типов>];

<раздел описаний>

Begin

<операторы>

End;

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

Через параметры-значения в подпрограмму поступает входная информация. Перед ними слово Var не ставится и идет передача по значению, то есть передается только копия значений этих параметров.

Через параметры- переменные из подпрограммы в основную программу передаются результаты. Перед параметрами-переменными ставится служебное слово Var.