Обработка двумерного массива данных
Автор: Ilmira Blackberry • Январь 19, 2019 • Лабораторная работа • 2,628 Слов (11 Страниц) • 478 Просмотры
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Уфимский государственный нефтяной технический университет»
Кафедра вычислительной техники и инженерной кибернетики
ОТЧЁТ
по лабораторной работе №5
“Обработка двумерного массива данных”
Вариант № 33
Выполнил: ст. гр. БАГи-17-01 И.Ф. Харрасова
Проверил:
ст. преподаватель каф. ВТИК Р.М.Харисов
Уфа 2018
Постановка задачи
Разработать программу обработки квадратной матрицы NxN.
Часть 1. Сформировать элементы матрицы А=(аij) по формуле:
[pic 1]
Часть 2. Из элементов матрицы А построить вектор Х=(хi) по правилу:
xi–скалярное произведение главной диагонали на i-ю строку
Часть 3. Из элементов вектора Х вычислить скалярное значение по формуле;
[pic 2]
Часть 4. Осуществить преобразование матрицы по приведенному правилу: построить матрицу, обратную к транспонированной исходной матрице.
Часть 5. Умножить обратную матрицу на вектор х.
Обязательные требования к программе.
1. Программу разработать для решения задачи в общем виде, для произвольных значений исходных данных.
2. При разработке алгоритма решения сложного задания (работы 4, 5) использовать метод нисходящего проектирования (постепенного уточнения): сначала описать общую последовательность решения задачи в виде нескольких крупных шагов основного алгоритма - подзадач задания, затем подробно описать алгоритмы решения отдельных подзадач. При описании алгоритма решения подзадачи нужно сначала выбрать определенный типовой алгоритм обработки массива данных, потом адаптировать его для конкретного содержания подзадачи и оформить в виде отдельного алгоритмического модуля.
3. В программе предусмотреть ввод исходных данных в диалоговой форме, вывод данных в наглядной форме, с пояснениями, алгоритмические модули программировать в виде процедур.
4. Предусмотреть 3 варианта исполнения программы:
Тестовый расчёт
Решение задачи для одной и той же последовательности случайных значений элементов массива при новом запуске программы для одних и тех же исходных данных (Randomizeне используется).
Решение задачи для новой последовательности случайных значений элементов массива при новом запуске программы (c Randomize).
Анализ задачи.
Дано значение размерностиN квадратной матрицы.
Порядок решения задачи: сначала нужно получить двумерный массив (часть 1), затем вычислить вектор Х (часть 2) и найти скалярное значение (часть 3). В части 5 необходимо получить обратную матрицу, затем умножить ее на вектор Х.
Для лучшего понимания задачи, выявления её особенностей выполним тестовый расчёт.
Примем N=3.
[pic 3]
Вычисляем элементы квадратной матрицы:
а11=;[pic 4]
а12=;[pic 5]
а13=;[pic 6]
а21=;[pic 7]
а22=;[pic 8]
а23=;[pic 9]
а31=[pic 10]
а32=;[pic 11]
а33=[pic 12]
Вывод матрицы А:
0,092 0,095 0,023
А = 0,063 0,056 0,012
0,048 0,040 0,008
Вычисляем элементы вектора Х по правилу: xi–скалярное произведение главной диагонали на i-ю строку.
х1= (0,092*0,056*0,008)*(0,092*0,095*0,023)=4,1216*10-5*2,0102*10-4=8,3*10-9;
х2=4,1216*10-5*4,2336*10-5=1,7*10-9;
...