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

34. Функции программиста: описание и структура функции, формальные параметры, тип функции, вызов функции в головной программе, фактические параметры

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

Структура функции подобна структуре программы и состоит из 3-х частей:

1) заголовок функции

2) раздел объявления функции

3) блок операторов

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

ТФП – тип формальных параметров

ТФ – тип функции

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

FF1(A,B:real;c,d:integer)

Если имеется массив, то его тип объявляется в разделе TYPE головной программы. Создать тип массива в заголовке функции нельзя. Обязательно обозначается тип функции, т. к. она даёт в программу результат.

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

В разделе операторов функции реализуется алгоритм данной функции. Обязательный признак функции – наличие оператора, в котором результат работы функции передаётся её имени.

Аргументы – константы, или переменные, объявляемые в программе. К функции обращаются по имени, а в скобках указываются её аргументы.

Правила обращения к функции:

1) количество, тип и порядок следования аргументов должен соответствовать количеству, типу и порядку формирования параметров

2) функции нельзя использовать в левой части оператора присваивания

3) перед обращением к функции в вызывающей программе должны быть обеспечены переменные в качестве аргумента и для того, «чтобы взять» результат обращения к функции. Функцию можно сразу выводить в операторе вывода: writeln (<имя функции>).

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

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

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

Заголовок процедуры:

Procedure <имя проц>(ФПЗ: ТФП;ФПВ:ТФП;Var ФПП:ТФП);

Имеется зарезервированное слово-идентификатор – Procedure

ФПЗ – формальные параметры значений – имена переменных

ТФП – тип формальных параметров – стандартные типы данных. Несколько переменных перечисляются через запятую.

ФПП – формальные параметры переменной.

Если нужно объявить в заголовке массивы, то в головной программе должен быть объявлен тип этого массива:

TYPE

mas:=array[1..20,1..30]

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

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

Begin

……………;

<имя проц>(<фактич пар 1, фактич парам 2, ...);

……………..;

end;

Фактические параметры значений (или константы, или переменные) объявляются в программе. Фактические параметры (переменные) объявляются только в программе.

Правила обмена параметрами: фактические параметры должны соответствовать формальным параметрам процедуры (по количеству, по типу и по порядку следования). При обмене данными между программой и процедурой как только появляется имя процедуры, то данные (фактические параметры) из головной программы копируются. Результаты работы процедуры непосредственно передаются в переменные параметры головной программы. Однако процедура может испортить результаты программы (она «хозяйничает» в ячейках программы).

Можно составить процедуры, которые могут работать только в данной программе. Такие переменные называют глобальными. «Грамотные» процедуры обмениваются через механизмы формальных и фактических параметров.