Программирование в среде Турбо Паскаль. Закутский С.Н - 48 стр.

UptoLike

48
вать массивы, их тип следует объявить во внешней по отношению к про -
цедуре программе. Например:
Type Atype = array [1..10] of real;
Procedure S(a : Atype);
Следует также иметь в виду, реальный размер массива может быть
меньше, чем объявленный при его описании. Поэтому при обмене исход-
ными данными между процедурой и вызывающей программой вместе с
самим массивом следует передать и его реальные размеры.
В качестве примера использования процедуры ниже приводятся два
варианта программы, в которых по трем векторам (одномерным массивам):
x = [x
1
, x
2
, ..., x
n
]; y = [y
1
, y
2
, ..., y
l
]; z = [z
1
, z
2
, ..., z
k
], где n, l, k длина соот-
ветствующего вектора строится матрица А , строками которой являются
элементы векторов x, y, z, отсортированные предварительно в порядке воз-
растания значений их элементов. Длина строк в А равна минимальной
длине одного из трех исходных векторов.
{Вариант 1 решения задачи (без включения подпрограммы):}
Var i,j,n,l,k,m : byte;
MinX,MinY,MinZ : real;
x,y,z,xx,yy,zz : array [1..100] of real;
Matr : array [1..100,1..3] of real;
BEGIN
Write('Ввести n, l, k '); ReadLn(n, l, k);
WriteLn('Ввести последовательно массивы x, y, z');
For i:=1 to n-1 do
Read(x[i]);
ReadLn(x[n]);
For i:=1 to l-1 do
Read(y[i]);
ReadLn(y[l]);
For i:=1 to k-1 do
Read(z[i]);
ReadLn(z[k]);
{Организация сортировки исходных массивов}
i:=1;
Repeat
MinX:=x[i];
For j:=i+1 to n do
If x[j] < MinX
Then begin
MinX:=x[j];
x[j]:=x[i];
x[i]:=MinX;
End;
i:=i+1;
Until i > n-1;