Студопедия  
Главная страница | Контакты | Случайная страница

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

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

Читайте также:
  1. II. Выполнение процедуры
  2. II. Выполнение процедуры
  3. II. Выполнение процедуры.
  4. III. Завершение процедуры
  5. III. Завершение процедуры
  6. Анализ производственной функции. Закон убывающей предельной производительности факторов производства.
  7. Арбитражные заседатели и их функции. Требования, предъявляемые к арбитражным заседателям. Формирование и утверждение списков арбитражных заседателей.
  8. Арифметические выражения, арифметические операции, стандартные арифметические функции. Оператор присваивания.
  9. Базы данных. Назначение и основные функции. Системы управление базами данных (СУБД).
  10. Банки, их виды, функции.

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

Процедуры и функции называют также подпрограммами.

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

Подпрограммы обычно меняют значения выходных параметров, входные же параметры подпрограмма изменять не может.

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

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

Procedure Name (I1:TypeI1; I2:TypeI2,...;

Var O1:TypeO1, O2:...);

Const описание локальных констант;

Type описание локальных типов;

Var описание локальных переменных;

Begin

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

End;

 

Function Name (I1:TypeI1; I2:TypeI2,...): TypeOfFunction;

Const описание локальных констант;

Type описание локальных типов;

Var описание локальных переменных;

Begin

тело функции

End;

 

Здесь:

Name - имя процедуры или функции;

I1, I2,... - входные параметры, имеющие типы TypeI1, TypeI2,... соотв-но; O1,O2,... - выходные параметры процедуры с типами TypeO1,TypeO2,... соотв-но; TypeOfFunction - тип результата, возвращаемого функцией.

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

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

 

Program ProcedureExample;

Procedure A;

Procedure B;

Begin

End;

Begin

A {из процедуры A можно вызвать B}

End;

 

Begin

A; {из основной программы можно вызвать только процедуру A} B {этот вызов даст ошибку, т.к. процедура B доступна

только внутри процедуры A}

End.

 

Имена используемых локальных данных могут совпадать с глобальными именами. В этом случае обращение внутри подпрограммы будет происходить к локальным данным. Например, будет работоспособной следующая программа:

 

Program FunctionExample;

 

Var I, N: Integer;

 

Function Summa (N: Integer): Integer;

Var I, S: Integer;

Begin

S:= 0;

For I:= 1 To N Do S:= S + I;

Summa:= S

End;

 

Begin

Write ('Введите количество чисел: ');

Read (N);

For I:= 1 To N Do WriteLn ('Сумма первых ', I, ' чисел равна ', Summa (I)) End.

 

Здесь дублируются имена I, N.

 




Дата добавления: 2015-02-16; просмотров: 25 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.011 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав