69750

Параметри-змінні

Домашняя работа

Информатика, кибернетика и программирование

Для того, щоб результат обчислень у тілі процедури зручно було використати в програмі, треба не фіксувати змінну, якій присвоюється одержане значення, а зробити її також параметром. Позначимо цю змінну, наприклад, res і введемо її в список формальних параметрів процедури.

Украинкский

2014-10-09

25 KB

0 чел.

Самостійне вивчення

Тема 8: Параметри-змінні

Для того, щоб результат обчислень у тілі процедури зручно було використати в програмі, треба не фіксувати змінну, якій присвоюється одержане значення, а зробити її також параметром. Позначимо цю змінну, наприклад, res і введемо її в список формальних параметрів процедури. Однак параметр res суттєво відрізняється від формальних параметрів r1 і r2. Він у тілі процедури повинен бути не значенням, а деякою змінною, яка існує

поза тілом процедури. І щоб процедура могла присвоїти значення такій змінній, треба забезпечити безпосередній доступ до цієї змінної з процедури, а для цього потрібно, щоб відповідний параметр був параметром-змінною.

Параметр-змінну від параметра-значення відрізняє службове слово var, записане перед параметром-змінною у списку формальних параметрів. Після формального параметра-змін-ної, як звичайно, зазначають його тип.

На відміну від формального параметра-значення, для якого фактичним параметром може бути будь-який вираз відповідного типу, для формального параметра-змінної фактичним параметром може бути тільки змінна відповідного типу.

Тепер програму можна записати так:

program maxe(input, output);

var

x, у, u, v: real;

procedure max2d(r1, r2: real; var res: real);

begin

if r1>r2 then res:=r1

else s:=r2

end;

begin

read(x, y);

max2d(x+y, x*y, u);

max2d(0.5, u, v);

writeln('u=', u,' v=', v)

end.

У цьому випадку виконання оператора-процедури max2d(x+y, x*y,u) рівносильне виконанню еквівалентного блоку:

var

r1, r2: real;

begin

r1:=x+y; r2:=x*y; if r1>r2 then u:=r1 else u:=r2

end

Отже, оскільки формальний параметр оголошений параметром-змшною, то процедура одержує безпосередній доступ до змінної, заданої як відповідний фактичний параметр. Завдяки цьому процедура може безпосередньо змінювати значення цієї змінної і таким чином передавати в програму одержаний у її тілі результат. Кажучи точніше, у випадку звертання до процедури, що як формальний параметр містить параметр-змінну, їй передається вказівка на змінну, задану як фактичний параметр, і процедура використовує цю вказівку для доступу до цієї змінної.


 

А также другие работы, которые могут Вас заинтересовать

51382. Расчет конкурентоспособности продукции и предприятия 218.68 KB
  Характеристика предприятия и продукции. Конкурентоспособность продукции и предприятия. Обязательная часть программы практики Характеристика предприятия и продукции 18 февраля 1970 года был издан приказ Министра химической промышленности СССР о создании Дирекции строящегося завода в г. 1987 год – получение Диплома Госстандарта СССР за первое место среди 50 предприятий Всесоюзного производственного объединения Союзбытхим по выпуску продукции с государственным Знаком Качества по итогам 1986 года. Это явилось признанием завода и его...
51383. Решение задач линейного программирования при помощи Excel 119.25 KB
  Потребности заказчиков количество единиц груза на каждой станции и тарифы приведены в таблице. Пункты отправления Пункты назначения Запасы На три станции 1 2 3 прибыл некоторый однородный груз который необходимо перевести трем заказчикам B1 B2 B3. Потребности заказчиков количество единиц груза на каждой станции и...
51385. Электронный аналоговый милливольтметр среднеквадратического значения 2.41 MB
  Пределы допускаемых значений основной относительной погрешности при измерении напряжения равны: при измерении постоянного напряжения; при измерении переменного напряжения во всем диапазоне частот где Uk конечное значение установленного предела измерений U значение измеряемого напряжения на входе мультиметра; пределы допускаемых значений основной погрешности мультиметра при измерении активного электрического сопротивления равны в процентах где Rk конечное значение...
51388. Построить решение, включающее в себя три проекта, которые содержат: проект DLL(библиотеку классов), консольный проект и Windows-проект 205.17 KB
  Построить Решение включающее в себя три проекта которые содержат: проект DLLбиблиотеку классов консольный проект и Windowsпроект. Построим аналог класса Mth и поместим этот класс в проект DLLбиблиотеку классов что позволит повторно использовать его присоединяя при необходимости к различным проектам. Все три проекта будут находиться в одном Решении. Создание проектов: 1 Создание DLL проекта типа Библиотека классовClss Librry Запустить VS со стартовой страницы перейти к созданию проекта и в качестве типа проекта указать...