Dim n As Integer, i As Integer, j As Integer, eps As Single, x As Single
Dim s As Single, sl As Single, p As Double
Worksheets("Лист2").Activate
x = Range("B2").Value
s = 0
If OptionButton1.Value = True Then
n = Range("B1").Value
For i = 1 To n
p = 1
For j = 1 To 2 * i
p = p * j
Next j
sl = (-1) ^ i * x ^ (2 * i) / p
s = s + sl
Next i
ElseIf OptionButton2.Value = True Then
eps = Range("B1").Value
i = 0
Do
i = i + 1
p = 1
For j = 1 To 2 * i
p = p * j
Next j
sl = (-1) ^ i * x ^ (2 * i) / p
s = s + sl
Loop While Abs(sl) >= eps
Else
MsgBox "Не вибраний спосіб розрахунку", vbCritical, "Помилка"
Exit Sub
End If
Range("B4").Value = s
End Sub
Результати роботи програми і розрахунків наведені на рис. 1.7.


Рисунок 1.7 – Результати роботи програми
Спосіб 2
Не важко встановити, що черговий член суми можна одержати за формулою:
, де
– черговий член суми,
– попередній член суми, i – номер члена обчислювальної суми. В цьому прикладі
= -x2/2. Такий вибір розрахунку поточного члену суми дозволяє кожного разу не підраховувати (2i)!.
Для рішення цієї задачі додамо до проекту форму на ім’я “Приклад1_3_2” і розробимо інтерфейс, як показано на рис. 1.8.
|
Рисунок 1.8 – Форма “Приклад1_3_2”
Встановимо слідуючи властивості елементів управління форми:
| Елемент(ім’я) | Властивість | Значення властивості |
| UserForm1 | Name | Приклад1_3_2 |
| Caption | ||
| Label1 | Caption | x = |
| Font(Начертание; Размер) | жирный; 10 | |
| Label2 | Caption | Вибір способу розрахунка |
| Font(Начертание; Размер) | жирный; 10 | |
| Label3 | Caption | Сума S = |
| Font(Начертание; Размер) | жирный; 10 | |
| TextBox1 | Name | xv |
| Font(Начертание; Размер) | жирный; 10 | |
| TextBox2 | Name | Sv |
| Font(Начертание; Размер) | жирный; 10 | |
| ListBox1 | Name | Lvar |
| Font(Начертание; Размер) | жирный; 10 | |
| CommandButton1 | Caption | Обчислення суми |
| Font(Начертание; Размер) | жирный; 12 |
Код програми:
Private Sub UserForm_activate()
Lvar.AddItem ("для заданої кількості членів ряду")
Lvar.AddItem ("з заданою точністю")
End Sub
Private Sub CommandButton1_Click()
Dim n As Integer, i As Integer, eps As Single, x As Single, _
S As Single, sl As Single
Label3.Caption = "сума S="
x = CSng(xv.Text)
sl = -(x ^ 2) / 2: s = sl
If Lvar.ListIndex = 0 Then
n = InputBox(“Ввести кількість членів n=”)
ElseIf Lvar.ListIndex = 1 Then
eps = InputBox(“Задати точність розрахунків
=”)
Else
Label3.Caption = "Помилка!"
Sv.Text = "Не обраний спосіб розрахунку"
Exit Sub
End If
If Lvar.ListIndex = 0 Then
For i = 2 To n
sl = sl * (-(x ^ 2) / ((2 * i - 1) * (2 * i)))
s = s + sl
Next i
ElseIf Lvar.ListIndex = 1 Then
i = 1
Do
i = i + 1
sl = sl * (-x ^ 2 / ((2 * i - 1) * (2 * i)))
s = s + sl
Loop While Abs(sl) >= eps
End If
Sv.Text = s
End Sub
Результати розрахунків наведені на рис. 1.9.

Рисунок 1.9 – Форма з результатами обчислень
Приклад 1.3.3 Протабулювати функцію
,
де х належить інтервалу [-2;2], крок зміни х – 0,2. Занести значення х, у на лист Excel у два стовпчика. Для цієї таблиці значень виконати слідуючи завдання:
1) знайти середнє арифметичне тих у, які відповідають від’ємним значенням х;
2) знайти найменше у та виділити кольором відповідне х;
3) знайти максимальне значення у, які відповідають додатнім значенням х і підрахувати кількість у в таблиці, що досягають максимального значення;
4) знайти добуток тих значень у, які менші середнього арифметичного із завдання 1).
Для відображення початкового значення, кінцевого значення та кроку зміни х, використовуємо лист EXCEL та відповідні клітини А2, В2, С2, як показано на рис. 1.10.

Рисунок 1.10 – Інтерфейс приклада 1.3.3
Розмістимо на цьому ж листі п’ять командних кнопок, за якими закріпимо відповідні процедури.
Встановимо слідуючі властивості елементів управління, які розміщені на листі EXCEL:
| Елемент(ім’я) | Властивість | Значення властивості |
| CommandButton1 | Caption | Табулювання функції |
| Font(Начертание; Размер) | жирный; 12 | |
| WordWrap | True | |
| CommandButton2 | Caption | Середнє арифметичне |
| Font(Начертание; Размер) | жирный; 12 | |
| WordWrap | True | |
| CommandButton3 | Caption | Найменше |
| Font(Начертание; Размер) | жирный; 12 | |
| CommandButton4 | Caption | Максимальне |
| Font(Начертание; Размер) | жирный; 12 | |
| CommandButton5 | Caption | Добуток |
| Font(Начертание; Размер) | жирный; 12 |
Код програм на командних кнопках:






