Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gosy_shpory_FULL_provereno.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
24.96 Mб
Скачать
  1. Процедуры в Объектном Паскале. Описание и вызов процедур. Параметры-переменные и параметры-значения. Пример программы.

Процедурами в языке Паскаль называются именованные блоки кода которые возможно многократно из тела программы и других процедур. Описание процедуры состоит из заголовка и тела процедуры. Заголовок состоит из ключевого слова procedure, за которым следует имя процедуры. Далее указывается список параметров в скобках. Параметры одного типа возможно группировать через запятую, далее через двоеточие указывается тип параметра. Группы параметров разных типов разделяются точкой с запятой. После последней указанной группы перед закрывающей скобкой точка с запятой не ставится. Для декларации параметров как параметров-переменных следует перед именем параметра указать ключевое слово var. Заголовок завершается точкой с запятой, и необязательным набором директив компилятора, таких как overload и stdcall, директивы разделяются точкой с запятой. Тело процедуры в паскале состоит из объявлений и инструкций. В рамках объявлений описываются локальные переменные, которые существуют только во время работы процедуры и уникальны для ее экземпляра в стеке вызовов, кроме того в объявление возможно поместить вложенные процедуры, которые будут доступны лишь внутри, обрамляющей их процедуры

Инструкции процедуры — стандартный набор инструкций выполняемый при вызове процедур. Расположены между ключевыми словами begin и end Среди этих инструкций могут быть вызовы других процедур, рекурсивные вызовы и прочая логика. Из данных инструкций доступны локальные переменные и процедуры. В рамках стандартной программы на Паскаль, процедуры, как правило, объявляются в разделе var. Исходные коды модулей объектного паскаля также разделены на две основные части: интерфейс и реализация. Реализация содержит полные описания процедур, в то время как в интерфейс помещаются лишь их заголовки. Размещение заголовка процедуры в интерфейсе позволяет обращаться к ней из других модулей программы.

Для вызова процедуры необходимо указать ее имя, а затем в круглых скобках

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

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

Формальное описание синтаксиса процедуры в НБНФ.

Procedure := Head, Body

Head := “procedure”, ProcName[“(“[Parameters]”)”], ”; ”, [Directives]

Parameters := {ParameterGroup”;”} ParameterGroup

ParameterGroup := {[(var|const)],paramName”, “}[(var|const)], paramName”:”paramType

Directives := {Directive”;”}

Body := [ConstSection], [VarSection], “begin”, instructions,“end;”

ConstSection := “const”, ConstDeclarations

VarSection := “var”, VarDeclarations

,где

procName – имя объявленной процедуры

paramName — допустимые имена параметров

paramType - допустимые имена типов параметров

instructions — логика процедуры.

ConstDeclarations – объявление локальных констант

VarDeclarations — объявление локальных переменных

Пример программы расчета факториала 10

programm p1;

var

R: Integer;

procedure F(var Result: Real; const N: Integer);

begin

if N > 1 then

F(Result, N – 1);

Result := Result * N;

end;

begin

R := 1;

writeln(F(R, 10)); end.

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