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

Вызов процедуры

Процедура не может выполнится сама, ее необходимо вызвать. Чтобы вызвать процедуру, нужно указать ее имя и список фактические параметров.

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

<имя процедуры> [(<список фактических параметров>)];

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

Пример 1. Оформить в виде процедуры алгоритм вычисления степени y = xn с натуральным показателем n.

procedure degree(x,y: integer; var st: longint);

var i:integer;

begin

st :=1;

For i:=1 to y do st:= st * x;

end;

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

В программе процедуры и функции описывается в разделе описаний основной программы после раздела описания переменных. Вся программа для нашей задачи имеет следующий вид:

program primer1;

var a, n: integer;

s:longint;

procedure degree(x,y: integer; var st: longint);

var i:integer;

begin

st :=1;

For i:=1 to y do st:= st * x;

end;

begin {main}

writeln('Введите два числа');

readln(a, n);

degree(a,n,s); {Вызов процедуры}

writeln('Результат: ', s); {Вывод результата}

end.

Процедура вызывается по имени. В нашем примере, фактические параметры а, n и s передают свои значения соответствующим формальным параметрам x, y и st. После завершения работы процедуры переменные a и n имеют те же значения, что и при вызове, а s получает новое значение.

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

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

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

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

Описание функции

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

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

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

Операторы функции внутри операторных скобок begin/end называются телом этой функции.

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

Таким образом, общий вид функции в языке Паскаль такой:

function <имя функции>[<список формальных параметров>]:<тип возвращаемого значения>;

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

begin

<операторы>

<имя функции> := <возвращаемое значение>;

еnd;

В языке Pascal ABC вместо имени функции для возврата значений в вызывающую программу можно использовать другую специальную переменную с именем Result.

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