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

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


 

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

42145. ОПРЕДЕЛЕНИЕ СОПРОТИВЛЕНИЯ С ПОМОЩЬЮ МОСТА УИТСТОНА 81 KB
  Сопротивления R1 R2 R0 Rх называются плечами моста Rх  измеряемое неизвестное R0 – известное R1 R2 – регулировочные сопротивления. Сопротивления плеч моста измеряют и подбирают таким образом чтобы ток гальванометра был равен нулю. Для однородного проводника сопротивления отдельных его участков относятся как их длины.
42146. ОПРЕДЕЛЕНИЕ НЕИЗВЕСТНОЙ ЕМКОСТИ КОНДЕНСАТОРА С ПОМОЩЬЮ МОСТА СОТТИ 80.5 KB
  В настоящей работе измерение электрической емкости осуществляется с помощью моста переменного тока  моста Сотти рис. Плечи моста плечо моста – это участок цепи включенный между двумя узлами включают конденсатор неизвестной емкости Сх конденсатор эталонной емкости Сэ и два резистора имеющих сопротивления R1 и R2. В диагональ СD моста включают источник переменного напряжения трансформатор.
42147. ОПРЕДЕЛЕНИЕ НЕИЗВЕСТНОЙ ИНДУКТИВНОСТИ С ПОМОЩЬЮ МОСТИКА МАКСВЕЛЛА 73.5 KB
  ПОСТАНОВКА ЗАДАЧИ В настоящей работе измерение индуктивности осуществляется с помощью моста переменного тока  моста Максвелла рис.Плечи моста состоят из эталонной индуктивности L0 неизвестной индуктивности Lх их сопротивлений R R двух резисторов имеющих сопротивления R1 и R2. Принцип измерения индуктивности катушки Lх при помощи мостика Максвелла основан на подборе такого значения отношения сопротивлений при котором ток через гальванометр отсутствует.
42148. ЭЛЕКТРОПРОВОДНОСТЬ МЕТАЛЛОВ 110 KB
  Экспериментальная проверка линейной зависимости тока от напряжения I = f U электросопротивления от длины цилиндрического проводника R = f  и расчет удельного сопротивления проводника. Если внутри проводника создано электрическое поле то каждый электрон ускоряется в течение времени свободного пробега . 5 Рассмотрим цилиндрический участок проводника постоянного сечения dS и длиной udt. Это векторная величина совпадающая по направлению со скоростью упорядоченного...
42149. ИЗУЧЕНИЕ ПРОЦЕССОВ ЗАРЯДА И РАЗРЯДА КОНДЕНСАТОРА 202.53 KB
  Изучение закономерностей заряда и разряда конденсатора.магазина сопротивлений МС магазин емкостей MEисточник питания ИП звуковой генератор ГЗ электронный осциллограф блок с конденсаторами. ПОСТАНОВКА ЗАДАЧИ Принципиальная электрическая схема для наблюдения процессов заряда и разряда конденсатора изображена на рис.
42150. ИЗУЧЕНИЕ РАБОТЫ ЭЛЕКТРОННОГО ОСЦИЛЛОГРАФА 2.06 MB
  ПОСТАНОВКА ЗАДАЧИ Назначение электронного осциллографа. Универсальные измерительные приборы предназначенные для исследования электронных процессов с помощью графического их воспроизведения на экране электроннолучевой трубки называются электронными осциллографами. Высокая чувствительность осциллографа позволяет изучать очень слабые колебания напряжения а большое входное сопротивление исключает влияние осциллографа на режим цепей к которым он подключается.
42151. СЛОЖЕНИЕ ГАРМОНИЧЕСКИХ КОЛЕБАНИЙ 18.75 MB
  Под сложением колебаний понимают нахождение закона описывающего колебания системы в тех случаях когда эта система одновременно участвует в нескольких колебательных процессах. Различают два предельных случая: сложение колебаний одинакового направления и сложение взаимно перпендикулярных колебаний. Сложение двух одинаково направленных гармонических колебаний.
42152. ИЗУЧЕНИЕ РЕЛАКСАЦИОННОГО ГЕНЕРАТОРА 107.5 KB
  Если напряжение на электродах лампы U меньше напряжения зажигания потенциал зажигания U3 т. В этом случае сопротивление лампы RЛ бесконечно велико. Идеализированная вольтамперная характеристика неоновой лампы имеет вид представленный на рис. Связь между током лампы и напряжением как это видно из графика может быть линейной и записана в виде: ...
42153. МНОЖЕСТВЕННАЯ ЛИНЕЙНАЯ РЕГРЕССИЯ 360.5 KB
  Линейная модель множественной регрессии выглядит следующим образом: Y = β0 β1x1 β2x2 βkxk ε где Y – зависимая переменная результативный признак; x1xk – независимые или объясняющие переменные; 0 1 k – коэффициенты регрессии;  – ошибка регрессии. Общая последовательность построения множественной линейной регрессионной модели следующая: Оценка параметров уравнения; Оценка качества регрессии; Проверка на мультиколлинеарность ее исключение; Проверка на гетероскедастичность коррекция на...