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

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

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 и затем дается название функции. В скобках описываются входящие переменные. Потом ставится двоеточие (:) и тип результата вычислений.
Таким образом, полный код программы будет выглядеть следующим образом:
functionp2
Процедура – та же самая функция, но имеющая входные и выходные параметры.
Рассмотрим структуру процедуры на этом же примере:

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

Сначала ставится ключевое слово procedure и затем дается название процедуры. В скобках описываются переменные для ввода/вывода расчетов. Для задания выходного параметра переменной, перед ней ставится ключевое слово var (var y:real).
Тогда полный код программы, с использованием процедуры, будет выглядеть следующим образом:
functionp3
Сначала высчитывается тангенс, а затем и сам пример.
Также можно структурировать код программы, и каждое действие вынести в отдельную процедуру:
functionp4
Хотя выглядит немного не красиво, но зато, при написании большой программы, очень удобно находить ошибки, редактировать и добавлять новые возможности.
Еще одна особенность объявления процедур и функций заключается в том, что при использовании массивов нельзя задавать количество элементов.
Пример:
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;

Автор

admin

Программист - техник, разработчик сайтов и программного обеспечения, владелец сервера, администратор сайта "Немного о компьютере..."

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *