Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
готовая шпора.docx
Скачиваний:
6
Добавлен:
26.04.2019
Размер:
356.44 Кб
Скачать

Var [описание используемых переменных];

Begin

// Операторы

End;

Вызов процедуры: <имя процедуры> ([список имен формальных параметров без указания их типов]);

Здесь <список формальных параметров> содержит перечисление имен данных в вызывающей программе, которые соответствуют списку формальных параметров, причем каждый фактический параметр должен иметь тот же тип, что и соответствующий ему формальный.

Процедуры м.б использованы в качестве формальных параметров подпрограмм. Для этого определяется тип: Type <имя> = procedure ([список формальных параметров]);.

Имя процедуры должно быть уникальным в пределах программы. Список формальных параметров необязателен и может отсутствовать. Если же он есть, то в нем перечисляются через точку с запятой имена формальных параметров и их типы. Имеется три вида формальных параметров: параметры-значения, параметры-переменные, параметры-константы. При вызове подпрограммы передача данных для этих видов осуществляется по-разному. Параметры-значения копируются, и подпрограмма работает с их копией, что требует дополнительных затрат памяти. Поэтому рекомендуется использовать параметры-константы или параметры-переменные. При использовании параметров-переменных (в описании перед ними ставится Var) и параметров-констант (перед ними ставится const) в подпрограмму передаются адреса (указатели фактических параметров) и она работает непосредственно с фактическими параметрами. Благодаря этому экономится память, а также организуется передача результата работы подпрограммы вызывающей программе через параметры-переменные. Через параметры-константы этого делать нельзя, т.к. их нельзя менять внутри подпрограммы. В качестве фактических параметров могут использоваться арифметические выражения, если формальный параметр – константа или параметр-значение.

20.Понятие подпрограммы, для чего они нужны? Как описывается подпро­грамма в виде Function? Что такое формальные и фактические параметры? В чём различие параметров-значений и параметров-переменных? Как вызвать функцию?

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

Подпрограммы подразделяются: на процедуры и функции. Под описанием подпрограммы понимается указание ее заголовка и тела. Функция имеет следующую структуру:

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

Function <имя функции> ([список имен формальных параметров с указанием их типов]): <тип результата>;

Const [описание используемых констант];

Type [описание используемых типов];

Var [описание используемых переменных];

Begin

// Операторы

Result:= … ;// Присвоение результата вычислений переменной Result

// или <имя функции>:= … ;

End; // Конец функции

Вызов функции: y:=<имя функции > ([список имен формальных параметров без указания их типов]); Здесь переменная y должна иметь тип <типФ>.

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

Функции м.б использованы в качестве формальных параметров подпрограмм. Для этого определяется тип: Type <имя> = function ([список формальных параметров]):<тип рез-тата>;

Имя функции должно быть уникальным в пределах программы. Список формальных параметров необязателен и может отсутствовать. Если же он есть, то в нем перечисляются через точку с запятой имена формальных параметров и их типы. Имеется три вида формальных параметров: параметры-значения, параметры-переменные, параметры-константы. При вызове подпрограммы передача данных для этих видов осуществляется по-разному. Параметры-значения копируются, и подпрограмма работает с их копией, что требует дополнительных затрат памяти. Поэтому рекомендуется использовать параметры-константы или параметры-переменные. При использовании параметров-переменных (в описании перед ними ставится Var) и параметров-констант (перед ними ставится const) в подпрограмму передаются адреса (указатели фактических параметров) и она работает непосредственно с фактическими параметрами. Благодаря этому экономится память, а также организуется передача результата работы подпрограммы вызывающей программе через параметры-переменные. Через параметры-константы этого делать нельзя, т.к. их нельзя менять внутри подпрограммы. В качестве фактических параметров могут использоваться арифметические выражения, если формальный параметр – константа или параметр-значение.

У функции имеется два основных отличия от процедуры: 1- состоит в формальном отличии заголовков. 2- заключается в том, что в теле функции хотя бы раз имени функции должно быть присвоено значение. По сути, имя функции играет роль возвращаемого функцией значения. С другой стороны, в каждой функции по умолчанию определена переменная result, в которую помещается результат, возвращаемый функцией. Эта переменная имеет такой же тип, как и функция.