Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЯП / lec_08_09.ppt
Скачиваний:
19
Добавлен:
19.04.2015
Размер:
604.16 Кб
Скачать

Подпрограммы-функции

Функция предназначена для вычисления

некоторого

значения простого типа.

Вызов функции - подстановка имени

функции с перечнем аргументов в соответствующее выражение или

оператор - аналогично стандартным функциям.

1

Заголовок функции

Общий вид:

function идентификатор функции (список формальных параметров) : тип результата ;

Список формальных параметров может включать:

Параметры-значения, не изменяются в подпрограмме –

идентификатор: тип;

Параметры-переменные, могут изменяться в подпрограмме -

var идентификатор: тип; Тип задается только идентификатором.

2

Значения, возвращаемые из

подпрограммы-функции:

значения параметров-переменных;

значение самой функции.

В подпрограмме-функции необходимо

присвоить идентификатору функции или переменной result

то значение, которое должно быть

возвращено.

3

Подпрограммы-процедуры

Процедура предназначена для

вычисления различных значений любого типа и/или выполнения каких- либо действий.

Вызов процедуры - применение

оператора вызова процедуры

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

4

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

procedure идентификатор процедуры(список формальных параметров);

Значения, возвращаемые из подпрограммы- процедуры:

значения параметров-переменных.

Кроме того, возможно изменение значений глобальных переменных.

Оператор вызова процедуры: идентификатор процедуры(список

фактических параметров) ;

5

Вызов подпрограммы

Фактические параметры

При вызове подпрограммы вместо

формальных параметров надо подставить фактические с учетом

соответствия типов и правила:

параметр-значение <-> выражение, параметр-переменная<-> переменная

6

Параметры-значения

Передаются подпрограмме в виде копий значений

Тип параметра -значения может быть любым кроме файлового

Параметры-переменные

В подпрограмму передаются их адреса

Тип параметра -переменной может быть любым, в т.ч.

и файловым

Параметры-для вывода (out)

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

Параметры можно не инициализировать

7

Параметры-константы

Параметры-константы не изменяются в подпрограмме

const идентификатор: тип;

Защита от изменения устанавливается при компиляции

В подпрограмму передаются их адреса (это экономит память)

Тип параметра -константы может быть любым кроме

файлового

Соответствующий фактический параметр м.б. выражением совместимого по присваиванию типа

8

Параметры без типа

Параметры-константы и параметры- переменные можно использовать без указания типа

const идентификатор;

Фактический параметр м.б. типизированной константой или переменной любого типа

За контроль типов отвечает программист

9

Рекурсивные подпрограммы

Подпрограммы можно неоднократно

вызывать из любой части программы.

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

Последовательность самовызовов

обязательно должна быть конечной.

10

Соседние файлы в папке ЯП