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

Пример 1.3



Вычисление расстояний между N парами точек на плоскости. Использование процедуры с параметрами-переменными.

Program R3;

Var

X1, X2, Y1, Y2, D: Real; {Объявление глобальных переменных}

N, I: Interger;

{Процедура с параметрами-значениями и параметрами-переменными}

Procedure Rast3 (Xx1, Xx2, Yy1, Yy2: Real; Var Dd: Real); {Xx1, Xx2, Yy1, Yy2 – параметры-значения типа Real; Dd – параметр-переменная}

Begin

Dd:= Sqrt (Sqr (Xx1 - Xx2) + Sqr (Yy1 - Yy2))

End;

{Вызывающая программа}

Begin

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

Readln (N);

For I:=1 To N Do

Begin

Readln (X1, X2, Y1, Y2);

Rast3 (X1, X2, Y1, Y2, D); {Оператор вызова процедуры Rast3}

Writeln (D)

End

End.

Данная программа отличается от предыдущей тем, что в ней для представления результата работы процедуры используется параметр-переменная Dd.

1.2.7. Параметры-константы

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

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

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

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

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

Procedure Rast4 (Const Xx1, Xx2, Yy1, Yy2: Real; Var Dd: Real);

1.2.8. Выходные параметры

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

Например, в примере 1.3 в теле процедуры значение ее параметра Dd используется один раз. Кроме того, параметр Dd не применяется для передачи входных данных процедуры. Поэтому заголовок процедуры может быть описан так:

Procedure Rast5 (Xx1, Xx2, Yy1, Yy2: Real; Out Dd: Real);

1.2.9. Параметры-переменные без типа

Параметры-переменные без типа — это группа параметров, перед которыми стоит служебное слово Var, Const или Out и за которыми не следует тип. Фактическими параметрами при вызове подпрограммы в данном случае могут быть переменные любого типа.

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

Обеспечение совместимости с фактическими параметрами может быть достигнуто одним из двух способов.





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



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