Файл: Отчётпо лабораторной работе 5Обработка двумерных массивов данных.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.11.2023

Просмотров: 41

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Уфимский государственный нефтяной технический университет»
Кафедра вычислительной техники и инженерной кибернетики
ОТЧЁТ
по лабораторной работе №5
“Обработка двумерных массивов данных”
Вариант № 24
Выполнил: ст. гр. ГБ-21-01
А.Р.Ишбулатов
Проверил:
ст. преподаватель каф. ВТИК
Р.М.Харисов
Уфа 2022

1. Постановка задачи
Разработать программу получения и обработки двумерного массива,
состоящую из 5 частей.
Часть 1. Создание двумерного массива с помощью формулы 1)
a ji
=i*tg(i+1)+j*tg(j+2)
1)
Часть 2 x i
- скалярное произведение побочной диагонали на i - строку;
2)
Часть 3. ???? =
????=0
????−1
∏ ????
????
| |
∗????????|????
????−????+1
|, ????
????
> 0; ????
????−????+1
≠ 0 3) Часть 4. заменить в исходной матрице строки с отрицательной суммой на вектор х;
Часть 5. умножить ветор х на транспонированную исходную матрицу
Обязательные требования к программе.
1. Программу разработать для решения задачи в общем виде, для произвольных значений исходных данных: количества элементов n (2<=n<=100).
2. Решение каждой части в программе реализовать в виде процедуры.
2. Анализ задачи.
Исходными данными являются значения количества элементов в массиве n
Порядок решения задачи: сначала нужно получить двумерный маcсив (часть 1),
затем можно вычислить x i
(часть 2) затем вычислить значение y (часть 3). заменить в исходной матрице строки с отрицательной суммой на кетор х (часть 4) в конце мы должны умножить вектор х на транспонированную исходную матрицу. (часть 5)
Часть 1.
Возьмем любые исходные данные, например n=3,
Теперь мы можем создать двумерный массив с помощью формулы:
a ji
=i*tg(i+1)+j*tg(j+2)
Вычислив каждый элемент матрицы по данной формуле, получим:
0.000 -2.185 -0.285
-0.143 -2.328 -0.428 2.316 0.131 2.031
Часть 2.
Xi - скалярное произведение побочной диагонали на I -ю строку
Элементы:
0.0 6.745 9.09
Часть 3.
Значение y вычисляется по формуле y=y*|x[i]|
i
*ln|x[n-i+1]|, причем x[i]> 0, x[n-i+1]≠ 0
Значение y равно:
15.348
Часть 4.
Чтобы заменить в ис ввести матрицу b:
b[i,j]:=a[i,j];
a[i,j]:=a[n-j+1,n-i+1];
a[n-j+1,n-i+1]:=b[i,j];
В итоге получится:
0.000 -2.185 -0.285 6.745 6.745 6.745 2.316 0.131 2.031
Часть 5.
Для лучшего понимания задачи, выявления её особенностей выполним тестовый расчёт. Возьмём любые исходные данные, например n=3.
Умножим исходную матрицу на измененную:
2


Матрица:
0.000 -2.185 -0.285
-0.143 -2.328 -0.428 2.316 0.131 2.031
3. Алгоритм решения задачи
При разработке алгоритме будем использовать метод декомпозиции: решение задачи сначала опишем в виде основного алгоритма, использующего вспомогательные алгоритмы решения задач частей задания. Затем опишем вспомогательные алгоритмы –
модули решения задач каждой части. При разработке и описании алгоритмов используются элементарные структуры алгоритмов,
составляющие основу структурного программирования.
Основной алгоритм.
При разработке основного алгоритма нужно учесть обязательные требования,
сформулированные в постановке задачи и рекомендации по разработке сложных программ:
1. Необходимо задачу решать в общем виде, для любых допустимых значений исходных данных.
2. Модули должны быть относительно независимы: обязательно иметь имя, свои входные, выходные и промежуточные данные, не использовать глобальные переменные, ввод и вывод данных в модуле может быть только в случае необходимости.
3. Действия алгоритма поясняются на естественном языке, в обозначениях постановки задачи, не используются конструкции языка программирования
3

