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

Розвязання інженерних задач мовою програмування 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
.


Блок схема:









Таблиця ідентифікаторів:























Змінна алгоритму 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

Текст програми


SubMatrix()


' оголошення змінних


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. – 409c.


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.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

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

Слов:1177
Символов:12402
Размер:24.22 Кб.