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

Пример. procedure MaxMin(A: tArr; var Max, Min: Real; N: Word);



procedure MaxMin(A: tArr; var Max, Min: Real; N: Word);

Здесь Max, Min - параметры-переменные, А и N - параметры значения.

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

При вызове подпрограммы на месте параметра-переменной в качестве фактического параметра должна использоваться переменная идентичного типа (см. п. 9.1). Так, если формальный параметр имеет тип, определенный следующим образом:

type tArr = array[1..100] of Integer;

то и фактический параметр должен быть переменной или типизированной константой типа tArr.

Пример. Функция вычисления максимального элемента в массиве. Модифицируем подпрограмму примера п. 10.3.1, используя в качестве первого параметра параметр-переменную:

function Max(var Mas: tArr; N: Byte): Integer;
var Ma: Integer;
i: Byte;
begin
Ma:= Mas[l];
for i:= 2 to N do
if Ma < Mas[i] then
Ma:= Mas[i];
Max:= Ma
end;

Этот вариант лучше предыдущего тем, что в данном случае в стеке не создается копия исходного массива, что улучшает быстродействие и экономит память. Однако при такой передаче параметра возможно его нежелательное изменение (такой вариант передачи параметра допустим только в таких небольших подпрограммах, как в данном примере, когда программист может проконтролировать отсутствие несанкционированного изменения параметра). Недостаток же, связанный с тем, что подпрограмма может работать только с одним типом массивов, остается.

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





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



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