1. Створення Панелі користувача і кнопок макросів
Налагодження середовища VBA виконується аналогічно діям, що виконані в РГР №3, при цьому мають місце кнопки з макросами для ітераційної циклічної структури і циклу за індексом.
Після створення панелі інструментів користувача і кнопок макросів загальний вигляд наведений на рис. 1.1.

Рис. 1.1. Панель інструментів користувача із кнопками для виклику програм 1.Ітераційної циклічної структури; 2.Циклу за індексом
2. Розробка алгоритму та програми табуляції функції однієї змінної з використанням ітераційного циклу при розрахунку значень заданої функції
2.1 Постановка задачі
Розробити алгоритм та програму розрахунку значень функції у згідно з формулами:
|
|
bx<1 bx=1 bx>1 |
b=1,5 |
|
2.2 Блок-схема алгоритму
Блок-схему наведено на рис. 2.1.
2.3. Таблиця ідентифікаторів
|
Змінна алгоритму |
Q |
x |
b |
x0 |
xn |
Δx |
|
Ідентифікатор |
q |
x |
b |
x0 |
xi |
dx |
|
Тип |
Single |
|||||
2.4 Текст програми
Sub iter_cykl()
Dim q As Single, b As Single, x As Single
Dim x0 As Single, xi As Single, dx As Single
MsgBox ("Ітераційний цикл")
'Уведення вхідних даних
b = InputBox("Введіть b")
x0 = InputBox("Введіть x0")
xi = InputBox("Введіть xi")
dx = InputBox("Введіть dx")
x = x0
While x <= xi
If b*x < 1 Then
If b*x<=0 then
MsgBox(“Q не визначено”):Go To 1:
Else
Q=b*x-Log(b*x)/Log(10)
End if
Else
If b*x > 1 Then
Q=b*x+ Log(b*x)/Log(10)
Else
Q=1
End If
End If
MsgBox ("Q = " + Str(q) + "; x = " + Str(x))
x = x + dx
Wend
1:
End Sub
2.5 Контрольний приклад тестування програми
За допомогою калькулятора обчислюю значення qт при заданих значеннях х та порівнюю їх з результатом роботи програми.
За допомогою калькулятора обчислюю значення qт при x = 0.3. та х=1, х=2
При bx<1: b=1,5, x= 1/1,5 = 1/b = 1/1,5 = 0.667
![]()
При bx>1, b=1,5, x=1:
![]()
При bx=1, b=1,5, x=1:
табл. 2.1.
Таблиця 2.1
|
x |
qт |
qпр |
Δq,% |
|
0.1 |
0.973909 |
0.973909 |
0 |
|
0.2 |
0.822879 |
0.822879 |
0 |
|
0.3 |
0.796787 |
0.796787 |
0 |
|
0.4 |
0.821849 |
0.821849 |
0 |
|
0.5 |
0,874939 |
0,874939 |
0 |
|
0.6 |
0.945757 |
0.945757 |
0 |
|
0.7 |
1.071189 |
1.071189 |
0 |
|
0.8 |
1.279181 |
1.279181 |
0 |
|
0.9 |
1.480334 |
1.480334 |
0 |
|
1 |
1,676091 |
1,676091 |
0 |
Висновок. Отже, так як похибка не перевищує 0,05%, то програма ітераційної структури працює коректно.
3. Розробка алгоритму та програми визначення суми членів ряду з використанням циклічної структури з заданим числом повторень
3.1 Постановка задачі
Розробити алгоритм та програму розрахунку значень функції s згідно з формулами:
|
|
1,5 |
|
6 |
Виконати тестування для перевірки правильності функціонування програми для значень n=6, x=1,5.
3.2 Блок-схема алгоритму
Блок-схема алгоритму зображена на рис 3.1
3.3. Таблиця ідентифікаторів
|
Змінна алгоритму |
n |
i |
s |
x |
|
Ідентифікатор |
n |
i |
s |
x |
|
Тип |
integer |
single |
||
3.4 Текст програми
Sub_cykl_index()
Dim S as Single, x as Single
Dim i as integer, n as integer
MsgBox(“Цикл по індексу“)
x=InputBox (“x=”)
n=InputBox(“Введіть кількість членів ряду”)
S=1/x
For i=1 to n-1
S=S+((-1)^i)*1/((2*i+1)*(x^(2*i+1)))
Next i
MsgBox(“сума ”+str(n)+” членів ряду = ”+str(s))
End Sub
3.5 Контрольний приклад тестування програми
3.5.1. Виконуємо обрахунки за допомогою Ms Excel шести членів ряду при значенні x=1.5.
Сума шести членів ряду рівна S=1/1,5-1/3*1,53+1/5*1,55+1/7*1,57+1/9*1,59+1/11*1,511= 0,587716842
3.5.2. Виконуємо обрахунки за допомогою програми. Сума шести членів ряда рівна 0,587716842.рис.3.1. hh
3.5.3. Обчислюю похибку між результатом роботи програми і тестовим прикладом за формулою:
![]()
3.5.4.Висновок.
Отже, так як похибка програми між результатом роботи програми і тестового прикладу не перевищує 0,05%, то програма циклу за індексом працює коректно.

