Private Sub CommandButton1_Click()
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 |
Код програм на командних кнопках: