Ваш город: Не указано

Процедуры и функции в Pascal

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

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

Функция

Давайте попробуем ввести пример в паскаль:


y:=((sin(x)/cos(x))*2)/((sin(x)/cos(x))+6)*( (sin(x)/cos(x))*2)/(
(sin(x)/cos(x))+6)*( (sin(x)/cos(x))*2)/( (sin(x)/cos(x))+6)-
sin(x)/cos(x)+sin(x);

Известно, что тангенс высчитывается по следующей формуле: tn=sin(x)/cos(x). Согласитесь, ведь не разумно писать столько строк, если можно все сократить. А если пример был бы гораздо больше? Чтобы упростить весь пример, можно создать функцию, высчитывающую этот тангенс:


function tg(x:real):real;
begin
tg:=sin(x)/cos(x);
end;

Обычно, функция описывается еще в начале программы перед begin (сразу после описания переменных var). Сначала ставится ключевое слово function и затем дается название функции. В скобках описываются входящие переменные. Потом ставится двоеточие (:) и тип результата вычислений.

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

Программа с использованием функций на Pascal

Процедура – та же самая функция, но имеющая входные и выходные параметры.

Рассмотрим структуру процедуры на этом же примере:


procedure tg(x:real; var y:real);
begin
y:=sin(x)/cos(x);
end;

Сначала ставится ключевое слово procedure и затем дается название процедуры. В скобках описываются переменные для ввода/вывода расчетов. Для задания выходного параметра переменной, перед ней ставится ключевое слово var (var y:real).

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

Программа с использованием процедур на Pascal

Сначала высчитывается тангенс, а затем и сам пример.

Также можно структурировать код программы, и каждое действие вынести в отдельную процедуру:

Pascal Программа с использованием процедур

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

Еще одна особенность объявления процедур и функций заключается в том, что при использовании массивов нельзя задавать количество элементов.

Пример:

procedure vvod(var array[1..n] of integer); {Процедура объявлена неверно!}
procedure vvod(var array of integer); {Процедура объявлена верно!}

После объявления процедур или функций, так же, как и после названия программы, описываются необходимые переменные:


procedure max;
var i:integer; {описание переменных}
begin
end;


function max(s:string):boolean;
var i:integer;
begin
end;

Опубликовано: 2018-01-05 22:52:19