Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
ТЕМА 2. АЛГОРИТМІЗАЦІЯ ТА ПРОГРАМУВАННЯ. РОЗРОБКА ДОДАТКІВ WINDOWS ЗАСОБАМИ VISUAL BASIC FOR APPLICATION
Алгоритм це послідовність елементарних операцій над вхідними даними, виконання яких за кінцеве число кроків забезпечує вирішення будь-якої задачі даного типу.
Графічне представлення алгоритму, в якому він зображений у виді послідовності звязаних між собою функціональних блоків, кожен з яких відповідає виконанню однієї або декількох дій називається схемою алгоритму. У схемі кожному типу дій (введенню даних, обчисленню значень виразів, перевірці умов, керуванню повторенням дій, завершенню обробки) відповідає геометрична фігура, представлена у виді блочного символу. Блочні символи поєднуються лініями потоку, які визначають послідовність виконання дій. В блоках прийнято розміри:
А= 10, 15, 20,…. мм;
В=1,5А (допускається встановлювати В=2А).
При необхідності збільшення розмірів схеми алгоритму допускається збільшення розміру А на число, кратне 5. Графічні символи на схемі алгоритму повинні мати однакові розміри А та В.
Таблиця 2. Умовні графічні означення, що найчастіше використовуються при складанні схем алгоритмів
Назва блоку |
Графічне зображення блоку |
Дія, яка виконується |
Пуск-зупин |
Початок, кінець, перери-вання процесу обробки або виконання програми |
|
Процес |
Виконування операцій, в результаті якої змінюється значення, форма подання або розміщення даних |
|
Модифікація (заголовок циклу) |
Виконання операцій, що змінюють команди, або групи команд, що змінюють програму |
|
Визначений процес (підпрограма) |
Використання раніше створених або окремо написаних алгоритмів або програм |
|
Розвязування |
Вибір направлення виконання алгоритму або програми в залежності від деяких змінних умов |
|
Введення- виведення |
Перетворення даних у форму, яка придатна для обробки (введення), або відображення результатів обробки (виведення) |
|
Сторінковий зєднувач |
Розрив лінії потоку інформації усередині сторінки |
|
Міжсторінковий зєднувач |
Розрив лінії потоку між сторінками |
Алгоритми можна представляти як деякі структури, що складаються з окремих базових (тобто основних) елементів.
Логічна структура будь-якого алгоритму може бути представлена комбінацією трьох базових структур: лінійна, розгалуження, цикл.
Характерною особливістю базових структур є наявність в них одного входу і одного виходу.
Рисунок 2. .
Рисунок .2.
Рисунок 2..
Базова структура цикл. Забезпечує багаторазове виконання деякої сукупності дій, яка називається тілом циклу.
Для організації циклічної структури можуть використовуватися або блоковий символ "рішення" у сукупності із символами "процес", або спеціальний блоковий символ "модифікація" (заголовок циклу). Варіанти організації циклічної структури приведені на рис.2.4.
Лабораторна робота № 1
Тема: Visual Basic for Application. Розробка додатків, що реалізують лінійний обчислювальний процес.
Мета: навчитись використовувати засоби Visual Basic for Application. для розробки додатків з лінійним обчислювальним процесом.
Редактор VBA
Здійснимо написання програмного коду VBA в середовищі редактора Visual Basic WORD.
Увійти в середовище VBA WORD можна такими способами:
Повернутись із редактора VBA в документ WORD можна такими способами:
ХІД РОБОТИ
У вікні конструктора форми (рис. 2.5.) візуально конструюються елементи додатка. Для точного розміщення об'єктів у формі служить сітка. При виконанні додатка вона не відображається.
Розмір форми у вікні можна змінювати, використовуючи маркери виділення форми і мишу. Для зміни розміру форми необхідно встановити вказівник миші на маркер розміру і, коли він набуде вигляду двонаправленої стрілки, пересувати його до отримання потрібного розміру.
Рисунок 2..
Елементи управління додатком під час проектування форми вибираються з об'єктів панелі управління.
Об'єкт елемент інтерфейсу, який створюється в екранній формі VBA за допомогою засобів панелі управління.
Об'єкт характеризується властивостями, методами та подіями.
Подія це характеристика об'єкта, що описує зовнішній вплив, на який реагує об'єкт при застосуванні додатка. Події це, наприклад, завантаження форми, натиснення клавіші на клавіатурі, клацання миші, подвійне клацання миші на об'єкті тощо. Кожна подія має своє ім'я.
Найбільш поширеними при використанні миші є такі події:
Click користувач клацає кнопкою миші на об'єкті;
Dblclick подвійне клацання на об'єкті керування.
Ще одна характеристика об'єкта метод.
Метод це дія, яка може здійснюватися над об'єктом. Метод це також процедура.
Об'єкти панелі управління:
Об'єкти управління на формі створюються таким чином: слід вибрати потрібний елемент на панелі елементів управління і клацнути на ньому. У межах форми курсор миші набуде вигляду хрестика. "Намалювати" на формі об'єкт, утримуючи натиснутою ліву кнопку миші;
Властивості об'єкта це його атрибути: розмір, колір, положення на екрані, стан об'єкта (доступність або видимість) і т.п.
Вікно властивостей Properties призначене для відображення і визначення властивостей форми, а також розміщених у ній об'єктів.
За допомогою вкладок Alphabetic (За алфавітом) і Categorized (За категоріями) властивості об'єкта можна переглянути за абеткою чи за групами (категоріями) відповідно. У цьому вікні можна проглянути властивості не тільки вибраного об'єкта: вибрати інші можна зі списку, розміщеного під заголовком вікна. Списки властивостей складаються з двох стовпців: у першому з них вказано назву властивості, у другому її значення.
Для зміни значень властивостей передбачені різні способи залежно від різновиду властивості.
Після виділення властивості у нижній частині вікна з'являється пояснення призначення обраної властивості.
Якщо вибрати відразу кілька об'єктів, то у вікні властивостей відобразяться загальні для цих об'єктів властивості.
Наприклад, усі без винятку об'єкти форми мають властивість Name (Ім'я), яка використовується при написанні програмних кодів. Ім'я об'єкта повинне бути унікальним у формі. Розміри об'єкта визначаються властивостями Height (Висота) і Width (Ширина). Положення об'єкта у формі визначають властивості Left (відстань від лівого краю форми) і Тор (відстань від верхнього краю форми).
Розглянемо основні групи властивостей, об'єднані за типом на вкладці Categorized вікна Properties.
У групі оформлення Appearance містяться властивості об'єкта, які задають атрибути його зовнішнього вигляду. До основних властивостей цієї групи належать такі:
Розташування форми на екрані при виконанні визначається властивостями Left і Тор, що вказують відстані від лівого і верхнього краю відповідно. Крім цього, для визначення розташування форми під час виконання додатка використовується властивість StartUpPosition, яка може мати такі значення:
Властивості об'єктів можна змінити при виконанні додатка, написавши відповідні коди в процедурах, що створюються за допомогою редактора коду.
Щоб звернутися до властивості, необхідно помістити її ім'я після імені об'єкта з крапкою між ними. Заміна або одержання значення властивості виконується за допомогою інструкції присвоєння. Щоб задати значення властивості, треба вказати об'єкт, через крапку вказати ім'я властивості, потім знак рівності (=) і нове значення властивості.
З елементом управління, як правило, пов'язуються певні події. Для того, щоб додаток працював, як нам потрібно, слід запрограмувати процедури обробки певних подій. Це здійснюється у вікні редактора коду, яке можна активувати подвійним клацанням на об'єкті управління.
Методичні рекомендації.
При заданому розмірі початкового вкладу (V), заданому терміні вкладу (Т) і річній процентній ставці (р), сума виплат (S) обчислюється за формулою:
Для розробки додатка потрібно врахувати цю математичну модель, яка передбачає, що відоме значення початкового вкладу (V), значення терміну вкладу Т, значення відсоткової ставки (р), і далі обчислювати значення суми виплат (S) відповідно до заданої формули. Значення цих величин можна описати типом дійсні числа. Обчислювальний процес є лінійним.
Етапи розробки додатка:
Розглянемо докладніше всі етапи.
Алгоритмізація задачі.
Розробимо схему алгоритму задачі (рис. 2.7.)
Розробка інтерфейсу користувача. Розробимо форму з назвою Виплати, в якій будуть такі об'єкти (рис. 2.8.):
Рисунок 2.. Розміщення обєктів управління на формі
У вікні властивостей форми задайте для властивості Caption значення Виплати, для властивості ForeColor виберіть зі списку колір.
Для всіх обєктів Label задайте значення напису (властивість Caption), колір фону, розмір та накреслення шрифту відповідно рис. 4. Для текстових полів TextBox задайте значення властивості Text - "пусто", вирівнювання по центру. Дотримайтесь вказаного розташування об'єктів і усвідомте логічний зв'язок між об'єктами:
Label1 TextBox1 Label2 TextBox2
Label3 TextBox3 Label4TextBox4.
Для командної кнопки CommandButton1 встановіть значення Розрахувати (властивість Caption) вирівнювання по центру.
Рисунок 2.. Встановлення властивостей обєктів форми
Введення тексту програмного коду процедури обробки події.
Процедура обчислення суми виплат повинна виконуватись при натисненні на кнопку CommandButton1. Результат обчислення виводиться у напис з ім'ям Label6. Програмний код процедури потрібно розробити.
Двічі клацніть на командній кнопці і у вікні редактора коду створіть код процедури відповідно рис. 2.10., після чого закрийте вікно коду.
Рисунок 2..
При створенні коду процедури необхідно пам'ятати таке.
Змінна це поіменоване зарезервоване місце оперативної пам'яті для тимчасового збереження даних. Кожна змінна має ім'я, яке задається з використанням таких правил:
Значеннями змінних можуть бути дані різних типів.
Тип даних відноситься до самих фундаментальних понять будь-якої мови програмування. Тип даних визначає множину допустимих значень, які може приймати величина, і множину дій, які можна виконувати над цією величиною. За замовчуванням усі змінні мають тип Variant..
Таблица 2.. Основні типи даних VBA
Тип даних |
Діапазон значень |
Обєм памяті, байт |
Префікс до імені |
Суфікс |
Byte (байт) |
Цілі числа від 0 до 255 |
1 |
byt |
|
Integer (ціле число) |
Цілі числа від 32768 до 32767 |
2 |
int |
% |
Long (довге ціле число) |
Цілі числа подвійної довжини (від 2147483648 до 2147483647) |
4 |
lng |
& |
Single (число з плаваючою комою звичайної точності) |
Від -3.402823E38 до -1.401298E-45 для відємних значень; |
4 |
sng |
! |
Double (число з плаваючою комою подвійної точності) |
Від -1.79769313486232E308 до |
8 |
dbl |
# |
Boolean (логічний) |
Логічне значення True або False |
2 |
bln |
- |
String (рядок символів) |
Від 0 до приблизно 2 мільярдів |
1 на кожен символ |
str |
$ |
Currency (грошовий) |
Від 922337203685477,5808 до 922337203685477,5807 |
8 |
cur |
@ |
Date (дата) |
Від 1 січня 100 г. до 31 грудня 9999 г. |
8 |
dtm |
- |
Object (обєкт) |
Вказівник обєкта |
4 |
obj |
- |
Variant (рядкові або числові підтипи |
Будь-яке числове або рядкове значення |
≥16 |
vnt |
- |
Позначення типів даних є ключовими словами мови (і виділяються після набору в редакторі VBA).
Над різними типами даних допускається виконання різних операцій. В VBA використовують три основних типи операцій:
Операції VBA
Математичні операції
[Операнд 1] + [Операнд 2] |
Додавання |
[Операнд 1] - [Операнд 2] |
Віднімання |
-[Операнд] |
Зміна знака |
[Операнд 1] * [Операнд 2] |
Множення |
[Операнд 1] / [Операнд 2] |
Ділення |
[Операнд 1] \ [Операнд 2] |
Цілочисельне ділення |
[Операнд 1] Mod [Операнд 2] |
Остача від ділення по модулю |
[Операнд 1] ^ [Операнд 2] |
Піднесення до степеня |
Операції відношення
[Операнд 1] < [Операнд 2] |
Менше |
[Операнд 1] > [Операнд 2] |
Більше |
[Операнд 1] <= [Операнд 2] |
Менше або дорівнює |
[Операнд 1] >=[Операнд 2] |
Більше або дорівнює |
[Операнд 1] <> [Операнд 2] |
Не дорівнює |
[Операнд 1] = [Операнд 2] |
Дорівнює |
[Операнд 1] Is [Операнд 2] |
Порівняння двох операндів, що містять посилання на обєкти |
[Операнд 1] Like [Операнд 2] |
Порівняння двох рядкових виражень |
Логічні операції
[Операнд 1] And [Операнд 2] |
(І) логічне множення |
[Операнд 1] Or [Операнд 2] |
(Або) логічне додавання |
[Операнд 1] Xor [Операнд 2] |
Двійкове додавання Or (або) |
Not [Операнд] |
Логічне заперечення |
Інші операції
[Рядок 1] & [Рядок 2] |
Конкатенація (додавання) рядків. При додаванні рядків допускається використання операції [Рядок 1] + [Рядок 2]. |
VBA виконує операції відповідно пріоритету що забезпечує однозначність в трактуванні значень виражень.
Пріоритети операцій
Пріоритет |
Операція |
1 |
Виклик функції і дужки |
2 |
^ |
3 |
Зміна знака |
4 |
*,/ |
5 |
\ |
6 |
Mod |
7 |
+, |
8 |
>, <, >=, <=, <>, = |
9 |
Not |
10 |
And |
11 |
Or |
12 |
Xor |
Для того щоб розпочати оперування деякою величиною (постійною або змінною) її потрібно оголосити. Оскільки якщо компютер не буде знати, величина якого типу використовується в програмі, він буде вважати її величиною універсального типу Variant і для її збереження в памяті відведе 16 і більше байт. Це призведе до неефективного використання памяті і уповільнить роботу програми.
Блок оголошення змінних має такий синтаксис:
Dim, As, Public, Private, Const, Static ключові слова VBA;
<Імя> імя змінної.
<Тип> тип даних змінної.
За допомогою одного оператора можна оголошувати декілька змінних одного типу, розділяючи їх комами.
Якщо змінна оголошується з використанням ключового слова Dim, то вона буде локальною видимою тільки у цій процедурі, при виході з процедури її значення буде втрачено.
Якщо змінна оголошується з використанням ключового слова Static, то вона буде локальною видимою тільки у цій процедурі, але після виходу з цієї процедури її значення не втратиться.
Якщо змінна оголошується з використанням ключового слова Private, то вона може бути видимою у всіх процедурах одного модуля, до якого належать ці процедури, але опис такої (чи таких) змінної потрібно зробити у розділі Declarations
Якщо змінна повинна бути видимою в усіх процедурах усіх модулів, то її оголошують з ключовим словом Public. Така змінна має назву глобальної змінної. Вона може бути оголошена у стандартному модулі.
Для оголошення констант використовується ключове слово Const. Константою називають змінну, значення якої не змінюється у процесі виконання програми, але використовується у певних процедурах.
У процедурах обробки подій об'єктів форми, можуть оголошуватись тільки локальні змінні, але використовуватись можуть і глобальні змінні цього проекту.
Інколи при використанні змінних можуть траплятись випадки, коли через помилку в імені змінної вона може трактуватись як нова змінна, і це призводить до неправильних обчислень. Щоб уникнути подібних ситуацій, необхідно в початок модуля поставити оператор Option Explicit (явне оголошення змінних).
Неявне оголошення змінної. При такому оголошенні тип змінної визначається першим оператором присвоєння. Опис змінної як такий відсутній. Якщо змінна має спеціальні кінцеві символи (суфікси), то тип визначається за суфіксом.
У коді процедури використана стандартна функція Val, яка перетворює текст (символьний рядок) у текстовому вікні у числове значення.
При написанні програмних кодів можуть використовуватись коментарі для роз'яснення тексту програми. Коментар може міститись як окремим рядком, так і у рядку програмного коду після символу ' (апостроф).
Наприклад:
а=Val(TextBox2.Text) ' змінній а присвоєно числове значення 'символьного рядка текстового поля TextBox2.
Виконання проекту.
Запустіть розроблений проект на виконання, скориставшись відповідним меню RunSub-UserForm або кнопкою панелі інструментів. При цьому на екрані з'явиться вікно форми Виплати, в якому в текстових полях потрібно задати значення відповідних величин і натиснути кнопку Розрахувати. Після виконання обчислень у формі у написі Label6 буде виведено результат обчислення суми виплат (рис. 2.11.).
Рисунок 2.. Повідомлення результату обчислень
Запитання до захисту лабораторної роботи:
Лабораторна робота № 2
ТЕМА: Visual Basic for application. Розробка додатків, що реалізують розгалужений обчислювальний процес.
МЕТА: навчитись використовувати засоби VBA для розробки додатків із розгалуженим обчислювальним процесом.
Теоретичні відомості
Досить часто виникає необхідність змінити порядок виконання команд, залежно від результату виконання деякої умови. У VBA існують оператори, призначені для управління порядком виконання команд. Є два основних типи таких операторів:
Конструкції управління мають такий синтаксис:
1.
IF умова THEN оператор
2.
IF умова THEN
оператори
END IF
Конструкція IF ... Then застосовується в тому разі, коли необхідно виконати один або групу операторів, якщо значення заданої умови дорівнює True. Ключові слова End If означають кінець багаторядкового оператора, і його наявність у цьому випадку обов'язкова. Якщо значення заданої умови дорівнює True, то будуть виконані операції, що слідують за ключовим словом Then. Якщо умова не виконується (логічний вираз має значення False), то Visual Basic переходить до виконання наступного оператора у однорядковому варіанті умовного оператора чи першого оператора після End If у багаторядковому варіанті умовного оператора.
ІІ.
IF умова THEN
Оператори 1
ELSE
Оператори 2
END IF
або
IF умова THEN
Оператори 1
ELSE: оператори 2
END IF
Конструкція If... Then... Else аналогічна конструкції If... Then, але дозволяє задати дії, що здійснюються як при виконанні логічної умови, так і у разі її невиконання.
У випадку, коли необхідно перевіряти декілька умов і в залежності від їх виконання виконувати визначений набір команд, використовують конструкцію наступного вигляду:
IF умова1 THEN
Оператори 1
ELSEIF умова2 THEN
Оператори 2
[ELSE
оператори N]
END IF
3. Конструкція SELECT CASE багатозначний вибір.
SELECT CASE <вираз>
CASE <список значень 1>
Оператори 1
CASE <список значень 2>
Оператори 2
….. ……
CASE ELSE
оператори N
END SELECT
Оператор вибору діє так. Спочатку обчислюється вираз, який стоїть після ключових слів SELECT CASE. Потім відшукується в списках значень перше порівняння, яке виконується при отриманому значенні. Якщо таке порівняння знайдено, то виконуються оператори, що стоять у відповідному блоці CASE і керування передається на кінець оператора, якщо ж значення виразу не задовольняється у жодному списку, і є конструкція CASE ELSE, то виконуються оператори, що містяться в ній. В іншому випадку жодний оператор, що міститься в операторі вибору, не виконується.
Оператор вибору доцільно вживати, коли є більше двох гілок, тобто в складних розгалужених процесах.
При створенні коду процедур можна використовувати стандартні функції Visual Basic (табл. 2.3., табл. 2.4).
Таблица 2.. Математичні функції
Функція |
Призначення |
Abs(x) |
Абсолютне значення х |
Atn(x) |
Арктангенс |
Cos(x) |
Косинус |
Exp(x) |
Експонента ех |
Fix(x) |
ціле число, дорівнює числу х без дробової частини. |
Int(x) |
найбільше ціле, що не перевищує х |
Round(x,a) |
Округлення х з точністю до а десяткових знаків |
Log(x) |
Натуральний логарифм ln x |
Rnd(x) |
Датчик випадкових чисел |
Sng(x) |
В залежності від знака числа повертається значення 1, 0, -1 |
Sin(x) |
Синус |
Sqr(x) |
Квадратний корінь |
Tan(x) |
Тангенс |
LTrim(strA) |
Вилучення зайвих пробілів на початку рядка |
RTrim(strA) |
Вилучення зайвих пробілів у кінці рядка |
Trim(strA) |
Вилучення зайвих пробілів на початку і у кінці рядка |
LEFT(strA,K) |
виділяє К символів з strA, починаючи з першого |
RIGHT(strA,K) |
виділяє з strA справа частину довжиною К символів |
MID(strA,L,M) |
виділяє з strA частину довжиною М символів, починаючи від символу з номером L |
LEN(strA) |
визначає кількість символів тексту strA |
VAL(strA) |
дане типу текст перетворює у числове |
STR(X) |
перетворює числове дане X в текст |
INSTR(A$,B$) |
дає номер позиції, з якої починається входження тексту B$ в текст A$ |
CHR$(число) |
дає символ з таблиці ASCII з даним номером |
ASC(символ) |
дає номер символу в таблиці кодів ASCII |
Space(N) |
додавання рядка пробілів заданої довжини |
Ucase(strA) |
Заміна регістра символів (ВСІ ЛІТЕРИ ВЕЛИКІ) |
Lcase(strA) |
Заміна регістра символів (всі літери маленькі) |
ХІД РОБОТИ
Методичні рекомендації
Математична модель. При заданому розмірі початкового вкладу (V), заданому терміні вкладу (Т) і річній відсотковій ставці (р), сума виплат (S) обчислюється за формулою:
При цьому річна відсоткова ставка визначається за формулою:
У додатку потрібно задавати значення початкового розміру вкладу (V), значення терміну вкладу (Т), значення відсоткової ставки (р) і обчислювати значення суми виплат (S) відповідно до заданої формули. Значення цих величин можна описати типом дійсні числа. Алгоритм обчислювального процесу має розгалуження при обчисленні відсоткової ставки залежно від розміру початкового вкладу.
Схема алгоритму має вид:
Рисунок 2..
Розробка інтерфейсу користувача:
При розробці інтерфейсу користувача потрібно врахувати необхідність введення даних про вкладника, розмір його початкового вкладу і термін вкладу.
Додаток має повідомляти суму виплат і річну відсоткову ставку.
Доречно розробити форму з 6 написами і 4 текстовими полями (рис. 2.13.). Потрібно ще у формі мати одну командну кнопку, яка б при клацанні на ній запускала процедуру обчислення суми виплати.
Рисунок 2..
Для реалізації розгалуженого обчислювального процесу у програмному коді має бути застосований умовний оператор, у цьому разі доречно застосувати конструкцію If... Then... Else. Звісно, змінні мають бути описані у коді процедури.
Зауваження. Цей проект додатка не є єдино можливим. Можна запропонувати інші варіанти.
Реалізація проекту у VBA
Рисунок 2..
У цьому варіанті коду процедури змінні:
V зберігає значення початкового вкладу;
p зберігає значення річної відсоткової ставки;
t зберігає значення терміну вкладу;
S зберігає значення суми виплати.
Значення суми виплати виводиться у форму у напис Label6.
Змінні явно описані за допомогою ключового слова Dim. Тому ці змінні є локальними, вони є видимими лише для цієї процедури.
Схема алгоритму має вид:
Рисунок 2..
Методичні рекомендації
Для реалізації розгалужень обчислювального процесу застосуйте конструкцію Select Case.
Рисунок 2. .Об'єкти управління та їх розміщення на формі
Рисунок
Зверніть увагу на Функцію MsgBox. Вона виводить на екран діалогове вікно з повідомленням і очікує натиснення кнопки користувачем.
Завдання для самостійної роботи.
Задача.
Розрахувати податки, премію, а також суму до видачі, з урахуванням таких співвідношень:
Прибутковий податок =Оклад* (19%+0,005*№ варіанту), якщо оклад більше 2000 грн. і 19% в іншому випадку.
Пенсійний фонд=Оклад*( 4%+0,005*№ варіанту), якщо оклад більше 1500 грн. і 4% в іншому випадку.
Премія = Оклад*50%.
До видачі = Оклад - (Прибутковий податок + Пенсійний фонд)+ Премія
Увага. Номер варіанту вибирається за номером у списку в журналі групи.
Запитання до захисту лабораторної роботи:
Лабораторна робота № 3
ТЕМА: Visual Basic for application. Розробка додатків, що реалізують циклічний обчислювальний процес.
МЕТА: навчитись використовувати засоби VBA для розробки додатків, що реалізують циклічний обчислювальний процес.
ХІД РОБОТИ
ЗАВДАННЯ 1. Уважно вивчіть теоретичні відомості.
Теоретичні відомості
Циклічним обчислювальним процесом називають обчислювальний процес, в якому певна послідовність дій повторюється скінченну кількість разів.
Впорядковану послідовність дій, що повторюється, називають циклом. Перелік дій циклу називають тілом циклу.
При кожному повторі значення деякої величини змінюється. Цю величину називають змінною циклу.
Значення, на яке змінюється змінна циклу між двома послідовними проходженнями тіла циклу, називають кроком циклу.
У VBA існують керуючі конструкції мови програмування, призначені для управління циклічним обчислювальним процесом. їх називають операторами циклу. Існують такі різновиди операторів циклу.
Оператор циклу з лічильником For... Next. Цей оператор циклу має у своїй структурі змінну-лічильник, для якої задають її початкове значення, крок зміни і кінцеве значення. Цикл виконується доти, доки поточне значення змінної-лічильника не дорівнюватиме кінцевому. Далі буде виконуватися оператор, розташований після оператора циклу.
Загальний вигляд оператора такий:
For лічильник = початкове значення То _кінцеве знач. [Step крок]
Оператори тіла циклу
NEXT [лічильник]
Оператори циклу Do...Loop. Оператор циклу Do While... Loop. Цикл, що задається цією конструкцією, виконується доти, доки умова, що задається в циклі, має значення True.
Синтаксис конструкції Do... Loop:
Do While умова
конструкції
Loop
Умова виконання циклу перевіряється перед кожним проходом циклу. Якщо вона дорівнює True, то виконується послідовність команд, які розташовані між Do While і ключовим словом Loop. У такій конструкції можлива ситуація, за якої тіло циклу не виконається жодного разу, якщо при першій перевірці умови вона матиме значення False.
Оператор циклу Do... Loop While. Цей синтаксичний варіант відрізняється від розглянутого вище розташуванням умови. У другому варіанті конструкції умова розташовується наприкінці циклу:
Do
конструкції
Loop While умова
За такого варіанта конструкції оператора циклу тіло циклу виконається принаймні один раз, після чого здійсниться перевірка умови виконання циклу.
Оператор циклу Do Until... Loop. Цей різновид оператора циклу принципово відрізняється тим, що в ньому цикл виконується доти, доки умова хибна, а не істинна. У такій конструкції можлива ситуація, за якої тіло циклу не виконається жодного разу, якщо при першій перевірці умови вона матиме значення True.
Цей оператор має такий синтаксис:
Do Until умова
конструкції
Loop
Оператор циклу Do... Loop Until. Цей різновид оператора циклу, як і попередній, принципово відрізняється тим, що в ньому цикл виконується доти, доки умова хибна, а не істинна. За такого варіанта конструкції оператора циклу тіло циклу виконається принаймні один раз, після чого здійсниться перевірка умови виконання циклу, навіть якщо умова має значення True.
Do
конструкції
Loop Until умова
У кожному новому проходженні циклу перевіряється умова, тому важливо при створенні програми стежити за тим, щоб у тілі циклу значення змінної в умові циклу могло бути змінено так, аби умова стала хибною, тобто цикл закінчився.
Команда Exit. При програмуванні коду інколи виникає ситуація, коли необхідно перервати виконання циклу до його повного завершення. Це можна зробити за допомогою команди безумовного переходу Exit. Ця команда завершує виконання циклу і передає управління наступній за циклом конструкції. Синтаксис цього оператора всередині циклу For Exit For, всередині циклів Do Exit Do.
Завдання Розробити додаток для обчислення значення функції y=2+tgx для всіх значень х у діапазоні -3 <= x =< 4 з кроком 0.4.
Методичні рекомендації
Математична модель.
У додатку потрібно задавати початкове значення лічильника ХР, кінцеве значення лічильника ХК і значення кроку DX. Алгоритм обчислювального процесу має циклічний характер.
Схема алгоритму має вид:
Розробка інтерфейсу користувача:
При розробці інтерфейсу користувача потрібно врахувати необхідність введення даних початкового і кінцевого значення лічильника і кроку зміни лічильника.
Додаток має видавати значення функції для кожного нового значення аргументу.
Розробимо форму з 4 написами і 4 текстовими полями (рис. 2.19.). Потрібно ще у формі мати три командні кнопки.
Рисунок 2..
Для реалізації циклічного обчислювального процесу у програмному коді має бути застосований оператор циклу, у цьому разі доречно застосувати конструкцію For... Next.
Рисунок 2..
Реалізація проекту у VBA
Рисунок 2..
Рисунок 2..
Запитання до захисту лабораторної роботи:
0,6А
0,4А
0,5А
0,5А
А
В
А
В
В
А
А
В
А
В
В
0,5А
Рисунок 2. .
ВИХІД
Виведення S
Введення
V, T, p
ПОЧАТОК
4
3
2
P=13%
P=12%
V≥4000
ВИХІД
Виведення S
Введення
V, T, p
Цикл Поки
Умова
Дія 1
Дія 2
умова
так
ні
Дія
умова
умова
так
ні
Дія1
Умова1
так
ні
Дія2
Умова2
так
ні
ДіяN
УмоваN
так
ні
ДіяN
УмоваN
так
ні
Дія2
Умова2
так
ні
Дія1
Умова1
так
ні
Дія N+1
ДіяN
Тіло цикла
Початкове присвоєння
Дія2
Дія1
Так
Ні
Цикл До
умова
Тіло цикла
Заголовок циклу
Тіло циклу
ні
так
Умови продовження
циклу
Блок модифікації змінних
Тіло циклу
Блок
підготовки
циклу
Початкове присвоєння
Рисунок 2..
Рисунок 2..
5
6
7
8
ПОЧАТОК
так
ні
6
4
Функція не визначена
9
8
7
Y=55+sin(3X)
1<X≤10
так
ні
5
0≤X≤1
так
8
10
3
2
X<0
ВИХІД
Виведення Y
Введення
X
ПОЧАТОК
так
ні
ПОЧАТОК
Введення
XP, XK, DX
Виведення Y
ВИХІД
Y=2+tgx
2
4
5
6
X=XP:XK;DX
3
Рисунок 2..