Хід роботи. Теоретичні відомості

Теоретичні відомості

Циклом називають групу операторів, що повторюється багаторазово з різними значеннями деякої змінної, яка називається змінною або параметром циклу.

Оператор циклу з лічильником.

Синтаксис:

For параметр = значення1 To значення2 Step h

інструкції тіла циклу

Next

Оператор повторює виконання тіла циклу, змінюючи значення параметру циклу від значення1 до значення2 із кроком h. Якщо крок дорівнює 1, його можна не вказувати.

Задача 23.1. В діапазоні B2: B24 записані числа. Знайти суму і кількість додатнних чисел діапазону.

Використаємо для розв’язку задачі об’єкт Cells – клітинку.

Sub СумаТаКількість()

Dim suma as Single, k as Integer, i as Integer

suma =0: k=0

For i =2 To 24

If Cells(i, 2). Value >0 Then

k = k+1 ‘збільшуємо кількість

suma = suma +Cells(i, 2). Value ‘накопичуємо суму

End if

Next i

MsgBox “Додатних чисел – “ & Str(k) & “, сума – ” & Str(suma)

End Sub

Оператори циклу з умовою.

Такі цикли використовується, якщо невідома заздалегідь кількість повторень. Існують такі різновиди операторів:

Синтаксис:

Do While умова інструкції тіла циклу Loop Do інструкції тіла циклу Loop While умова

Оператори з умовою While забезпечують виконання операторів тіла циклу доти, доки умова виконується.

Do Until умова інструкції тіла циклу Loop Do інструкції тіла циклу Loop Until умова

Оператори з умовою Until закінчують роботу операторів тіла циклу тоді, коли умова виконається. Тобто цикл повторюється, якщо умова має значення False (хибність).

Достроковий вихід з таких операторів циклу відбувається за допомогою оператору Exit Do.

Об’єкт CheckBox використовують для створення незалежного дво- чи три позиційного прапорця: увімкнено/вимкнено/(недоступний). Для цього об’єкта визначені такі властивості:

Властивість Опис властивості Приклади значень
Value Стан прапорця Grayed (недоступний), Unchecked (вимкнений), Checked (увімкнений)
MousePointer Вигляд вказівника миші на обєкті Arrow (стрілка), Cross (хрест)

Хід роботи

  1. Виконайте пункти 1-6 попередньої лабораторної роботи.
  2. Створити шаблон документу, подібний до того, що представлений на рис. 3.1.

Рис. 3.1 – Приклад шаблону

  1. Щоб викликати вікно властивостей компонентів потрібно натиснути кнопку .
  2. На кнопку напишіть процедуру:

Private Sub CommandButton1_Click()

x = Sheets(1).Cells(9, 2)

s = 1 'сума

nf = 1 'факторіал

xn = 1 'x в степені

Row = 14

For n = 1 To 16

nf = nf * n

xn = xn * x

s = s + xn / nf

Sheets(1).Cells(Row, 1) = n

Sheets(1).Cells(Row, 2) = s

Row = Row + 1

Next n

'точне значення

ex = Exp(x)

Sheets(1).Cells(11, 2) = ex

End Sub

  1. Вийдіть з режиму конструктора, натиснувши кнопку та протестуйте роботу програми.
  2. Розмістіть на листі компонент ScrollBar (рис.3.2.), його властивість Max встановіть рівну 16.

Рис. 3.2 – Приклад шаблону

  1. На подію Change() напишіть наступну процедуру:

Private Sub ScrollBar1_Change()

x = Sheets(1).Cells(9, 2)

s = 1 'сума

nf = 1 'факторіал

xn = 1 'x в степені

Row = 14

For n = 1 To ScrollBar1.Value

nf = nf * n

xn = xn * x

s = s + xn / nf

Sheets(1).Cells(Row, 1) = n

Sheets(1).Cells(Row, 2) = s

Row = Row + 1

Next n

'точне значення

ex = Exp(x)

Sheets(1).Cells(11, 2) = ex

End Sub

  1. Вийдіть з режиму конструктора, натиснувши кнопку та протестуйте роботу програми.
  2. Виконайте подібну задачу згідно Вашого варіанту.
  3. На Лист2 цієї ж робочої книги створіть шаблон документу, подібний до того, що представлений на рис. 3.3.

