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

43)Процедуры, правила обращения к процедурам, передача данных в процедуру и обратно. Отличие функции от процедуры, примеры.

Procedure<имя>

(<список формальных параметров>)

<раздел описаний процедуры>

Begin

<раздел исполняемых операторов>

End;

Список форм параметров – перечень ч/з запятую имен переменных.

Второе их назначение – передача и обмен значениями с взывающей программой. В разделе описаний объявляются все имена(помимо формальных), которые будут использованы в исполняемой части процедуры. Это локальные имена, которые действуют только внутри подпрограммы.

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

П Р О Ц Е Д У Р Ы И Ф У Н К Ц И И

Алгоритм решения задачи проектируется путем декомпозиции всей за-

дачи в отдельные подзадачи. Обычно подзадачи реализуются в виде подп-

рограмм.

Подпрограмма - это последовательность операторов, которые опреде-

лены и записаны только в одном месте программы, однако их можно

вызвать для выполнения из одной или нескольких точек программы. Каж-

дая подпрограмма определяется уникальным именем. В языке ПАСКАЛЬ су-

ществуют два типа подпрограмм - процедуры и функции.

Процедура и функция - это именованная последовательность описаний

и операторов. При использовании процедур или функций ПАСКАЛЬ - прог-

рамма должна содержать текст процедуры или функции и обращение к про-

цедуре или функции. Тексты процедур и функций помещаются в раздел

описаний процедур и функций.

Процедура может содержать такие - же разделы описаний, что и ПАС-

КАЛЬ - программа, а именно: разделы описания модулей, меток, констант, типов, переменных,процедур и функций.

ПЕРЕДАЧА ИМЕН ПРОЦЕДУР И ФУНКЦИЙ В КАЧЕСТВЕ ПАРАМЕТРОВ. Во многих

задачах, особенно в задачах вычислительной математики, необходимо пе-

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

TURBO PASCAL введен новый тип данных - процедурный или функциональ-

ный, в зависимости от того, что описывается.

Описание процедурных и функциональных типов производится в разделе

описания типов:

type

FuncType = Function(z: Real): Real;

ProcType = Procedure (a,b: Real; var x,y: Real);

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

дуры и функции со списком формальных параметров, но без имени. Можно

определить функциональный или процедурный тип без параметров, напри-

мер:

type

Proc = Procedure;

После объявления процедурного или функционального типа его можно

использовать для описания формальных параметров - имен процедур и

функций.

Кроме того, необходимо написать те реальные процедуры или функции,

имена которых будут передаваться как фактические параметры. Эти про-

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

ключом {$F+}.

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

var x,y,m,n: integer;

procedure MaxNumber(a,b: integer; var max: integer);

begin

if a>b then max:=a else max:=b;

end;

begin

write('Введите x,y ');

readln(x,y);

MaxNumber(x,y,m);

MaxNumber(2,x+y,n);

writeln('m=',m,'n=',n);

end.

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