Программа
PROGRAM Vector;
CONST MaxQuant=20; { Максимальное количество элементов массива }
TYPE Power=1..MaxQuant; { Размерность массивов }
Element=real; { Тип элементов массивов }
VectorType=record { Тип - вектор }
N:Power; { Реальное количество элементов массива }
V:array[Power] of Element { Массив элементов }
end;
PROCEDURE ReadVector(Head:string; var A:VectorType); { Процедура ввода вектора }
Var i:Power; { Счетчик цикла }
Begin
WriteLn(Head); { Вывод приглашения }
Write('Введите количество элементов массива '); { Вывод приглашения }
ReadLn(A.N); { Ввод количества элементов массива }
for i:=1 to A.N do { Цикл ввода элементов массива }
begin
Write('Введите элемент [',i,'] '); { Вывод приглашения }
ReadLn(A.V[i]) { Ввод элемента массива }
end;
End;
PROCEDURE WriteVector(Head:string; var A:VectorType); { Процедура вывода вектора }
Var i:Power; { Счетчик цикла }
Begin
WriteLn(Head); { Вывод заголовка }
for i:=1 to A.N do { Цикл вывода элементов массива }
Write(A.V[i]:5:2,' '); { Вывод элемента }
WriteLn; { Ввод конца строки }
End;
PROCEDURE MakeVectors(A:VectorType; var X,Y:VectorType); { Процедура создания векторов }
Var i:Power; { Счетчик цикла }
Begin
X.N:=A.N; Y.N:=A.N; { Определение размерности векторов }
for i:=1 to A.N do { Цикл заполнения элементов массива }
if A.V[i]<0 { Критерий определения элемента последовательностей }
then begin { Определение элементов массивов: }
X.V[i]:=-1;
Y.V[i]:=A.V[i]
end
else begin
X.V[i]:=A.V[i];
Y.V[i]:=1
end
End;
VAR A,X,Y:VectorType; { Исходная и создаваемые последовательности }
BEGIN
WriteLn; { Пропуск строки }
ReadVector('ВВОД ВЕКТОРА "A"',A); { Ввод вектора }
WriteLn; { Пропуск строки }
WriteVector('ИСХОДНЫЙ ВЕКТОР "A"',A); { Вывод вектора }
WriteLn; { Пропуск строки }
MakeVectors(A,X,Y); { Создание векторов X и Y }
WriteVector('ВЕКТОР "X"',X); { Вывод вектора }
WriteLn; { Пропуск строки }
WriteVector('ВЕКТОР "Y"',Y); { Вывод вектора }
WriteLn; { Пропуск строки }
END.
Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию