Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




BEGIN

Процедуры

Вызов подпрограмм

 

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

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

 

Структура описания процедуры с параметрами имеет вид:

 

PROCEDURE <имя>(формальные параметры);

{раздел описания (метки, константы, типы, переменные) }

{ операторы подпрограмм }

END;

 

Обращение к процедуре производится по имени с указанием фактических параметров или без их указания. Возврат из подпрограммы в основную программу происходит к следующему за ее вызовом оператору.

Пример программы вычисления второй и третьей степеней числа: ]

 

PROGRAM PROS;

VAR X,Y,A,A2,A3:INTEGER;

{А-исходная переменная, А2 - А2, А3 – А3.глобальные переменные}

PROCEDURE STEP23; {процедура без параметров}

BEGIN

А2:=А*А;

А3: =A2*A;

WRITELN(A:5, А2:5, А3:6);

END;

BEGIN {основная программа}

READ(Y,X);

WRITELN (‘ Число; квадрат; куб’)

А:=Х;

STEP23; {вызов подпрограммы}

А:=Y;

STEP23 {вызов подпрограммы}

END.

 

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

 

Пример:

PROCEDURE P(Y,X:REAL; VAR Z1,Z2:REAL);

{ Y,X - параметры-значения. Z1, Z2 - параметры-переменные }.

Передачу результатов можно производить и через глобальные переменные. Однако злоупотребление глобальными связями делает программу запутанной и сложной в отладке. В связи с этим рекомендуется там, где это возможно передавать результаты через параметры-переменные. С другой стороны, нежелательным является описание всех формальных параметров переменными.

Чем меньше параметров объявлено параметрами-переменными и чем меньше используется глобальных переменных, тем меньше возможность получения непредвиденных программистом побочных эффектов в программе.

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

 

 

Функция описывается в программе следующей структурой:

 

FUNCTION <имя> (формальные параметры}:<тип>:

{ раздел описаний: переменные, типы, метки}




Поделиться с друзьями:


Дата добавления: 2014-01-14; Просмотров: 1444; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.