Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_na_kt_informatika_1.doc
Скачиваний:
39
Добавлен:
09.02.2015
Размер:
110.08 Кб
Скачать

18. Процедуры и функции, структура, передача параметров

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

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

Заголовок состоит из ключевого слова procedure, за которым следует имя процедуры и, при необходимости, список параметров, заключенных в круглые скобки:

procedure ИМЯ (параметры);

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

Процедуры создаются так же как и функции, но только заголовочное слово function

function ИМЯ (параметры);

Параметрыслужат для передачи исходных данных в подпрограммы и для приема результатов работы этих подпрограмм.

Параметры - это список идентификаторов, разделённых запятой, за которым через двоеточие указывается тип.

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

Способы передачи параметров:

  • Const(объявления входных параметров; их значения не могут быть изменены внутри подпрограммы)

function Min(const A, B: Integer)

  • Out(объявление выходных параметров)

procedure GetScreenResolution(out Width, Height: Integer);

  • Var(параметр является одновременно и входным)

procedure Exchange(var A, B: Integer);

  • без них(предназначены для передачи и для приема данных любого типа)

procedure JustProc(const X; var Y; out Z);

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

Имя

Назначение

Способ передачи

-

Входной

Передается копия значения

Const

Входной

копия значения/ссылка на значение

Out

Выходной

Передается ссылка на значение

Var

Входной

Передается ссылка на значение

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

19. Область действия идентификаторов при использовании процедур, функций

Идентификаторы – устанавливают соответствие между объектом и некоторым набором символов. Имя переменной

Область видимости переменной – это множество операторов, в которых данную переменную можно использовать.

Правила определения области действия для идентификаторов подпрограмм:

· действуют все идентификаторы, определенные внутри подпрограммы;

· действуют все идентификаторы окружающего контекста, если их имена отличаются от имен, объявленных внутри подпрограммы;

· локальные идентификаторы подпрограммы во внешнем окружении действовать не будут никогда;

· в случае совпадения имен глобального и локального идентификаторов действовать будет только внутренний локальный идентификатор.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]