- •1.Створення панелі інструментів та кнопок макросів
- •1.1. Створення панелі інструментів.
- •1.2. Створення кнопок макросів на панелі інструментів
- •2. Розробка алгоритму та програми ітераційної структури
- •2.1. Постановка задачі
- •2.2. Блок-схема
- •2.3. Таблиця ідентифікаторів
- •2.4. Текст програми
- •2.5. Тестування програми
- •3. Розробка алгоритму та програми циклічної структури із заданним числом повторень
- •3.1. Постановка задачі
- •3.2. Блок-схема
- •3.3. Таблиця ідентифікаторів
2.2. Блок-схема
Перед початком оформлення програми на мові VBA доцільно побудувати блок схему даного алгоритму. Вона допоможе зрозуміти логічну послідовність виконання певних дій та команд. А також буде корисною при написанні програмного коду обраного алгоритму згідно з завданням, поданим у методичних вказівках, який необхідно обрати згідно номеру групи та номеру за списком. При цьому варто звернути особливу увагу на те, які саме данні мають бути вхідними, на умову, яку необхідно виконати, згідно з завданням, а також на вихідні дані, що і зображує наступна блок схема:
2.3. Таблиця ідентифікаторів
Розробивши, склавши та оформивши належним чином блок-схему можна приступати до складання таблиці ідентифікаторів. В даній таблиці будуть розміщені усі змінні з описом їх типу.
Дана таблиця допоможе вирішити скільки треба оголосити змінних та якого типу. Для зручності використання розмістимо данні у трьох графах: Змінна алгоритму, ідентифікатор, тип.
Змінна алгоритму |
a |
b |
c |
y |
Тип |
Single |
Single |
Single |
Single |
Усі змінні мають тип Single тому, що умовою наперед не задається можливий тип чисел, які будуть вводитися. Змінні a, b, c – містять введені користувачем числа, які є вхідними даними. В змінній y – міститиметься результат обчислення заданих функцій.
2.4. Текст програми
Sub Ітераційний()
’ Об’явлення змінних
Dim a As Single, b As Single, c As Single, x As Single, y As Single
Dim x0 As Single, xn As Single, dx As Single
’Уведення вихiдних даних
a = InputBox(“Увести а”)
b = InputBox(“Увести b”)
c = InputBox(“Увести c”)
x0 = InputBox(“Увести початок інтервалу”)
xn = InputBox(“Увести кінець інтералу”)
dx = InputBox(“Увести дельта х”)
’ Початкове значення змінної x
x = x0
while x <= xn
’ Визначення значень
If x<0 then
If b+c*(tan(x))^2 >=0 then
y=(a*cos(x))/((b+c*(tan(x))^2)^(1/2))
MsgBox ("Значення x = " + Str(x)+ "; Значення y ="+ Str(y))
else
MsgBox ("y – не існує")
End If
Else
If b+c*(sin(x))^2 > 0 then
y=(a*sin(x))/((b+c*(sin(x))^2)^(1/2))
MsgBox ("Значення x = " + Str(x)+ "; Значення y ="+ Str(y))
else
MsgBox ("y – не існує")
End If
End If
x = x+dx
Wend
' виведення результатів
MsgBox ("Значення x = " + Str(x)+ "; Значення y ="+ Str(y))
End Sub
2.5. Тестування програми
Для тестування програми слід використати запропоновані в умові змінні a=1,4; b=0,2; c=2,4; x0=-2; xn=1; x=0,1.
Результати роботи програми у вікнах діалогу InputBox та MsgBox:
Уведіть a
1,4
Уведіть b
0,2
Уведіть c
2,4
Увести початок інтервалу
-2
Увести кінець інтералу
1
Увести дельта х
0,1
Виконуємо підрахунки функції y згідно з формулами: отримали такий результат: x=-2, y=-0,17063; x=1, y=0,85794. Порівнюючи результати отримані за допомогою програми та калькулятора розходження складає в середньому 0,004%, що менше за допустиму 0,05%.
X |
Y |
-2 |
-0,17 |
-1,9 |
-9,93-2 |
-1,8 |
-4,77-2 |
-1,7 |
-1,51-2 |
-1,6 |
-7,7-4 |
-1,5 |
4,53-3 |
-1,4 |
2,68-2 |
-1,3 |
6,69-2 |
-1,2 |
0,13 |
-1,1 |
0,21 |
-0,99 |
0,31 |
-0,89 |
0,43 |
-0,79 |
0,59 |
-0,69 |
0,77 |
-0,59 |
1.00 |
-0,49 |
1,28 |
-0,39 |
1,63 |
-0,29 |
2,04 |
-0,19 |
2,51 |
0,1 |
0,29 |
0,2 |
0,51 |
0,3 |
0,65 |
0,4 |
0,73 |
0,5 |
0,77 |
0,6 |
0,80 |
0,7 |
0,82 |
0,8 |
0,84 |
0,9 |
0,85 |
1,0 |
0,87 |
