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

Программирование — процесс пошагового создания компьютерной программы, объединивший в себе подготовку ее проекта, применение ряда алгоритмов, написание программного кода и прочее. Оно предполагает использование своеобразного языка.

На фото изображено окно программы rad studio xe7.

Виды подпрограмм

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

Дополнительно к этому, подпрограммы используют при разделении массивных программ на небольшие смысловые составляющие, согласно комплекс самостоятельных модулей, состав и поведение которых подчиняются определённым правилам программирования (модульные основы).

Подалгоритм функционирует как подпрограмма если:

  1. Обозначить название подалгоритма;
  2. Расписать алгоритм, опираясь на критерии Паскаля.

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

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

Типы подпрограмм Паскаль:

  • процедуры;
  • функции.

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

Входные параметры — размер, транслируемый в подпрограмму из вызывающего блока.

Выходные параметры — размер, транслируемый в обратную сторону.

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

Описание. Вызов процедур и функций

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

  1. заглавие;
  2. исполняемая часть (описание процедур);
  3. раздел описаний (описания констант, типов, меток, процедур, функций, переменных).

Структура функции в языке программирования Pascal представлена определенным образом:

function имя функции (формальные параметры): тип результата;
раздел описаний функции
begin
исполняемая часть функции
end;

Структура процедуры в Паскале показана следующим образом:

procedure имя процедуры (формальные параметры);
раздел описаний процедуры
begin
исполняемая часть процедуры
end;

Таким образом записываются переменные, принимающие значимость аргументов в заглавие процедур и функций (должны разделяться знаком «;»):

var имя параметра: имя типа

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

Вызов процедуры производится оператором:

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

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

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

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

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

имя функции := результат;

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

  1. Численность двух параметров никак не обязана различаться;
  2. Подходящие друг другу характеристики обязаны иметь схожий режим очередности следования и тип.

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

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

Практическое применение процедуры. Задачей является: обнаружить из нескольких (наибольшее количество — два) полноценных чисел:

var x,y,m,n: integer;
procedure MaxNumber(a,b: integer; var max: integer);
begin
if a>b then max:=a else max:=b;
end;

begin
write(‘Введите x,y ‘);
readln(x,y);
MaxNumber(x,y,m);
MaxNumber(2,x+y,n);
writeln(‘m=’,m,’n=’,n);
end.

Для похожей задачи, но с применением функций, возможно найти решение так:

var x,y,m,n: integer;
function MaxNumber(a,b: integer): integer;
var max: integer;
begin
if a>b then max:=a else max:=b;
MaxNumber := max;
end;

begin
write(‘Введите x,y ‘);
readln(x,y);
m := MaxNumber(x,y);
n := MaxNumber(2,x+y);
writeln(‘m=’,m,’n=’,n);

Ссылка на основную публикацию