Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zrazok_Kr.doc
Скачиваний:
6
Добавлен:
19.02.2016
Размер:
189.95 Кб
Скачать

Базова програма реалізації алгоритму

Program Generalna; {Программа формирования квадратной матрицы по выражению для A[i,j], вектора Х по транспонированной матрице и вычисления функции U}

uses Crt; {Используемый библиотечный модуль}

Const Len=100;

Type

mtr= array [1..Len,1..Len] of real; {Пользовательский тип mtr}

mas= array [1..Len] of real; {Пользовательский тип mas}

var i,j, m,n:integer; {Рабочие переменные : параметры цикла и размерности}

k:byte; {Счетчик –формирователь индексов при получении массива Х}

L:byte; {Переменная для задания начального значения параметра цикла при транспонировании матрицы}

a:mtr; {Матрица А}

x:mas; {Массив Х}

c:real; {Рабочая переменная}

u: real;{Имя вычисляемой функции}

BEGIN

ClrScr;

writeln ('Введите размерность матрицы A: числа M и N' );

write('m=');

read (m);

write('n=');

read(n);

writeln (' Введите элементы a[i,j] матрицы А ');

for i:=1 to m do{Внешний цикл по строкам}

for j:=1 to n do{Вложенный цикл по столбцам}

a[i,j]:=(ABS(3.7-j)-2) *exp (((i-j)*ln(2)))*(i+j-7.3)*SIN(1.5+(Ln(i/j)/ln(2)));

ClrScr;

write (' Выведите элементы a[i,j] матрицы А ');

writeln;

writeln;

{Вывод матрицы А по строкам}

for i:=1 to m do{Внешний цикл по строкам}

begin

for j:=1 to n do{Вложенный цикл по столбцам}

write ('a[',i,',',j,']=', a[i,j]:10:7,' '); {Вывод элемента a[i,j]матрицы А}

writeln; {Оператор для перехода на очередную строку}

end;

{ Транспонирование матрицы}

L:=1; { Начальное значение переменной для задания начального значения параметра цикла по столбцам при транспонировании матрицы}

for i:=1 to m-1 do{Внешний цикл по строкам}

begin

for j:=l to n do{Вложенный цикл по столбцам}

begin

c:=a[i,j]; a[i,j]:=a[j,i]; a[j,i]:=c;

end;

L:=L+1

end;

writeln ( ' Транспонированная матрица');

writeln;

for i:=1 to m do

begin

for j:=1 to n do

write ('a[',i,',',j,']=', a[i,j]:10:7,' ');{ Вывод элемента транспонированной матрицы}

writeln; { Оператор для переключения строки}

end;

{ Формирование массива Х}

K:=1; {Начальное значение формирователя индексов элементов массива Х }

for i:=1 to m do

for j:=1 to n do

if a[i,j]<2 then

begin

x[k]:=a[i,j]; { Формирование элемента x[k] массива Х}

k:=k+1;

end;

{ Вывод массива Х}

writeln(' Maссив X');

writeln;

for i:=1 to k-1 do

write ('x[',i,']=', x[i]:10:7,' '); { Вывод элемента массива Х}

{ Вычисление функции U}

U:=1; {Начальное значени переменной для накапливания произведений при вычислении функции U}

for i:=1 to k-1 do

U:=U*(x[i]+x[k-i]); { Вычислеемое значение функции U на i-м шаге}

writeln;

writeln;

write (' Функция: u=',u:10:7); { Вывод значения функции U}

Repeat Until KeyPressed

END.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]