Мегаобучалка Главная | О нас | Обратная связь  


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




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

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

Если в списке формальных параметров имени параметра предшествует слово 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.

 

Процедуры функции в языке программирования паскаль

 

Описание функции и обращение к ней

Описание функции, также как и описание процедуры, состоит из двух частей: заголовка функции и тела функции. Телом функции является блок. То есть тело функции имеет точно такую же структуру, что и программа: в нем могут присутствовать все разделы. Заголовок функции начинается со слова FUNCTION, за которым следует имя функции и за ним в круглых скобках список формальных параметров. Функция вычисляет единственное значение простого типа. Тип этого значения указывается после двоеточия за списком формальных параметров. Заголовок функции отделяется от ее тела точкой с запятой.

Рассмотрим пример описания функции:

FUNCTION A(X:T1;Y,Z:T2;VAR B,C,D:T3):T;

<тело функции A>;

здесь A - имя функции; X - формальный параметр-значение типа T1; Y,Z- формальные параметры-значения типа T2; B,C,D - формальные параметры-переменные типа T3; T - тип значения функции.

Все сказанное ранее о процедурах, их параметрах, обращении к ним, справедливо и для функций. Вместе с тем имеются и отличия:

1) описание начинается со служебного слова FUNCTION;

2) в заголовке функции указывается имя типа значения описываемой функции;

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

Пример 1.1. Описать функцию, вычисляющую максимум двух чисел.

FUNCTION MAX(X,Y:REAL):REAL

BEGIN

IF X>Y THEN MAX:=X ELSE MAX:=Y

END;

Эту функцию в программе можно применять в следующих видах:

Z:=MAX(X,Y);

A:=MAX(0.5,SIN(1));

WRITE('МАКСИМУМ=',MAX(C,D));

 

Строки в языке программирования паскаль

 

Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой



Читайте также:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...



©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (871)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.014 сек.)
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7