Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






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




 

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

Использование подпрограмм позволяет:

  1. Сократить объем программы.
  2. Улучшить структуру (читаемость и наглядность).
  3. уменьшить вероятность ошибок.
  4. облегчить процесс отладки.

В Pascal механизм подпрограмм реализуется в виде процедур и функций.

Процедура – это самостоятельная программная единица, которая выполняется по команде из другой программной единице (процедуре или функции).

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

PROCEDURE имя (список формальных параметров);

Раздел описаний; (могут присутствовать все разделы описаний)

BEGIN

Операторная часть;

END;

Формальные параметры – это переменные фиктивно присутствующие в процедуре и определяющие тип и место подстановки фактических параметров над которыми производятся действия.

Все формальные параметры делятся на два вида:

  1. Параметры значения (входные).
  2. параметры переменные (выходные).

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

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

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

Результат выполнения процедуры – это одно или несколько значений, которые передаются в основную программу, как значение ее параметра.

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

!!! – число и тип формальных и фактических параметров должны совпадать с точностью до их следования.

Пример: Составить программу, которая будет находить AN, где A, N – целые числа, вводимые с клавиатуры. Описать в виде процедуры.

PROCEDURE STEP (A, N: INTEGER; VAR Y: INTEGER);

VAR I: INTEGER; {локальная переменная}

BEGIN

Y:=1;

FOR I:=1 TO N DO Y:=Y*A;

END;

Передается три параметра A, N – параметры значения, Y – параметр переменной. Вызов этой процедуры в основной программе выглядит:

STEP (3, 5, d); или STEP (b, c, d1);

 

Функции

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

Общая форма описания функции:

FUNCTION имя (формальные параметры {только входные}): тип;

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

BEGIN

операторы функции;

END;

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

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

1. Вычисляются выражения для аргументов функции.

2. Значения аргументов присваиваются параметру из заголовка описания.

3. Выполняется тело функции, и вычисляются ее значения.

4. Значение функции ставится в исходное выражение на место обращения функции.

Пример: Описать функцию, вычисляющую факториал.

N! =? (0! = 1).

FUNCTION FACT (N: INTEGER): INTEGER;

VAR I, P: INTEGER;

BEGIN

IF (N=0) OR (N=1) THEN FACT:=1

ELSE BEGIN

P:=1;

FOR I:=2 TO N DO P:=P*I;

FACT:= P; END; END;

D:=FACT(5);

либо

WRITELN ('Факториал 5 =', FACT(5));

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных