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 .

 

ListBox1

 

Рисунок 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

 

Код програм на командних кнопках: