- •Уфимский государственный нефтяной технический
- •Университет
- •Кафедра вычислительной техники и инженерной кибернетики
- •Учебно-методическое пособие
- •К выполнению заданий по информатике
- •Введение
- •1. Состав работы
- •2. Требования к оформлению отчета
- •Часть 3. Определить наибольший элемент среди нечетных по номеру элементов второй трети массива.
- •Часть 4. Упорядочить нечетные по номеру элементы второй половины массива по убыванию квадратов значений.
- •3.2. Алгоритм решения
- •3.2.1. Структура алгоритма
- •3.2.2. Алгоритм основной программы
- •3.2.3. Алгоритмы подпрограмм
- •3.2.3.1. Получение элементов вектора
- •3.2.3.2. Вычисление параметра вектора
- •Вычислить сумму положительных элементов третьей четверти массива
- •3.2.3.3. Определение параметра вектора
- •4.2.3.4. Упорядочение элементов вектора
- •4.2.3.5. Вывод информации Алгоритм процедуры writevect
- •3.3. Паскаль-программа
- •3.4. Распечатка результатов
- •Результаты расчета
- •4. Задание 2. Обработка двумерных массивов.
- •4.1. Постановка задачи.
- •4.2. Алгоритм решения.
- •4.2.1. Структура алгоритма.
- •4.2.2. Алгоритм основной программы
- •4.2.3. Алгоритмы подпрограмм.
- •4.2.3.1. Получение матрицы.
- •Вычислить матрицу а по формуле
- •4.2.3.2. Получение вектора.
- •А n, a[1..N, 1..N] лгоритм процедуры vector
- •4.2.3.3. Матричные операции.
- •4.2.3.4. Упорядочение матрицы.
- •4.2.3.5. Вычисление параметра массива.
- •Вычислить значение функции
- •4.2.3.6. Вывод информации. Алгоритм процедуры вывода матрицы writematr
- •4.3. Паскаль-программа.
- •4.4. Распечатка результатов.
- •Список рекомендуемой литературы
- •Символы к блок-схемам по гост 19.003-80
4.2.3.2. Получение вектора.
Используя известную матрицу А, вычислить вектор X, если xi(i=1,2..n) вычисляется как наибольший среди принадлежащих отрезку [-10,10] элементов i-го столбца матрицы.
Математическая формулировка задачи
, , i=
Таблица переменных
Имя |
Тип |
Назначение |
Параметр |
n |
целый |
размерность вектора |
формальный |
i, j |
параметр цикла |
локальный |
|
m |
вещественный |
вспомогательный |
|
a[1..n,1..n] |
матрица |
формальный |
|
x[1..n] |
вектор |
А n, a[1..N, 1..N] лгоритм процедуры vector
нет
да
нет
x[1..n]
да
procedure vector(n:integer; a:matr; var x:vect);
var i,j:integer; m:real;
begin
for i:=1 to n do
begin
m:=-exp(30);
for j:=1 to n do
if abs(a[j, i])<=10 then if a[j, i]>m then m:=a[j, i];
x[i]:=m;
end;
end{vector};
4.2.3.3. Матричные операции.
Выполнить матричную операцию Z=
М
Х – вектор
-
инвентированный вектор А
- матрица
-
транспонированная матрица Е
– единичная матрица Z
– матрица – результат
1) ;
2) U=A - E ;
3) V=A-E ;
4) C=U.V ;
5) ;
6) .
Таблица переменных
Имя |
Тип |
Назначение |
Параметр |
n |
целый |
размерность |
формальный |
a[1..n,1..n] |
вещественный |
матрица
вектор |
|
z[1..n,1..n] х[1..n] |
|||
i ,k, j |
целый |
параметр цикла |
локальный |
s |
вещественный |
вспомогательный скаляр |
|
y |
|||
b[1..n,1..n] |
матрица |
||
u[1..n,1..n] |
|||
v[1..n,1..n] |
|||
c[1..n,1..n] |
Алгоритм процедуры matoper
n, a[1..n,1..n], x[1..n]
нет
да
writematr
(’B’,
n,b)
writematr
( ‘U’,n,u)
writematr (
‘V’,n,v)
Writematr
(‘C’,n,C)
writeln
(‘y=’,y)
z[1:n,1:n]
procedure matoper(n:integer;a:matr;x:vect;var z:matr);
var i,k,j:integer; s,y : real; b,u,v,c:matr;
begin
for i:=1 to n do
for j:=1 to n do
begin
b[i,j]:=a [j, i];
u[i,j]:=b[i, j];
v[i, j]:=a[i, j];
if i=j then
begin
u[i,j]:=b[i,j]-1;
v[i,j]:=a[i,j]-1;
end;
end;
for i:=1 to n do
for j:=1 to n do
begin
s:=0;
for k:=1 to n do s:=s+u[i,k]*v[k,j];
c[i,j]:=s;
end;
y:=0;
for i:=1 to n do y:=y+x[i]*(-x[i]);
for i:=1 to n do
for j:=1 to n do z[i,j]:=c[i,j]*y;
writeln('B=At':20);
writmatr('b',n,b);readln;
writeln('U=B-E':21);
writmatr('u',n,u);readln;
writeln('V=A-E':21);
writmatr('v',n,v);readln;
writeln('C=U*V':21);
writmatr('c',n,c);readln;
writeln('скаляр y=X*Xи':26);
writeln('y=',y:6:3);
end{matoper};