Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Вычисление расстояний между 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!