
- •1. Основные принципы построения ос
- •2. Функции и организация ос
- •3. Процессы. Свойства процессов. Классификация процессов
- •4. Ресурсы. Свойства ресурсов. Классификация ресурсов
- •5. Понятие сетевых ос и распределенных ос
- •6. Функциональные компоненты сос
- •7. Схемы построения сетей
- •8.Структура программ Turbo Pascal 7.0
- •9. Типы данных
- •10. Простые операторы
- •11. Операторы безусловного и условного перехода
- •12. Операторы цикла
- •13. Массивы. Действия над массивами. Действия над элементами массива
- •14. Описание процедур и функций. Формальные и фактические параметры подпрограмм
- •15. Параметры-значения и параметры-переменные подпрограмм. Механизм передачи параметров в подпрограмму
14. Описание процедур и функций. Формальные и фактические параметры подпрограмм
Группу операторов, к которой возникает необходимость частого обращения, объединяют в самостоятельный блок, указав ему имя. Такой блок, разработанный пользователем, называют подпрограммой пользователя.
Различает два вида подпрограмм: процедуры и функции, которые описываются в разделе описания главной программы.
Рrосесdurе<имя>(<список формальных параметров значений >: <тип>; var <список формальных параметров переменных>: <тип>);
Label... - раздел описаний меток
Cons... - раздел описания констант
Туре... - раздел описаний типов
Var... - раздел описания переменных
Procedure... - вложенная процедура
Function... - вложенная функция
BEGIN
<операторы>;
END;
Function<имя>(<список формальных параметров>: тип>) : <Тип возвращаемого значения>;
Label... - раздел описаний меток
Const... - раздел описания констант
Туре... - раздел описаний типов
Var... -раздел описания переменных
Procedure... - вложенная процедура
Function... - вложенная функция
BEGIN
<операторы>;
END;
При вызове подпрограммы работа основной программы останавливается. Подпрограмма обрабатывает данные, переданные из главной программы, и по завершении выполнения возвращает главной программе результат.
15. Параметры-значения и параметры-переменные подпрограмм. Механизм передачи параметров в подпрограмму
Передача данных из главной программы в подпрограмму и возврат результата осуществляется с помощью параметров. Различают формальные параметры - параметры, определенные в заголовке подпрограммы, и фактические параметры - выражения, задающие конкретные значения при обращении к подпрограмме. При вызове подпрограммы ее формальные параметры замещаются фактическими, переданными из главной программы.
Формальные параметры подпрограммы указывают, с какими параметрами следует обращаться к этой подпрограмме (количество параметров, их последовательность, типы). Они задаются в заголовке подпрограммы. Для каждого формального параметра следует указать имя и тип, тип формального параметра может быть практически любым. Все формальные параметры делятся на:
- параметры-значения (эти параметры в основной программе подпрограммой не меняются);
- параметры-переменные (эти параметры подпрограмма может изменить в основной программе).
Параметры-значения передаются основной программой в подпрограмму, указываются в заголовке подпрограммы своим именем и через двоеточие - типом. Если параметров-значений одного типа несколько, их можно объединить в одну группу, перечислив их имена через запятую, а затем уже указать общий тип.
Пример.
function Sum(X, Y: Integer): Real;
Procedure Sum(X, Y: Integer; var S: Real);
Параметры - переменные используются для передачи результатов выполнения процедуры в основную программу. В списке формальных параметров они указываются после слова var.
В качестве фактического параметра на месте параметра-значения при вызове подпрограммы может выступать любое выражение совместимого для присваивания типа, не содержащее файловую компоненту, например: Sum (2+i, 8*i,S);