Розв'язання інженерних задач мовою програмування VBA
Виконати тестування для перевірки правильності функціонування програми для значень n=3, x=2. Демидова Л. А., Пылькин А. Н. Программирование в среде Visual Basic for Application. М.: Телеком 2004. Постановка задачі. Розробити алгоритм та програму знаходження суми n членів ряду. Гетц К., Джилберт М. Программирование в Microsoft Office. К.: Издательская группа BHV, 1999. Програмування алгоритмів із… Читати ще >
Розв'язання інженерних задач мовою програмування VBA (реферат, курсова, диплом, контрольна)
«РОЗВ’ЯЗАННЯ ІНЖЕНЕРНИХ ЗАДАЧ МОВОЮ ПРОГРАМУВАННЯ VBA».
Зміст.
1. Програмування алгоритмів циклічної структури із заданим числом повторень.
2. Алгоритми роботи з одновимірними масивами.
3. Програмування алгоритмів із структурою вкладених циклів і обробка матриць.
1. Програмування алгоритмів циклічної структури із заданим числом повторень.
Постановка задачі. Розробити алгоритм та програму знаходження суми n членів ряду.
Виконати тестування для перевірки правильності функціонування програми для значень n=3, x=2.
Змінна алгоритму. | n. | s. | x. | |
Ідентифікатор | n. | s. | x. | |
Тип. | integer. | single. | single. | |
Текст програми:
Sub Zavdannya5().
Dim x As Single, s As Single.
Dim i As Integer, n As Integer.
Dim fact As Integer.
x = InputBox («x»).
n = InputBox («n»).
s = 0.
For i = 0 To n.
s = s + ((-1) ^ n) * 1 / ((2 * n + 1) * (x ^ (2 * n + 1))).
Next i.
MsgBox («сума значень» + Str (s)).
End Sub.
Контрольний приклад Виконуємо обчислення для даних тестового прикладу. Результати роботи програми на екрані монітора мають вигляд Виконуємо на калькуляторі підрахунки значення згідно з формулами: -0.42 782 738.
Увести x.
Увести n.
Висновок: Порівнюючи результати тестового приклада обрахованого за допомогою калькулятора та комп’ютерної програми бачимо що розходження склало —0.42 782 738+0.464 286)/0.42 782 738*100 = 0,0006%. Програма виконана вірно.
2.Алгоритми роботи з одновимірними масивами.
Постановка задачі: Обчислити середнє геометричне елементів масиву Y, які задовольняють умові yi>0.
Блок схема:
Таблиця ідентифікаторів:
Змінна алгоритму. | n. | s. | p. | Y (20). | i. | |
Ідентифікатор | n. | s. | p. | Y (20). | i. | |
Тип. | integer. | single. | integer. | integer. | integer. | |
Текст програми:
Sub Odnovymirniy_masiv ().
' Оголошення змінних.
Dim Y (20) As Integer.
Dim n As Integer.
Dim i As Integer.
Dim s As Single.
Dim p As Integer.
' Уведення даних.
n = InputBox («Задайте кiлькiсть елементiв n=»).
' Встановлення початкового значення суми.
s = 1.
p = 0.
For i = 1 To n.
Y (i) = InputBox («Задайте елемент масива Y («+ Str (i) + «)=»).
If Y (i) > 0 Then.
s = s * Y (i).
p = p + 1.
End If.
Next i.
s = s ^(1/p).
MsgBox («Середнє геометричне s=» + Str (s)).
End Sub.
Контрольний приклад. Виконуємо обчислення для даних тестового прикладу. Результати роботи програми на екрані монітора мають вигляд.
Y=.
Задайте кiлькiсть елементiв n=6.
Задайте елемент масива Y[1]=2;
Задайте елемент масива Y[2]=-54;
Задайте елемент масива Y[3]=4;
Задайте елемент масива Y[4]=-6;
Задайте елемент масива Y[5]=4;
Задайте елемент масива Y[6]=0;
Висновок: Порівнюючи результати тестового приклада обрахованого за допомогою калькулятора та комп’ютерної програми бачимо що розходження склало 0%. Програма виконана вірно.
3.Програмування алгоритмів із структурою вкладених циклів і обробка матриць.
Постановка задачі:
Знайти в кожному рядку матриці F (N,M), N20, M10 максимальний та мінімальний елементи і розмістити їх на місці першого та останнього.
елементів рядка відповідно. Матрицю надрукувати у звичайному вигляді.
Таблиця ідентифікаторів:
Змінна алгоритму. | n. | m. | p. | A (20,10). | i. | j. | min. | max. | o. | k. | K1. | |
Ідентифікатор | n. | m. | p. | A (20,10). | i. | j. | min. | max. | o. | k. | K1. | |
Тип. | integer. | integer. | integer. | integer. | integer. | integer. | integer. | integer. | integer. | integer. | integer. | |
Текст програми.
Sub Matrix ().
' оголошення змінних.
Dim A (20, 10) As Single.
Dim B (20, 10) As Single.
Dim n As Integer, m As Integer.
Dim i As Integer, j As Integer, p As Integer,.
K1 As Integer, k As Integer, o As Integer.
Dim min As Single.
Dim max As Single.
n = InputBox («уведіть кількість рядків n=»).
m = InputBox («уведіть кількість стовпців m=»).
For i = 1 To n.
For j = 1 To m.
A (i, j) = InputBox («уведіть елемент масиву A («+ Str (i) + «,» + Str (j) + «)=»).
Next j.
Next i.
For i = 1 To n.
min = A (i, 1).
max = A (i, 1).
p = 1.
o = 1.
For j = 1 To m.
If (A (i, j) < min) Then.
min = A (i, j).
p = j.
End If.
If (A (i, j) > max) Then.
max = A (i, j).
o = j.
End If.
Next j.
k = A (i, p).
k1 = A (i, o).
A (i, o) = k1.
A (i, p) = k.
A (i, 1) = min.
A (i, m) = max.
Next i.
For i = 1 To n.
For j = 1 To m.
B (i, j) = A (i, j).
MsgBox («Елемент масиву B («+ Str (i) + «,» + Str (j) + «)=» + Str (B (i, j))).
Next j.
Next i.
End Sub.
Контрольний приклад. Виконуємо обчислення для даних тестового прикладу. Результати роботи програми на екрані монітора мають вигляд Вводимо матрицю, А Після обробки матриці А програмою отримуємо нову матрицю В з потрібними нам перетвореннями Задайте кiлькiсть рядкiв матрицi n=4;
Задайте кiлькiсть стовбцiв матрицi m=6;
Задайте елемент масива А[1,1]=1;
Задайте елемент масива А[1,2]=5;
Задайте елемент масива А[1,3]=45;
Задайте елемент масива А[1,4]=7;
Задайте елемент масива А[1,5]=11;
Задайте елемент масива А[1,6]=0;
Задайте елемент масива А[2,1]=65;
Задайте елемент масива А[2,2]=4;
Задайте елемент масива А[2,3]=25;
Задайте елемент масива А[2,4]=3;
Задайте елемент масива А[2,5]=5;
Задайте елемент масива А[2,6]=1;
Задайте елемент масива А[3,1]=1;
Задайте елемент масива А[3,2]=22;
Задайте елемент масива А[3,3]=5;
Задайте елемент масива А[3,4]=4;
Задайте елемент масива А[3,5]=0;
Задайте елемент масива А[3,6]=9;
Задайте елемент масива А[4,1]=7;
Задайте елемент масива А[4,2]=5;
Задайте елемент масива А[4,3]=2;
Задайте елемент масива А[4,4]=1;
Задайте елемент масива А[4,5]=4;
Задайте елемент масива А[4,6]=4;
B[1,1]=45;
B[1,2]=5;
B[1,3]=1;
B[1,4]=7;
B[1,5]=11;
B[1,6]=0;
B[2,1]=65;
B[2,2]=4;
B[2,3]=25;
B[2,4]=3;
B[2,5]=5;
B[2,6]=1;
B[3,1]=22;
B[3,2]=1;
B[3,3]=5;
B[3,4]=4;
B[3,5]=9;
B[3,6]=0;
B[4,1]=7;
B[4,2]=5;
B[4,3]=2;
B[4,4]=4;
B[4,5]=4;
B[4,6]=1;
Порівнюючи результати тестового приклада обрахованого за допомогою калькулятора та комп’ютерної програми бачимо що розходження склало 0%. Програма виконана вірно.
Список використаної літератури.
1) Камминг, Стив. VBA для «чайников», 3-е издание.: Пер. с англ. — М.: Издательский дом «Вильямc», 2001.— 448c.
2) А. Васильев, А. Андреев. VBA в Office 2000. Питер, 2001. — 409 c.
3) Демидова Л. А., Пылькин А. Н. Программирование в среде Visual Basic for Application. М.: Телеком 2004.
4) Гетц К., Джилберт М. Программирование в Microsoft Office. К.: Издательская группа BHV, 1999.
5) Бондаренко Олена Олександрівна Інформатика. Visual Basic. 9 клас Бондаренко Олена Олександрівна «Аспект», 2008 р. 200 с.
6) Делявський, М. В. Основи алгоритмізації та програмування: середовище VBA: навчальний посібник для студентів економічних спеціальностей вищих навчальних закладів / За заг. ред. Р.Б. Чаповської. — Чернівці.
7) Чаповська Р. Б Основи алгоритмізації та програмування: середовище VBA, 2006 р.
8) А. Гарнаев — Самовчитель VBA 2000р.
9) Л. А. Демидова, А. Н. Пилькин — Програмування в середовищі VBA, 2004 р.
10) Слепцова Лилия Дмитриевна. Программирование на VBA в Microsoft Office 2007. Самоучитель. — М.: «Диалектика», 2007. — С. 432.
11) Стивен Буллен, Роб Боуви, Джон Грин Профессиональная разработка приложений Microsoft Office Excel. Professional Excel Development: The Definitive Guide to Developing Applications Using Microsoft Excel and VBA. — М.: «Вильямс», 2007. — С. 736.