ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Процедуры и функции. Подпрограмма – это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы
Подпрограмма – это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы, записывается однократно, а в соответствующих местах программы обеспечивается лишь обращение к ней по имени. Использование подпрограмм позволяет:
В Pascal механизм подпрограмм реализуется в виде процедур и функций. Процедура – это самостоятельная программная единица, которая выполняется по команде из другой программной единице (процедуре или функции). Общий вид описания процедуры: PROCEDURE имя (список формальных параметров); Раздел описаний; (могут присутствовать все разделы описаний) BEGIN Операторная часть; END; Формальные параметры – это переменные фиктивно присутствующие в процедуре и определяющие тип и место подстановки фактических параметров над которыми производятся действия. Все формальные параметры делятся на два вида:
Выходные параметры – это те параметры, перед которыми ставится служебное слово 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));
Не нашли, что искали? Воспользуйтесь поиском:
|