- •Методичні вказівки
- •Затверджено радою університету
- •Лабораторна робота № 1 Тема: Інструментальне середовище Visual Basic for Application
- •Завдання для самостійної підготовки
- •Лабораторна робота № 2 Тема: Програмування алгоритмів лінійної структури
- •Завдання для самостійної підготовки
- •Лабораторна робота № 3 Тема: Програмування алгоритмів розгалуженої структури
- •Завдання для самостійної підготовки
- •Приклад виконання лабораторної роботи №3
- •Лабораторна робота № 4 Тема: Програмування алгоритмів ітераційної циклічної структури
- •Завдання для самостійної підготовки
- •Приклад виконання лабораторної роботи № 4.
- •Лабораторна робота № 5 Тема: Програмування алгоритмів циклічної структури із заданим числом повторень
- •Завдання для самостійної підготовки
- •Приклад виконання лабораторної роботи № 5
- •Лабораторна робота № 6. Алгоритми роботи з одновимірними масивами
- •Завдання для самостійної підготовки
- •Завдання до лабораторної роботи № 8
- •Лабораторна робота № 7. Програмування алгоритмів із структурою вкладених циклів і обробка матриць
- •Завдання для самостійної підготовки
- •Завдання до лабораторної роботи № 9
- •Список літератури
Лабораторна робота № 7. Програмування алгоритмів із структурою вкладених циклів і обробка матриць
Мета роботи - оволодіння практичними навичками програмування алгоритмів із структурою вкладених циклів, використання двовимірних масивів (матриць), уведення та виведення матриць.
Завдання для самостійної підготовки
Вивчити: - правила організації вкладених циклів із урахуванням порядку перебору елементів матриці; - правила використання прийомів програмування в структурах із вкладеними циклами; - способи вводу і виводу матриць, які реалізовані в алгоритмічній мові VBA.
Розробити алгоритм розв’язування у відповідності із завданням (див. завдання до лабораторної роботи ).
Скласти програму розв’язування задачі.
Підготувати тестовий варіант програми і вхідних даних.
Завдання до лабораторної роботи № 9
Обчислити і запамятати суму та число додатніх елементів кожного стовпця матриці A(10,15), aij>0. Результати надрукувати у вигляді двох рядків.
Обчислити і запамятати суму та добуток елементів кожного рядка матриці A(M,N), N20, M15. Результати надрукувати у вигляді двох стовпців.
Обчислити суму та число елементів матриці B(N,N), N12, які знаходяться на головній діагоналі та під нею.
Обчислити суму та кількість додатніх елементів матриці C(N,N), cij>0, N12, які знаходяться над головною діагоналлю.
Записати на місце відємних елементів матриці D(K,K), K 10 нулі і надрукувати її у звичайному вигляді.
Записати на місце відємних елементів матриці D(10,10) нулі, а на місце додатних - одиниці. Надрукувати нижню трикутну матрицю у звичайному вигляді.
Знайти в кожному рядку матриці F(N,N), N20, M10 максимальний та мінімальний елементи і розмістити їх на місці першого та останнього елементів рядка відповідно. Матрицю надрукувати у звичайному вигляді.
Транспонувати матрицю F(10,8) і надрукувати елементи головної діагоналі та діагоналі, розташованої під нею. Результати розмістити у двох рядках.
Для цілочислової матриці N(10,10), (nij/5)*5=nij знайти для кожного рядка число елементів, кратних пяти, та найбільший із знайдених елементів.
Із додатних елементів матриці N(10,10) сформувати матрицю M(10, Kmax), де Kmax - максимальне число додатніх елементів рядків матриці N. Елементи матриці M розташувати підряд, а на місце відсутніх елементів записати нулі. Надрукувати обидві матриці M i N у звичайному вигляді.
Знайти в кожному рядку матриці P(N,N), N15 найбільший елемент та поміняти його місцями з елементом головної діагоналі. Надрукувати одержану матрицю у звичайному вигляді.
Знайти найбільший і найменший елементи матриці R(K,N), K20, N10 і поміняти їх місцями. Надрукувати матрицю R і одержану матрицю.
Увести початкові дані в перші 24 рядки і 7 стовпців матриці S(25,8). Обчислити середнє арифметичне значення елементів кожного рядка матриці та записати його у 8-ий стовпець, а також середнє арифметичне елементів кожного стовпця, та записати його в 25-ий рядок. Надрукувати одержану матрицю у звичайному вигляді.
Знайти рядок із найбільшою та найменшою сумою елементів матриці T(N,M), N20, M15. Надрукувати знайдені рядки та суми їх елементів.
У матриці V(15,10) знайти в кожному рядку число нульових елементів. Надрукувати рядки матриці, які містять нульові елементи, та їх число.
Задана квадратна матриця A розміром N x N (N<=10) з дійсних елементів.
Знайти середнє арифметичне елементів кожного з парних стовбчиків цієї матриці.
Знайти середнє арифметичне елементів кожного з непарних стовбчиків цієї матриці.
Знайти середнє арифметичне елементів кожного рядка цієї матриці.
Знайти середнє арифметичне елементів кожного з парних рядків цієї матриці.
Знайти середнє арифметичне елементів кожного з непарних рядків цієї матриці.
Знайти середнє арифметичне з усіх від’ємних елементів цієї матриці.
Знайти середнє арифметичне з усіх додатних елементів цієї матриці.
Знайти характеристику кожного її рядка (суму додатних парних елементів у кожному рядку).
Знайти характеристику кожного її стовбчика (суму модулів від’ємних непарних елементів в кожному стовбчику).
Знайти суму і добуток усіх її додатних елементів.
Знайти суму і добуток усіх її від’ємних елементів.
Знайти суму усіх її додатних і добуток усіх її від’ємних елементів.
Знайти суму всіх її від’ємних і добуток усіх її додатних елементів.
Знайти суму всіх її елементів і замінити нею всі діагональні елементи цієї матриці.
Знайти добуток всіх її елементів і замінити ними всі диагональні елементи цієї матриці.
Знайти суму всіх її додатних елементів і замінити нею всі діагональні елементи цієї матриці.
Знайти добуток всіх її додатних елементів і замінити ним всі діагональні елементи цієї матриці.
Знайти суму всіх її від’ємних елементів і замінити нею всі діагональні елементи цієї матриці.
Знайти добуток всіх її від’ємних елементів і заменити ним всі діагональні елементи цієї матриці.
Знайти мінімальне із чисел, що зустрічаються в даній матриці частіше ніж один раз.
Знайти максимальне із чисел, що зустрічаються в даній матриці частіше ніж один раз.
Знайти суму найбільших елементів кожного рядка матриці і їх координати.
Знайти суму найменьших елементів кожного рядка матриці і їх координати.
Знайти добуток найбільших елементів кожного рядка матриці і їх координати.
Знайти добуток найменьших елементів кожного рядка матриці і їх координати.
Знайти суму найбільших елементів кожного рядка матриці і їх координати.
Знайти суму найменьших елементів кодного рядка матриці і їх координати.
Знайти добуток найбільших елементів кожного стовбчика матриці і їх координати.
Знайти добуток найменьших елементів кожного стовбця матриці і їх координати.
Знайти кількість додатних елементів в кожному рядку.
Знайти кількість від’ємних елементів даної матриці в кожному рядку.
Знайти кількість додатних елементів в кожному стовбчику.
Знайти кількість від’ємних елементів в кожному стовбчику.
Отримати нову матрицю шляхом ділення всіх елементів даної матриці на її найбільший за модулем елемент.
Отримати нову матрицю, помноживши всі елементи даної матриці на її найбольший за модулем елемент.
Отримати нову матрицю, помноживши всі елементи даної матриці на її найменьший за модулем елемент.
Отримати нову матрицю, склавши всі елементи даної матриці з її найбольшим за модулем елементом.
Отримати нову матрицю, склавши всі елементи даної матриці з її найменьшим за модулем елементом.
Отримати нову матрицю, віднявши всі елементи даної матриці від її найменьшого за модулем елемента.
Отримати нову матрицю, склавши всі елементи даної матриці від її найбільшого за модулем елемента.
Замінити нулями всі її елементи, що знаходяться на головній діагоналі і вище неї.
Замінити нулями всі її елементи, що знаходяться на головній діагоналі і нижче неї.
Сформувати вектор із суми елементів рядків і знайти їх середнє арифметичне.
Сформувати вектор із суми елементів стовбчиків і знайти їх середнє арифметичне.
Сформувати вектор із добутків елементів стовбчиків і знайти їх середнє арифметичне.
Сформувати вектор із добутків елементів рядків і знайти їх середнє арифметичне.
Сформувати вектор із найменьших значень елементів рядків і знайти їх середнє арифметичне.
Сформувати вектор із найменьших значень елементів стовбців і знайти їх середнє арифметичне.
Сформувати вектор із найбільших значень елементів рядків і знайти їх середнє арифметичне.
Сформувати вектор із найбільших значень елементів стовбців і знайти їх середнє арифметичне.
Сформувати вектор із різниць найбільшого і найменьшого значень елементів рядків.
Сформувати вектор із різниць найбільшого і найменьшого значень елементів стовбців.
Сформувати вектор із суми найбільшого і найменьшого значень елементів рядків.
Сформувати вектор із суми найбільшого і найменьшого значень елементів стовбців.
Знайти суму елементів рядка, в якому знаходиться найменьший елемент.
Знайти суму елементів рядка, в якому знаходиться найбільший елемент.
Знайти суму елементов стовбця, в котрому знаходиться найменьший елемент.
Знайти суму елементов стовбця, в котрому знаходиться найбільший елемент.
Поміняти місцями рядок, що містить максимальний елемент, з рядком, що містить мінімальний елемент.
Приклад. Отримати нову матрицю, розділивши кожний елемент даної матриці на її найменьший елемент.
Блок-схему алгоритма роз’язання задачі наведено на рис.4.
Текст програми:
Sub Matrix()
' Оголошення змінних
Dim A(20,20) As Single
Dim B(20,20) As Single
Dim n As Integer, m As Integer
Dim i As Integer, j As Integer
Dim min As Single
' Уведення вихiдних даних
n = InputBox("Задайте кiлькiсть рядкiв матрицi n=")
m = InputBox("Задайте кiлькiсть стовбцiв матрицi m=")
' Уведення елементiв масива A
For i=1 To n
For j=1 To m
A(i,j) = InputBox("Уведіть елемент масива A(" + str(i) + "," + str(j) + ")=")
Next j
Next i
' Обрахування мiнiмального елемента
min = A(1,1)
For i=1 to n
For j=1 to m
If (A(i,j)<min) Then
min = A(i,j)
End If
Next j
Next i
If min = 0 Then
MsgBox("Найменший елемент дорiвнює нулю")
Else
' Обрахування масива результатiв i вивiд
For i=1 to n
For j=1 to m
B(i,j) = A(i,j)/min
MsgBox("Eлемент масива B(" + str(i) + "," + str(j) + ")=" + str(B(i,j)))
Next j
Next i
End If
End Sub
Контрольний приклад: n=2, m=3,
Мінімальний елемент min=2
Задайте кiлькiсть рядкiв матрицi n=2;
Задайте кiлькiсть стовбцiв матрицi m=3;
Задайте елемент масива А[1,1]=2;
Задайте елемент масива А[1,2]=4;
Задайте елемент масива А[1,3]=6;
Задайте елемент масива А[2,1]=8;
Задайте елемент масива А[2,2]=10;
Задайте елемент масива А[2,3]=12;
B[1,1]=1
B[1,2]=2
B[1,3]=3
B[2,1]=4
B[2,2]=5
B[2,3]=6