Курсовая на тему Розв язання інженерних задач мовою програмування VBA
Работа добавлена на сайт bukvasha.net: 2014-12-01Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
„РОЗВ'ЯЗАННЯ ІНЖЕНЕРНИХ ЗАДАЧ МОВОЮ ПРОГРАМУВАННЯ VBA”
Зміст
1. Програмування алгоритмів циклічної структури із заданим числом повторень
1. Програмування алгоритмів циклічної структури із заданим числом повторень
Постановка задачі. Розробити алгоритм та програму знаходження суми n членів ряду
Виконати тестування для перевірки правильності функціонування програми для значень n=3, x=2.
Текст програми:
Sub Zavdannya_5()
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.042782738
Увести x
2
Увести n
3
Висновок: Порівнюючи результати тестового приклада обрахованого за допомогою калькулятора та комп'ютерної програми бачимо що розходження склало –0.042782738+0.0464286)/0.042782738*100 = 0,0006%. Програма виконана вірно.
Блок схема:
SHAPE \* MERGEFORMAT
Таблиця ідентифікаторів:
Текст програми:
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), N£20, M£10 максимальний та мінімальний елементи і розмістити їх на місці першого та останнього
елементів рядка відповідно. Матрицю надрукувати у звичайному вигляді.
Таблиця ідентифікаторів:
Текст програми
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%. Програма виконана вірно.
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) Делявський, М.В. http://e-catalog.mk.ua/cgi-bin/irbis64r_opak72/cgiirbis_64.exe?Z21ID=&I21DBN=NGU&P21DBN=NGU&S21STN=1&S21REF=10&S21FMT=fullw&C21COM=S&S21CNR=20&S21P01=0&S21P02=0&S21P03=M=&S21COLORTERMS=0&S21STR=Основи алгоритмізації та програмування: середовище 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.
Зміст
1. Програмування алгоритмів циклічної структури із заданим числом повторень
2. Алгоритми роботи з одновимірними масивами
3. Програмування алгоритмів із структурою вкладених циклів і обробка матриць1. Програмування алгоритмів циклічної структури із заданим числом повторень
Постановка задачі. Розробити алгоритм та програму знаходження суми n членів ряду
Виконати тестування для перевірки правильності функціонування програми для значень n=3, x=2.
Змінна алгоритму | n | s | x |
Ідентифікатор | n | s | x |
Тип | integer | single | single |
Sub Zavdannya_5()
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.042782738
Увести x
2
Увести n
3
Висновок: Порівнюючи результати тестового приклада обрахованого за допомогою калькулятора та комп'ютерної програми бачимо що розходження склало –0.042782738+0.0464286)/0.042782738*100 = 0,0006%. Програма виконана вірно.
2.Алгоритми роботи з одновимірними масивами
Постановка задачі: Обчислити середнє геометричне елементів масиву Y, які задовольняють умові yi>0.Блок схема:
SHAPE \* MERGEFORMAT
початок |
Задати значення n |
Вивести s |
кінець |
i=1..n |
|
так |
ні |
Задати Y[i] |
s=s*(Y[i]) p=p+1 |
s=1,p=0 |
i>n |
|
|
Таблиця ідентифікаторів:
Змінна алгоритму | 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), N£20, M£10 максимальний та мінімальний елементи і розмістити їх на місці першого та останнього
елементів рядка відповідно. Матрицю надрукувати у звичайному вигляді.
Таблиця ідентифікаторів:
Змінна алгоритму | 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) Делявський, М.В. http://e-catalog.mk.ua/cgi-bin/irbis64r_opak72/cgiirbis_64.exe?Z21ID=&I21DBN=NGU&P21DBN=NGU&S21STN=1&S21REF=10&S21FMT=fullw&C21COM=S&S21CNR=20&S21P01=0&S21P02=0&S21P03=M=&S21COLORTERMS=0&S21STR=Основи алгоритмізації та програмування: середовище 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.