
- •21000, М. Вінниця, Хмельницьке шосе, 25
- •Інформаційний пакет
- •6.030502 «Економічна кібернетика»
- •Основи програмування мовою vba: основні поняття й елементи мови, вікно редактора, елементи управління
- •1. Типи даних, що підтримуються vba
- •2. Оголошення змінної
- •5. Перенос рядків у вікні редактора vba
- •6. Операції vba
- •Пріоритети операцій
- •7. Вбудовані функції vba
- •Функції перетворення типів
- •8. Вбудовані вікна діалогу
- •9. Налагодження середовища програмування
- •Інтелектуальні можливості редактора коду
- •10. Створення та використання форм
- •1. Поняття алгоритму та його властивості
- •2. Схематичне зображення алгоритмів
- •3. Базові алгоритмічні конструкції. Алгоритми лінійної структури
- •Іі. Практична частина
- •III. Індивідуальні завдання до лабораторної роботи
- •IV. Питання для самоконтролю
- •Лабораторна робота №2 Тема. Програмування розгалужених алгоритмів.
- •І. Теоретична частина
- •Іі. Практична частина
- •III. Індивідуальні завдання до лабораторної роботи
- •IV. Питання для самоконтролю
- •Лабораторна робота №3 Тема. Програмування циклічних структур.
- •І. Теоретична частина
- •Іі. Практична частина
- •III. Індивідуальні завдання до лабораторної роботи
- •IV. Питання для самоконтролю
- •Тестові завдання для самоперевірки
- •Список рекомендованих джерел Основний
- •Додатковий
- •Інтернет-ресурси
Іі. Практична частина
У середовищі VBA розв’язати задачу програмування розгалужень за варіантом відповідно до таблиці 6 (видає викладач).
Розробити блок-схему алгоритму розв’язування індивідуального завдання.
Записати розроблений алгоритм навчальною алгоритмічною мовою.
Вивчити в мові VBA:
правила побудови арифметичних виразів і використання оператора присвоювання;
різні форми запису умовного оператора.
Спроектувати форму користувача з відповідними елементами управління.
Кожному елементу управління надати унікальне ім’я (ідентифікатор).
Створити процедуру доступу до полів форми та обчислення значення запропонованого виразу.
Створити процедури очищення полів форми та закриття форми.
Розробити контрольні приклади для перевірки роботи програми та протестувати її роботу.
Оформити звіт про виконання індивідуального завдання лабораторної роботи, проілюструвавши його блок-схемою, алгоритмом, програмним кодом, виглядом спроектованої форми у режимі конструктора, виглядом робочої форми з виконаним контрольним прикладом, програмним кодом (лістингом програми) з коментарями.
III. Індивідуальні завдання до лабораторної роботи
Задано два числа x та y. Обчислити значення z.
Таблиця 6
№ вар. |
Завдання |
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
Продовження таблиці 6
№ вар. |
Завдання |
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
IV. Питання для самоконтролю
Яка конструкція називається розгалуженою?
Що таке оператор вибору?
В якій геометричній фігурі записується умова на схематичному зображенні алгоритму?
Які типи умовних операторів використовуються у VBA?
Які форми запису умовного оператора існують?
Яка умова називається простою?
Яка умова називається складеною?
Перерахуйте логічні операції.
Для чого призначені функції CStr, CDbl?
Для чого призначена функція Format?
Лабораторна робота №3 Тема. Програмування циклічних структур.
Мета. Оволодіти практичними навичками розробки і програмування циклічних структур.
І. Теоретична частина
Циклічною називається така алгоритмічна конструкція, яка передбачає виконання декілька разів однієї й тієї ж послідовності дій.
Керування кількістю повторів циклу здійснюється за допомогою змінної, яка має назву параметра циклу. При кожному повторі циклу значення цієї змінної змінюється на величину, яка називається кроком циклу. Порядок дій, що виконуються у циклі, називається тілом циклу. Цикл припиняється, коли значення параметра циклу досягає певного значення, за якого забезпечується виконання логічної умови припинення циклу. Бувають цикли з передумовою, з післяумовою та з параметром.
У циклі з передумовою спочатку перевіряється виконання логічної умови. Якщо вона істинна, то виконується тіло циклу, і так доти, доки умова циклу виконується.
У циклі з післяумовою спочатку виконується тіло циклу, а потім перевіряється умова. Тіло циклу повторюється до тих пір, поки умова не виконується.
Слід зауважити, що у циклі з передумовою тіло циклу може не виконатись жодного разу, тоді як у циклі з післяумовою тіло циклу виконається принаймні один раз. Щоб уникнути зациклення процесу, слід у тілі циклу обов'язково передбачити модифікацію параметра циклу, який впливатиме на виконання логічної умови.
Цикли з передумовою та післяумовою застосовуються тоді, коли наперед невідомо, скільки разів буде потрібно виконати тіло циклу. Такі цикли реалізують ітераційні процеси (від англ. iteration – повторення), кожен крок циклу називається ітерацією, а логічна умова – критерієм збіжності ітераційного процесу. У циклі з параметром наперед відомо, скільки разів відбуватиметься тіло циклу, параметр такого циклу змінюється на наперед відомий крок циклу.
Циклічні алгоритмічні конструкції, які містять у тілі циклу інші цикли, називаються вкладеними циклами. Елемент вкладеного циклу може бути зовнішнім або внутрішнім циклом. Кількість вкладених циклів необмежена.
Найпоширенішими прикладами застосування циклічних конструкцій різних видів є операції над математичними векторами (одномірними масивами, скінченними числовими наборами) та матрицями (двомірними масивами чисел): знаходження сум, множення, пошук максимального чи мінімального елементів і т.д.
Циклічний алгоритм описує процес обчислення суми такого ряду:
S
=
.
Схематично циклічний алгоритм зображається так:
Навчальною алгоритмічною мовою цей самий алгоритм можна записати таким чином:
алг Умова (дійсн x, S, ціл n)
арг
x, n
рез S
поч
Введення
x, n
ціл і
i := 1; S := 0
для і від 1 до n
пц
S
: = S + xi
і: = і + 1
кц
Виведення S
кін
Реалізувати процес обчислення зазначеної циклічної структури можна з використанням форми користувача у редакторі Visual Basic простого інтерфейсу, який зображений нижче (рис. 12).
Рис. 12. Приклад інтерфейсу для вирішення задачі
Програмний код, який реалізує виконання обчислень при натисканні на кнопку "Обчислити", буде мати вигляд:
Private Sub CommandButton1_Click()
' Заголовок процедури, що реалізує виконання дій при натисканні на кнопку Обчислити
Dim n, i As Integer
' Опис змінних цілого типу
Dim x, S As Double
' Опис змінних дійсного типу з плаваючою комою подвійної точності
n = CInt(TextBox1.Text)
' Переведення значення, введеного в текстове поле, в числове значення відповідного типу Integer
x = CDbl(TextBox2.Text)
' Переведення значення, введеного в текстове поле, в числове значення відповідного типу Double
S = 0
' Присвоювання початкового значення суми ряду
For i = 1 To n
' Початок циклу з параметром
S = S + x ^ i
' Збільшення суми ряду на значення наступного степеня х
Next i
' Збільшення значення лічильника і на 1
TextBox3.Text = CStr(S)
' Перетворення числа в текстовий рядок та виведення його у відповідному полі
End Sub
' Кінець процедури
Результат роботи цієї процедури показаний на рис. 13.
Рис. 13. Приклад виконання програми на контрольному прикладі
Вікно редактора VBA із реалізованими процедурами показаний нижче (рис. 14):
Рис. 14. Лістинг програмного коду VBA
Практика алгоритмізації обчислювальних процесів свідчить, що існує дуже мало класів задач, для розв'язування яких можна застосовувати лише одну алгоритмічну конструкцію.
У переважній більшості випадків конструкціями є комбінації лінійних алгоритмів, циклу та розгалуження. Такі алгоритмічні конструкції, які складаються більш ніж з однієї базової, називаються комбінованими.