Обучающие курсы:

Обучение профессии "Разработчик C#" + стажировка в Mail.ru
Обучение профессии "Разработчик Python" + трудоустройство
Обучение профессии "Веб-разработчик" + стажировка в Mail.ru


Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Назначение подпрограмм в Турбопаскале

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

Подпрограмма описывается как некоторая замкнутая программная конструкция, имеющая имя, параметры и тело подпрограммы. Тело подпрограммы обязательно содержит некоторые операторы обработки данных. Для их выполнения подпрограмма может содержать свои собственные (локализованные в ней) программные объекты.

 

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

Будучи определены в программе или вне ее (например, в некотором модуле), подпрограммы могут использоваться (вызываться для исполнения) с заданием разных аргументов (фактических параметров).
Результаты исполнения подпрограммы должны каким-либо образом передаваться вызывающей ее программе. Механизм вызова подпрограмм в языке Турбо Паскаль допускает рекурсивный способ их исполнения.

 

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

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

 

Описания подпрограмм

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

Тело подпрограммы описывается как блок локальный, который в общем случае состоит из:

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

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

В приводимых ниже правилах скобки {} обрамляют такие языковые конструкции, которые могут отсутствовать. Заголовок функции имеет вид:

function <имя функции>
{(«перечень через ";" описаний формальных параметров>)} : <тип функции>

Заголовок процедуры имеет вид:

procedure <имя процедуры>
{(«перечень через ";" описаний формальных параметров>)}

Каждый формальный параметр описывается тремя атрибутами: имя, тип и способ подстановки.
Описание имеет вид:

{«способ подстановки>} <имя параметра> : <тип параметра>

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

 

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

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

Задание вычисления значения функции, называемое указателем функции, имеет вид:

<имя функции> {(<перечень через фактических параметров>)}

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

Вызов процедуры представляет собой оператор программы (оператор процедуры) и имеет вид:

<имя процедуры> {(<перечень через фактических параметров>)}

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

Взаимодействие с функцией или процедурой через механизм параметров означает,
во-первых, что фактические параметры в вызове функции или процедуры должны строго соответствовать ее формальным параметрам - по количеству, порядку перечисления и по типу;
во-вторых, механизм параметров определяет "направление потока данных" через параметры и его программную реализацию.

Эта составляющая механизма определяется понятием "способ подстановки".




 

Комментарии:


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


Введите значение:
 









   
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru