![]() |
![]() |
||
![]() Главная страница Библиотека (скачать книги) Скачать софт Введение в программирование Стандарты для C++ Уроки по C# Уроки по Python HTML Веб-дизайн Ассемблер в среде Windows ActiveX Javascript Общее о Линукс Линукс - подробно Линукс - новое Delphi Паскаль для начинающих Турбопаскаль Новости Партнеры Наши предложения Архив новостей |
Назначение подпрограмм в Турбопаскале Подпрограмма — одно из базовых понятий программирования, не зависящее от определяющих его языковых средств. В виде подпрограмм представляются программные объекты, реализующие некоторую операцию, алгоритм, способ обработки данных. Подпрограмма описывается как некоторая замкнутая программная конструкция, имеющая имя, параметры и тело подпрограммы. Тело подпрограммы обязательно содержит некоторые операторы обработки данных. Для их выполнения подпрограмма может содержать свои собственные (локализованные в ней) программные объекты.
В языке Турбо Паскаль тело подпрограммы представляется в виде блока, который, помимо раздела операторов, содержит разделы описания программных объектов (в том числе других подпрограмм), локализуемых этой подпрограммой. Из этого следует иерархический (вложенный) характер определения подпрограмм. Будучи определены в программе или вне ее (например, в некотором модуле), подпрограммы могут использоваться (вызываться для исполнения) с заданием разных аргументов (фактических параметров).
Таким образом, система Турбо Паскаль поддерживает один из важнейших методов структурного программирования, называемый механизмом подпрограмм. Он допускает определение и вызов замкнутых, параметризованных, иерархических и рекурсивных подпрограмм. Система Турбо Паскаль (точнее, ее стандартные библиотечные модули) содержит большой набор встроенных (стандартных) функций и процедур. Возможность их использования любой программой является мощным средством расширения языка и возможностей системы. В частности, модули системы содержат встроенные функции и процедуры, выполняющие операции с данными разных типов.
Описания подпрограмм В языке Турбо Паскаль подпрограммы представляются программными объектами двух видов: функциями и процедурами. Функции и процедуры, необходимые для конкретной программы, могут быть определены в используемых ею системных или пользовательских модулях, либо непосредственно в программе (в разделах описания функций и процедур). Тело подпрограммы описывается как блок локальный, который в общем случае состоит из:
Тело функции отличается от тела процедуры тем, что в нем должно быть по крайней мере одно присваивание имени этой функции некоторого значения (это, как правило, основной результат исполнения функции). В приводимых ниже правилах скобки {} обрамляют такие языковые конструкции, которые могут отсутствовать. Заголовок функции имеет вид:
Заголовок процедуры имеет вид:
Каждый формальный параметр описывается тремя атрибутами: имя, тип и способ подстановки.
Тип параметра задается именем типа, предопределенного или описанного в одном из блоков, содержащих (в смысле их иерархической вложенности) описание данной функции. Тип функции задается именем типа (также определенного в одном из охватывающих ее блоков), но может быть только скалярным или строковым. Атрибут "способ подстановки" будет определен ниже.
Использование подпрограмм Как функция, так и процедура реализуют некоторые вычисления над данными, используя доступные им программные объекты. Результаты этих вычислений могут быть использованы в других вычислениях (операторах) путем задания в них программных конструкций, называемых вызовом или обращением к функции или процедуре. При этом основным механизмом передачи данных между вызываемыми подпрограммами и вызывающими их программными конструкциями является механизм параметров. Для функций одно из вычисляемых ею значений (часто оно является единственным) возвращается указателем этой функции. Задание вычисления значения функции, называемое указателем функции, имеет вид:
Указатель функции используется в конструкциях программы, соответствующих смыслу и типу данной функции - чаще всего в выражениях. Вызов процедуры представляет собой оператор программы (оператор процедуры) и имеет вид:
Фактический параметр (аргумент) в зависимости от способа подстановки формального параметра задается выражением или только переменной. Взаимодействие с функцией или процедурой через механизм параметров означает, Эта составляющая механизма определяется понятием "способ подстановки".
|
||
Библиотека программиста. 2009. |
|