3.1. Основной алгоритм
4

5

3.2. Алгоритм получения элементов массива А
6

3.3. Алгоритм получения вектора Х
7

3.4. Алгоритм вычисления значения у
8

3.5. Алгоритм получения изменённого массива С
9

3.6 Алгоритм умножения измененной матрицы на исходную

4. Таблицы переменных задачи
Таблица переменных основного алгоритма
Смысл переменных
Обозначение
Тип переменной
Примечания в алгоритме в программе
Исходные данные:
Размер массива
N
N
Целый
2Промежуточные данные:
Номер строки массива
Номер столбца массива
I
J
I
J
Целый
Целый i=
j=
Результаты:
Матрица
Матрица
Вектор х
Значение функции
A
B
X
Y
A
B
X
Y
Двумерный масс ив
Двумерный массив
Одномерный массив
Вещественная
A∈R
B∈R
X∈R
Y∈R
Таблица переменных алгоритма получения массива(part1)
Смысл переменных
Обозначение
Тип переменной
Примечания в алгоритме в программе
Входные данные:
Количество столбцов и строк
N
N
Целый
1< n <100
Промежуточные данные: Номер строки массива
Номер столбца массива
I
j
I
J
Целый
Целый i=
j=
Выходные данные:
Матрица
A
A
Двумерный массив
A
ij
=f(I,j)
Таблица переменных (part2)
Смысл переменных
Обозначение
Тип переменной
Примечания в алгоритме в программе
Входные данные:
Количество столбцов и строк
Массив
N
A
N
A
Целый
Двумерный массив
2A
ij
=f(I,j)


Промежуточные данные:
Номер строки массива
Номера строки массива:
I
J
I
J
Целый
Целый i=
j=
Выходные данные:
Вектор x i
x x
Одномерный массив
X

R
Таблица переменных алгоритма определения y (part3)
Смысл переменных
Обозначение
Тип переменной
Примечания в алгоритме в
программе
Входные данные:
Количество столбцов и строк
Матрица
Вектор x i
N
A
x
N
A
x
Целый
Двумерный массив
Одномерный массив
2A
ij
=f(I,j)
x i
> 0
x n-i+1
≠0
Промежуточные данные:
Интервал
I
I
Целый i=
Выходные данные:
Функция y
y
Вещественный
Y=f(x)
Значение частного:
S
S
Вещественный
S=f(x)
Таблица переменных алгоритма построения заменённой матрицы(part4)
Смысл переменных
Обозначение
Тип переменной
Примечания в алгоритме в программе
Входные данные:
Количество столбцов и строк
Матрица
N
a
N
a
Целый
Двумерный массив
2A
ij
=f(I,j)
Промежуточные данные:
Номер строки массива
Номер столбца массива
I
j
I
j
Целый
Целый i=1,n-1,1
j=1,n-i,1
Выходные данные:
Перевернутая матрица
C
C
Двумерный массив
C[i,j]∈ R
Таблица переменных алгоритма умножения исходную матрицу на измененную (part5)
Смысл переменных
Обозначение
Тип переменной
Примечания в алгоритме в программе
12

Входные данные:
Количество столбцов и строк
Вектор x
Перевернутая матрица
N
X
b
N
X
b
Целый
Одномерный массив
Двумерный массив
1X[i]∈ R
b[i,j]∈ R
Промежуточные данные:
Номер строки массива
Номер столбца массива
Умножение матрицы i
j b
i j
b
Целый
Целый
Вещественный i=
j=
b∈R
Выходные данные:
Результат умножения перевернутой матрицы на исходную матрицу c
c
Одномерный массив c[i,j]∈R
5. Текст программы на python
13

14

7. Вывод
Результаты ручного расчета совпали с результатами расчета программы. Это говорит о том, что программа составлена верно.
15