Вспомогательные алгоритмы

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

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

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

Процедура

Процедура оформляется следующим образом:
Алгоритмический язык Паскаль
алг <имя процедуры>
(<список параметров>)
<операторы>
кон
procedure <имя  процедуры>
(<список параметров>);
<описание>
begin
<операторы>
end

Вызов процедуры из основной программы производится оператором вызова процедуры: <имя процедуры>(<список значеиий>).

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

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

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

procedure SubTest(a,b:integer; var c:real, var d:integer);

здесь параметры а и b передаются по значению, а параметры с и d — по ссылке.

Функции

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

Описание функции:
Бейсик Паскаль
FUNCTION <имя>(<параметры>)
<операторы>
END FUNCTION
function <имя>(<параметры>):<тип результата>;
<описания>
begin
<операторы>
end

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

Вызов функции производится в выражениях и операторах подобно стандартным функциям языка:

<Переменная> := <Функция> (<Параметры>)

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

Запись опубликована в рубрике Информатика с метками , , . Добавьте в закладки постоянную ссылку.

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

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


*