Подпрограммы


Содержание

Процедуры и функции

 

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

 

 

Подпрограммы.. 1

Объявление и описание. 2

Объявление функции. 2

Объявление процедуры.. 2

Описание подпрограммы.. 2

Список параметров. 3

Возвращаемые значения. 4

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

Способы подстановки аргументов. 6

Параметр-значение. 6

Описание. 6

Механизм передачи значения. 6

Параметр-переменная. 7

Описание. 7

Механизм передачи значения. 7

Параметр-константа. 7

Описание. 7

Механизм передачи значения. 8

Области действия имен. 8

Разграничение контекстов. 8

Побочный эффект. 9

Совпадение имен. 9

Нетипизированные параметры.. 10

Явное преобразование типа. 10

Совмещение в памяти. 10

Открытые параметры.. 11

Открытые массивы.. 11

Открытые строки. 11

Процедурный тип данных. 12

Описание. 12

Аргументы.. 12

Вызов. 13

 

 

Весьма поэтичное объяснение понятия подпрограмма дал В.Ф. Очков: " Подпрограмма - это припев песни, который поют несколько раз, а в текстах песен печатают только один раз".

 

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

 

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

 

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

 

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