Розв язання інженерних задач мовою програмування VBA

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

РОЗВ'ЯЗАННЯ ІНЖЕНЕРНИХ ЗАДАЧ МОВОЮ ПРОГРАМУВАННЯ VBA

Зміст
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.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
49.2кб. | скачати


Схожі роботи:
Розвязання інженерних задач мовою програмування VBA
Приклади розв`язання задач з програмування
Графічний метод розв`язання задач лінійного програмування
Методи розв`язання задач
Алгоритм розв`язання задач
Алгоритми чисельного розв`язання задач
Приклади розв`язання задач з правознавства
Методи розв`язання задач з фізики
Графічне розв язання задач у ІІ класі
© Усі права захищені
написати до нас