Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Использование параметров для обмена данными



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

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

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

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

Формальные параметры, описанные в заголовке процедуры, больше нигде не описываются. Их описание похоже на описание данных в разделе переменных и может также содержать слово var. Существуют параметры-значения и параметры-переменные.

Параметры-значения описываются без слова var. Для их хранения на время выполнения подпрограммы выделяются дополнительные ячейки в памяти. При вызове подпрограммы значения фактических параметров копируются в ячейки формальных параметров и алгоритм подпрограммы обращается именно к этим копиям. После окончания работы подпрограммы доступ к этим ячейкам теряется. Следствиями этого для параметров-значений являются следующие факты:

в качестве фактического параметра при вызове подпрограммы в общем случае может быть выражение, в частности, переменная или константа;

если фактическим значением параметра была переменная, то изменение значения формального параметра при выполнении подпрограммы не влечет за собой никакого изменения значения фактического параметра;

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

Параметры-переменные описываются со словом var. Для их хранения на время выполнения подпрограммы в памяти не выделяются дополнительные ячейки. При работе алгоритма подпрограммы переменные – формальные параметры – используют ячейки памяти фактических параметров и обращаются непосредственно к ним. Следствиями этого для параметров-переменных являются следующие факты:

в качестве фактического параметра при вызове подпрограммы может быть только переменная;

изменение значения формального параметра при выполнении подпрограммы приводит к такому же изменению значения фактического параметра;

параметры-переменные могут использоваться как для передачи в подпрограмму исходных данных, так и для передачи результата из подпрограммы в вызывающую программу.

Напишем новую программу, решающую задачу 1 с использованием подпрограммы с параметрами. Исходные данные подпрограммы (x, y) могут быть описаны как параметры-значения, а результат (z) должен быть описан как параметр-переменная.

Program Min2;

// Описание переменных

Var a,b,c, // исходные данные задачи

z: real; // результат процедуры и результат задачи

// Описание процедуры

Procedure Min (x,y: real; var z:real);

Begin

If x < y then z:= x

else z:= y

End;

Begin

// Ввод исходных данных задачи

Writeln(‘Введите три числа’);

Readln(a,b,c);

// Первый вызов процедуры

Min (a,b,z);

// После вызова процедуры z=min (a,b)

// Второй вызов процедуры

Min (z,c,z);

// Вывод результата

Writeln (‘Наименьшее из введенных чисел - ’, z);

End.

Пример

Найти разность R между максимальным и минимальным элементами массива





Дата публикования: 2014-12-08; Прочитано: 200 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...