Рефераты
 

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


© 2010 BANKS OF РЕФЕРАТ