русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-06-12; просмотров: 457; Нарушение авторских прав


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

Procedure <имя процедуры> [(<список_параметров>)];

[Var часть]

[Const часть]

Begin

{тело процедуры}

[<операторы>]

End;

 

Именем процедуры может являться любой уникальный идентификатор. Список параметров должен состоять из одной или нескольких конструкций следующего вида:

 

[Var] <имя формального параметра>: <тип параметра>

 

разделенных точками с запятой, где именем параметра является идентификатор, с которым ассоциируется значение фактически переданного процедуре параметра (именно значение, а не переменная, передаваемая в качестве параметра), а типом параметра – стандартный или ранее определенный тип. Если перед именем параметра стоит ключевое слово Var, то изменение данного параметра в теле процедуры приведет к изменению значения переменной, переданной в качестве параметра.

Вызов процедуры производится так:

 

<имя процедуры> [(<список фактических параметров>)];

 

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

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



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

 

Function <имя_функции> [(<список_параметров>)]:

тип_результата;

[Var часть]

[Const часть]

Begin

{тело функции}

[<операторы>]

End;

 

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

 



<== предыдущая лекция | следующая лекция ==>
Выполнение простых операторов | Первая программа


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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