Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Параметры - значения и параметры - переменные




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

Рассмотрим использование параметров-значений и параметров-переменных.

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

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

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

Если у процедуры нет списка формальных параметров, то она называется процедурой без параметров.

Пример 2.1 Написать программу, вычисляющую произведение двух квадратных матриц.

Программа 2.1

program multmatr;

{ Умножение матриц }

USES CRT;

const n=3;

type matr=array[1..n,1..n] of integer;

var a,b,c:matr;

procedure multmatr(x,y:matr;var z:matr);

{ Процедура умножения матриц }

var i,j,k,s:integer;

begin

for i:=1 to n do

for j:=1 to n do

begin

s:=0;

for k:=1 to n do

s:=s+X[i,k]*Y[k,j];

Z[i,j]:=s

end

end;

procedure inpmatr(var x:matr);

{ Процедура ввода матрицы }

var i,j:integer;

begin

for i:=1 to n do

for j:=1 to n do

begin

write('Введите x[',i,',',j,']:');

readln(x[i,j])

end

end;

procedure outmatr(x:matr);

{ Процедура вывода матрицы }

var i,j:integer;

begin

for i:=1 to n do

begin

for j:=1 to n do

write(x[i,j],' ');

writeln

end

end;

{ Основная программа }

begin

clrscr;

writeln(' ***** ПРОИЗВЕДЕНИЕ МАТРИЦ A и B *****');

writeln;

writeln('Введите матрицу А:');

writeln;

inpmatr(a);

writeln;

writeln('Введите матрицу B:');

writeln;

inpmatr(b);

multmatr(a,b,c);

clrscr;

writeln('Произведение матриц');

writeln;

writeln('A:');

outmatr(a);

writeln;

writeln('и B:');

outmatr(b);

writeln;

writeln('равно:');

outmatr(c)

end.

 




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 278; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.