Рис. 3.3 – Приклад шаблону

  1. Властивість Max компоненту ScrollBar (рис.3.3.) встановіть рівну 20.
  2. На подію Change() напишіть наступну процедуру:

Private Sub ScrollBar1_Change()

TextBox1.Text = ScrollBar1.Value

dx = (ScrollBar1.Value - 1) / 50 ’крок

x = 1

For i = 1 To 51

Sheets(1).Cells(14 + i - 1, 1) = x

If OptionButton1.Value = True Then

y = Sin(Cos(x))

ElseIf OptionButton2.Value = True Then

y = Sin(x)

ElseIf OptionButton3.Value = True Then

y = Cos(x)

ElseIf OptionButton4.Value = True Then

y = 1 / x

Else

MsgBox ("Виберіть функцію")

End If

Sheets(1).Cells(14 + i - 1, 2) = y

x = x + dx

Next i

End Sub

  1. В даній задачі взято 50 точок розбиття, змініть процедуру так, щоб та ж область розбивалася на 10*В-6 точок.
  2. Збережіть роботу в свою папку.
Ряд Функція
  1 – x2 / 2! + x4 / 4! -... + (-1)n x2n /(2n)! cos(x)
  x – (1/2) x2 + (1/3)x3 -... + (-1)n+1(1/n) xn ln(x+1)
  1+ x ln3 + (x ln3)2/2! +...+(x ln 3)n/n! 3x
  sin(x) - sin(2x)/ 2+... +(-1)nsin(nx)/ n x/2
  (x-1)/x + (x-1)2 / 2x2 + (x-1)3/3x3 +...+(x-1)n/nxn ln(x)
  x – x3 /3 + x5 /5 +...+ (-1)n x2n-1 /(2n-1) arctg(x)
  1 + x2/2! + x4/4! +... + x2n/(2n)! (ex+e-x)/2
  1 - 2x + 3x2 - 4x3 + 5x4 +...+ (-1)n (n+1) xn 1/(1+x)2
  cos(x)+ cos(3x) /3 +...+ cos((2n-1)x)/(2n-1) 0.5 ln(ctg(x/2))
  1 + 2x + 3x2 + 4x3 + 5x4 +...+ (n+1) xn 1/(1+x)2
  x + x3/3! + x5/5! +... + x2n+1/(2n+1)! (ex-e-x)/2
  1 – x2 / 2! + x4 / 4! -... + (-1)n x2n /(2n)! cos(x)
  x – (1/2) x2 + (1/3)x3 -... + (-1)n+1(1/n) xn ln(x+1)
  1+ x ln3 + (x ln3)2/2! +...+(x ln 3)n/n! 3x
  sin(x) - sin(2x)/ 2+... +(-1)nsin(nx)/ n x/2
  (x-1)/x + (x-1)2 / 2x2 + (x-1)3/3x3 +...+(x-1)n/nxn ln(x)
  x – x3 /3 + x5 /5 +...+ (-1)n x2n-1 /(2n-1) arctg(x)
  1 + x2/2! + x4/4! +... + x2n/(2n)! (ex+e-x)/2
  1 - 2x + 3x2 - 4x3 + 5x4 +...+ (-1)n (n+1) xn 1/(1+x)2
  cos(x)+ cos(3x) /3 +...+ cos((2n-1)x)/(2n-1) 0.5 ln(ctg(x/2))
  1 + 2x + 3x2 + 4x3 + 5x4 +...+ (n+1) xn 1/(1+x)2
  x + x3/3! + x5/5! +... + x2n+1/(2n+1)! (ex-e-x)/2
  1+ x ln3 + (x ln3)2/2! +...+(x ln 3)n/n! 3x
  sin(x) - sin(2x)/ 2+... +(-1)nsin(nx)/ n x/2
  (x-1)/x + (x-1)2 / 2x2 + (x-1)3/3x3 +...+(x-1)n/nxn ln(x)

Контрольні питання

1. Оператор циклу FOR – NEXT і його робота.

2. Параметр циклу та його використання.

3. Оператори циклу з передумовою і з післяумовою.

4. Що таке вкладені цикли, яка їхня структура?

5. Як здійснюється достроковий вихід з циклу7

6. Алгоритми обчислення суми і кількості.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: