Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Классификация параметров подпрограмм

Читайте также:
  1. II. Классификация антисептических и дезинфицирующих средств.
  2. II. Классификация издержек обращения.
  3. II. Классификация, этиология, патогенез и гемодинамика
  4. II. Товарные запасы. Характеристика, классификация, факторы, влияющие на размер товарных запасов
  5. Адсорбция. Зависимость от параметров системы
  6. Анализ рисков реализации подпрограммы и описание мер управления рисками.
  7. АРМАТУРА КОТЕЛЬНЫХ УСТАНОВОК. НАЗНАЧЕНИЕ. КЛАССИФИКАЦИЯ.

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

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

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

Обмен данными между программой и подпрограммой осуществляется посредством параметров.

Подпрограммы в языке Паскаль могут быть двух видов: процедуры и функции.

Процедура позволяет получить несколько результатов (или, в частном случае, ни одного результата) и возвращает результаты через измененные параметры.

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

Структура программы с использованием подпрограмм

 

Program Project1; Заголовок программы
Const …; Описание глобальных параметров
Type …;
Var …;
 
Procedure PR(A:integer; var B:real); // список формальных параметров Const // описание локальных констант Type // описание локальных типов данных Var // описание локальных переменных Заголовок процедуры   Описание локальных параметров
Procedure // описание локальных процедур Function // описание локальных функций Описание вложенных подпрограмм
Begin Тело процедуры
 
End;  
Function FC(A:real; C:real):real; //список формальных параметров: тип результата функции Const // описание локальных констант Type // описание локальных типов данных Var // описание локальных переменных Procedure // описание локальных процедур Function // описание локальных функций Заголовок функции     Описание локальных Параметров   Описание вложенных подпрограмм
   
Begin Тело функции
….  
FC:=<возвращаемый результат>;  
End;  
   
Begin Основная программа
….  
PR(K,X); Вызов процедуры со списком фактических параметров
 
PR(R,Y); Вызов процедуры со списком фактических параметров
 
Z:=FC(Y,X); Вызов функции со списком фактических параметров
 
 
End.  

 

Классификация параметров подпрограмм

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

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

Желательно не использовать глобальные параметры в подпрограммах.

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

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

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

Фактические параметры должны соответствовать формальным параметрам по типу, количеству и порядку следования.

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

По способу передачи параметры подразделяются на параметры-значения, параметры-переменные и параметры-константы.

Параметры-значения. В списке формальных параметров подпрограммы описание параметра-значения следующее:

Procedure PR(<имя параметра>:<тип>);

Параметры-значения имеют свойства:

1. Тип параметра может быть любой (простой или описанный в разделе Type), кроме файлового типа.

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

3. Эти параметры могут быть только входными.

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

Параметры-переменные. В списке формальных параметров подпрограммы описание параметра-переменной следующее:

Procedure PR(Var <имя параметра>:<тип>; Out <имя параметра>:<тип>);

Параметры-переменные имеют свойства:

1. Тип параметра может быть любой (простой или описанный в разделе Type).

2. При вызове в подпрограмму передается адрес фактического параметра. В этом случае нет ограничений на обработку больших объемов информации.

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

4. В качестве фактических параметров могут быть только переменные того же типа, что и соответствующий формальный параметр.

Параметры-константы. В списке формальных параметров подпрограммы описание параметра-константы следующее:

Procedure PR(Const <имя параметра>:<тип>);

Параметры-константы имеют свойства:

1. Тип параметра может быть любой (простой или описанный в разделе Type).

2. При вызове в подпрограмму передается адрес фактического параметра. В этом случае требуется меньше места и времени на передачу большого числа параметров.

3. Эти параметры могут быть только входными. Фактические параметры не изменяются, и тем самым обеспечивается безопасность работы программы.

4. В качестве фактических параметров могут быть только переменные того же типа, что и соответствующий формальный параметр.


Дата добавления: 2015-07-26; просмотров: 243 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Пример 22.| Примеры решения задач с использованием процедур

mybiblioteka.su - 2015-2024 год. (0.007 сек.)