У вас вопросы?
У нас ответы:) SamZan.net

ТЕМА 2. АЛГОРИТМІЗАЦІЯ ТА ПРОГРАМУВАННЯ

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 2.2.2025

ТЕМА 2. АЛГОРИТМІЗАЦІЯ ТА ПРОГРАМУВАННЯ. РОЗРОБКА ДОДАТКІВ WINDOWS ЗАСОБАМИ VISUAL BASIC FOR APPLICATION

Алгоритм – це послідовність елементарних операцій над вхідними даними, виконання яких за кінцеве число кроків забезпечує вирішення будь-якої задачі даного типу.

Графічне представлення алгоритму, в якому він зображений у виді  послідовності зв’язаних між собою функціональних блоків, кожен з яких відповідає виконанню однієї або декількох дій називається схемою алгоритму. У схемі кожному типу дій (введенню даних, обчисленню значень виразів, перевірці умов, керуванню повторенням дій, завершенню обробки) відповідає геометрична фігура, представлена у виді блочного символу. Блочні символи поєднуються лініями потоку, які визначають послідовність виконання дій.  В блоках прийнято розміри:

А= 10, 15, 20,…. мм;

В=1,5А   (допускається встановлювати В=2А).

При необхідності збільшення розмірів схеми алгоритму допускається збільшення розміру А на число, кратне 5. Графічні символи на схемі алгоритму повинні мати однакові розміри А та В.


Таблиц
я 2. Умовні графічні означення, що найчастіше використовуються при складанні схем алгоритмів

Назва блоку

Графічне зображення блоку

Дія, яка виконується

Пуск-зупин

Початок, кінець, перери-вання процесу обробки або виконання програми

Процес

Виконування операцій, в результаті якої змінюється значення, форма подання або розміщення даних

Модифікація (заголовок циклу)

Виконання операцій, що змінюють команди, або групи команд, що змінюють програму

Визначений процес (підпрограма)

Використання раніше створених або окремо написаних алгоритмів або програм

Розв’язування

Вибір направлення виконання алгоритму або програми в залежності від деяких змінних умов

Введення- виведення

Перетворення даних у форму, яка придатна для обробки (введення), або відображення результатів обробки (виведення)

Сторінковий з’єднувач

Розрив лінії потоку інформації усередині сторінки

Міжсторінковий з’єднувач

Розрив лінії потоку між сторінками


Структури алгоритмів.

Алгоритми можна представляти як деякі структури, що складаються з окремих базових (тобто основних) елементів.

Логічна структура будь-якого алгоритму може бути представлена комбінацією трьох базових структур: лінійна, розгалуження, цикл.

Характерною особливістю базових структур є наявність в них одного входу і одного виходу.

  1.  Лінійна базова структура. Утворена послідовністю дій,  що виконуються послідовно одна за одною (рис.  2.1.) :

Рисунок 2. .

  1.  Базова структура розгалуження. Забезпечує залежно від результату перевірки умови (так або ні) вибір одного з альтернативних напрямків роботи алгоритму. Кожен  із напрямків веде до загального виходу, тому робота алгоритму буде продовжуватись незалежно від того, який напрямок буде вибрано. Основні варіанти зображення структури розгалуження (рис 2.2., рис. 2.3.):

Рисунок .2.

Рисунок 2..

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

Для організації циклічної структури можуть використовуватися або блоковий символ "рішення" у сукупності із символами "процес", або спеціальний блоковий символ "модифікація" (заголовок циклу). Варіанти організації циклічної структури приведені на рис.2.4.



Лабораторна робота №
1

Тема: Visual Basic for Application. Розробка додатків, що реалізують лінійний обчислювальний процес.

Мета: навчитись використовувати засоби Visual Basic for Application. для розробки додатків з лінійним обчислювальним процесом.

Редактор VBA

Здійснимо написання програмного коду VBA в середовищі редактора Visual Basic WORD.

Увійти в середовище VBA WORD можна такими способами:

  1.  виконати команду Сервис-Макрос-Редактор Visual Basic;
  2.  скористуватись комбінацією клавіш <Alt>+<F11>;
  3.  натиснути кнопку Редактор Visual Basic панелі інструментів Visual Basic.

Повернутись із редактора VBA в документ  WORD можна такими способами:

  1.  за допомогою команди  Viev (Вид)-Microsoft WORD
  2.  скористуватись комбінацією клавіш <Alt>+<F11> 
  3.  натисненням кнопки View Microsoft WORD  панелі інструментів Standard.

ХІД РОБОТИ

  1.  Увійдіть в середовище VBA.
  2.  Виконайте команду Insert-UserForm.
  3.  Вивчіть вікно конструктора форми (UserForm1).

У вікні конструктора форми (рис. 2.5.) візуально конструюються елементи додатка. Для точного розміщення об'єктів у формі служить сітка. При виконанні додатка вона не відображається.

Розмір форми у вікні можна змінювати, використовуючи маркери виділення форми і мишу. Для зміни розміру форми необхідно встановити вказівник миші на маркер розміру і, коли він набуде вигляду двонаправленої стрілки, пересувати його до отримання потрібного розміру.

Рисунок 2..

  1.  Вивчіть панель елементів управління VBA (Toolbox).

Елементи управління додатком під час проектування форми вибираються з об'єктів панелі управління.

Об'єкт — елемент інтерфейсу, який створюється в екранній формі VBA за допомогою засобів панелі управління.

Об'єкт характеризується властивостями, методами та подіями.

Подія — це характеристика об'єкта, що описує зовнішній вплив, на який реагує об'єкт при застосуванні додатка. Події — це, наприклад, завантаження форми, натиснення клавіші на клавіатурі, клацання миші, подвійне клацання миші на об'єкті тощо. Кожна подія має своє ім'я.

Найбільш поширеними при використанні миші є такі події:

Click — користувач клацає кнопкою миші на об'єкті;

Dblclick — подвійне клацання на об'єкті керування.

Ще одна характеристика об'єкта — метод.

Метод — це дія, яка може здійснюватися над об'єктом. Метод — це також процедура.

Об'єкти панелі управління:

  •   Select Objects (Покажчик) — для позиціювання покажчика миші;
  •   Label (Напис) — розміщує у формі текстові об'єкти-
    написи, редагувати які під час виконання додатка неможливо;
  •   TextBox (Текстове поле) — розміщує у формі поле для введення текстової інформації, чисел, дат;
  •   ComboBox (Поле зі списком) — створює у формі об'єкт, що містить одночасно поле введення тексту і список значень, введений текст додається до елементів списку;
  •   ListBox (Список) — створює у формі список для
    вибору одного чи декількох значень із запропонованого списку;
  •   CheckBox (Прапорець) — розміщує у формі індикаторний перемикач, призначений для формування умов виконання чи певних налаштувань, значення якого (Value) при
    встановленому прапорці — 1; за відсутності прапорця — 0; позначений, але неактивний стан — 2;
  •   OptionButton (Перемикач) — створює у формі альтернативний перемикач для вибору налаштування чи режиму виконання програми;
  •   Frame (Рамка) — створює у формі рамку із заголовком для логічного групування об'єктів;
  •   Command-Button (Командна кнопка) — розміщує у формі кнопки управління для ініціювання дій, виконання команд і т. ін.;
  •   TabStrip дозволяє створити форму, що містить декілька вкладок.
  •   ScrollBar (смуга прокручування) - розміщує у формі смугу прокручування;

  •   Image (Зображення) — створює у формі поля
    Для відображення графічних зображень;

Об'єкти управління на формі створюються таким чином: слід вибрати потрібний елемент на панелі елементів управління і клацнути на ньому. У межах форми курсор миші набуде вигляду хрестика. "Намалювати" на формі об'єкт, утримуючи натиснутою ліву кнопку миші;

  1.  Вивчіть вікно властивостей форми (Properties-UserForm) та її об'єктів (рис. 2.6.).

Властивості об'єкта – це його атрибути: розмір, колір, положення на екрані, стан об'єкта (доступність або видимість) і т.п.

Вікно властивостей Properties призначене для відображення і визначення властивостей форми, а також розміщених у ній об'єктів.

За допомогою вкладок Alphabetic (За алфавітом) і Categorized (За категоріями) властивості об'єкта можна переглянути за абеткою чи за групами (категоріями) відповідно. У цьому вікні можна проглянути властивості не тільки вибраного об'єкта: вибрати інші можна зі списку, розміщеного під заголовком вікна. Списки властивостей складаються з двох стовпців: у першому з них вказано назву властивості, у другому — її значення.

Для зміни значень властивостей передбачені різні способи залежно від різновиду властивості.

Після виділення властивості у нижній частині вікна з'являється пояснення призначення обраної властивості.

Якщо вибрати відразу кілька об'єктів, то у вікні властивостей відобразяться загальні для цих об'єктів властивості.

Наприклад, усі без винятку об'єкти форми мають властивість Name (Ім'я), яка використовується при написанні програмних кодів. Ім'я об'єкта повинне бути унікальним у формі. Розміри об'єкта визначаються властивостями Height (Висота) і Width (Ширина). Положення об'єкта у формі визначають властивості Left (відстань від лівого краю форми) і Тор (відстань від верхнього краю форми).

Розглянемо основні групи властивостей, об'єднані за типом на вкладці Categorized вікна Properties.

У групі оформлення Appearance містяться властивості об'єкта, які задають атрибути його зовнішнього вигляду. До основних властивостей цієї групи належать такі:

  •  Caption – задає текст у рядку заголовка об'єкта;
  •  BorderStyle – задає стиль рамки об'єкта;
  •  Picture – призначає значок, картинку для об'єкта. Можна задати фонове графічне зображення.
  •  Enabled – дозволяє або забороняє доступ до об'єкта;
  •  MaxLength – встановлює максимальну довжину даних в об'єкті;
  •  Visible  – встановлює видимість об'єкта.
  •  Група Font має одну властивість — викликає діалогове вікно для задання шрифту тексту об'єкта, його розміру, стилів накреслювання.
  •  Multiline – дозволяє або забороняє виведення тексту в декілька рядків.
  •  Name – задає ім'я об'єкта;
  •  Text – встановлює текст у полі за замовчуванням;
  •  Index – задає унікальний індекс об'єкта.
  •  Left – задає положення об'єкта по горизонтальній осі від лівого краю форми;
  •  Тор – задає положення об'єкта по вертикальній осі від його верхнього краю до верхньої сторони форми;
  •  Width – задає горизонтальний розмір (ширину) об'єкта;

Розташування форми на екрані при виконанні визначається властивостями Left і Тор, що вказують відстані від лівого і верхнього краю відповідно. Крім цього, для визначення розташування форми під час виконання додатка використовується властивість StartUpPosition, яка може мати такі значення:

  •  Manual – положення форми задають властивості Left і Тор;
  •  CenterOwner форма розташовується в центрі робочого стола Windows;
  •  CenterScreen  – форма розташовується в центрі екрана;
  •  WindowsDefault – положення форми задається системою, виходячи з кількості відкритих вікон і їх розташування.

Властивості об'єктів можна змінити при виконанні додатка, написавши відповідні коди в процедурах, що створюються за допомогою редактора коду.

Щоб звернутися до властивості, необхідно помістити її ім'я  після імені об'єкта з крапкою між ними. Заміна або одержання значення властивості виконується за допомогою інструкції присвоєння. Щоб задати значення властивості, треба вказати об'єкт, через крапку вказати ім'я властивості, потім знак рівності (=) і нове значення властивості.

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

  1.   Розробіть засобами VBA додаток Windows для обчислення суми виплат за вкладом у банку.

Методичні рекомендації.

При заданому розмірі початкового вкладу (V), заданому терміні вкладу (Т) і річній процентній ставці (р), сума виплат (S) обчислюється за формулою:

Для розробки додатка потрібно врахувати цю математичну модель, яка передбачає, що відоме значення початкового вкладу (V), значення терміну вкладу Т, значення відсоткової ставки (р), і далі обчислювати значення суми виплат (S) відповідно до заданої формули. Значення цих величин можна описати типом – дійсні числа. Обчислювальний процес є лінійним.

Етапи розробки додатка:

  1.  алгоритмізація задачі;
  2.  розробка інтерфейсу користувача;
  3.  введення тексту програмного коду процедур обробки подій;
  4.  виконання проекту;


Розглянемо докладніше всі етапи.

Алгоритмізація задачі.

Розробимо схему алгоритму задачі (рис. 2.7.)

Розробка інтерфейсу користувача. Розробимо форму з назвою Виплати, в якій будуть такі об'єкти  (рис. 2.8.):

  •  6 написів Label1 –  Label6 (один напис для позначення даних про фізичну особу – ПІБ, один напис для позначення початкового вкладу, наступні два написи — для терміну вкладу і річної процентної ставки, один напис для позначення суми виплат і ще один напис — для виведення результату обчислення суми виплат);
  •  4 текстових поля TextBox1TextBox4 для введення даних (одне поле для введення даних про фізичну особу — ПІБ, одне для введення розміру початкового вкладу, наступні два текстових поля – для значення терміну вкладу і значення процентної ставки);
  •  одна командна кнопка CommandButton1.

Рисунок 2.. Розміщення об’єктів управління на формі

У вікні властивостей форми задайте для властивості Caption значення Виплати, для властивості ForeColor виберіть зі списку колір.

Для всіх об’єктів Label задайте значення напису (властивість Caption), колір фону, розмір та накреслення шрифту відповідно рис. 4. Для текстових полів TextBox задайте значення властивості  Text  - "пусто", вирівнювання по центру. Дотримайтесь вказаного розташування об'єктів і усвідомте логічний зв'язок між об'єктами:

Label1 TextBox1    Label2  TextBox2

Label3  TextBox3    Label4TextBox4.

Для командної кнопки CommandButton1 встановіть значення Розрахувати (властивість Caption) вирівнювання по центру.

Рисунок 2.. Встановлення властивостей об’єктів форми

Введення тексту програмного коду процедури обробки події.

Процедура обчислення суми виплат повинна виконуватись при натисненні на кнопку CommandButton1. Результат обчислення виводиться у напис з ім'ям Label6.  Програмний код процедури потрібно розробити.

Двічі клацніть на командній кнопці і у вікні редактора коду створіть код процедури відповідно рис. 2.10., після чого закрийте вікно коду.

Рисунок 2..

При створенні коду процедури необхідно пам'ятати таке.

Змінна — це поіменоване зарезервоване місце оперативної пам'яті для тимчасового збереження даних. Кожна змінна має ім'я, яке задається з використанням таких правил:

  •  довжина — не більше 255 символів;
  •  може містити букви, цифри і деякі спеціальні символи;
  •  починається завжди з букви;
  •  не містить пропусків, деяких розділових знаків (точку, кому, двокрапку, дефіс і т.п.) і таких символів: %, &, !, @, #, $;;
  •  ім'я кожної змінної повинно бути унікальним;
  •  не повинне співпадати з зарезервованими іменами;

Значеннями змінних можуть бути дані різних типів.

Тип даних відноситься до самих фундаментальних понять будь-якої мови програмування. Тип даних визначає множину допустимих значень, які може приймати величина, і множину дій, які можна виконувати над цією величиною. За замовчуванням усі змінні мають тип Variant..

Таблица 2.. Основні типи даних VBA

Тип даних

Діапазон значень

Об’єм пам’яті, байт

Префікс до імені

Суфікс

Byte (байт)

Цілі числа від  0 до 255

1

byt

Integer (ціле число)

Цілі числа від  –32768 до 32767

2

int

%

Long (довге ціле число)

Цілі числа подвійної довжини (від –2147483648 до 2147483647)

4

lng

&

Single (число з плаваючою комою звичайної точності)

Від -3.402823E38 до -1.401298E-45 для від’ємних  значень;
Від 1.401298E-45 до 3.402823E38 для додатних значень;

4

sng

!

Double (число з плаваючою комою подвійної точності)

Від -1.79769313486232E308 до
-4.94065645841247E-324 для від’ємних  значень; Від 4.94065645841247E-324 до 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] < Ім’я > [As <Тип>]
  •  Static <Ім’я> [As <Тип>]

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..  Повідомлення результату обчислень


Запитання до захисту лабораторної роботи:

  1.  З якою метою використовують у формах текстові вікна?
  2.  Для чого застосовують написи?
  3.  Яка властивість задає значення напису? Текстового поля?
  4.  Назвіть властивості форми.
  5.  Що таке змінна у VBA?
  6.  Охарактеризуйте константу у VBA.
  7.  Перелічіть правила утворення імен змінних та констант.
  8.  Які способи оголошення змінної існують?
  9.  Назвіть типи змінних у VBA.
  10.  Вкажіть математичні оператори у VBA.
  11.  Як звернутись у коді процедури до певної властивості елемента управління?
  12.  Що таке об'єкт, подія, процедура у VBA?
  13.  Які події пов'язані з мишею і яке ім'я має кожна з цих подій?


Лабораторна робота №
2

ТЕМА: Visual Basic for application. Розробка додатків, що реалізують розгалужений обчислювальний процес.

МЕТА: навчитись використовувати засоби VBA для розробки додатків із розгалуженим обчислювальним процесом.

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

Досить часто виникає необхідність змінити порядок виконання команд, залежно від результату виконання деякої умови. У VBA існують оператори, призначені для управління порядком виконання команд. Є два основних типи таких операторів:

  •  умовний оператор If.
  •  оператор вибору Select Case.

Конструкції управління мають такий синтаксис:

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)

Тангенс

Таблица 2.. Текстові функції

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)

Заміна регістра символів (всі літери маленькі)

ХІД РОБОТИ

  1.  Уважно вивчіть теоретичні відомості.
  2.  Задача 1. Розробіть додаток для обчислення суми виплат за вкладом у банку, якщо річна відсоткова ставка становить 13 % при вкладі більшому 4000 тис. грн., а для менших за розміром вкладів – 12%.

Методичні рекомендації

Математична модель. При заданому розмірі початкового вкладу (V), заданому терміні вкладу (Т) і річній відсотковій ставці (р), сума виплат (S) обчислюється за формулою:

При цьому річна відсоткова ставка визначається за формулою:

У додатку потрібно задавати значення початкового розміру вкладу (V), значення терміну вкладу (Т), значення відсоткової ставки (р) і обчислювати значення суми виплат (S) відповідно до заданої формули. Значення цих величин можна описати типом — дійсні числа. Алгоритм обчислювального процесу має розгалуження при обчисленні відсоткової ставки залежно від розміру початкового вкладу.

Схема алгоритму має вид:

Рисунок 2..

Розробка інтерфейсу користувача:

При розробці інтерфейсу користувача потрібно врахувати необхідність введення даних про вкладника, розмір його початкового вкладу і термін вкладу.

Додаток має повідомляти суму виплат і річну відсоткову ставку.

Доречно розробити форму з 6 написами і 4 текстовими полями (рис. 2.13.). Потрібно ще у формі мати одну командну кнопку, яка б при клацанні на ній запускала процедуру обчислення суми виплати.

Рисунок 2..

Для реалізації розгалуженого обчислювального процесу у програмному коді має бути застосований умовний оператор, у цьому разі доречно застосувати конструкцію If... Then... Else. Звісно, змінні мають бути описані у коді процедури.

Зауваження. Цей проект додатка не є єдино можливим. Можна запропонувати інші варіанти.

Реалізація проекту у VBA

  1.  Розробіть схему алгоритму з використанням текстового редактору MS WORD.
  2.  Увійдіть в середовище VBA WORD командою Сервис-Макрос- Редактор Visual Basic;
  3.   Розробіть форму з назвою Виплати_розгалужений, в
    якій будуть такі об'єкти:
    •  6 написів Label1 – Label6 (один напис для позначення даних про фізичну особу — ПІБ, один напис для позначення початкового вкладу, наступний напис — для терміну вкладу, один напис для позначення річної процентної ставки
      один напис для позначення суми виплат і ще один напис — для виведення результату обчислення суми виплат);
    •  4 текстових поля. TextBox1 — TextBox3 для введення даних (одне поле для введення даних про фізичну особу — ПІБ, одне для введення розміру початкового вкладу і ще одне текстове поле для значення терміну вкладу). TextBox4 для виведення даних (значення річної відсоткової ставки).
    •  одна командна кнопка CommandButtonl, з якою пов'язана подія – клацання на цій кнопці, що запускає на виконання процедуру обчислення суми виплат;
    •  результат обчислення виводиться у напис з ім'ям Label6.
      Програмний код процедури потрібно розробити.
  4.  У вікні властивостей форми задайте для властивості
    Caption значення Виплати_розгалужений, для властивості ForeColor виберітьзі списку колір.
  5.  Для всіх написів задайте відповідне значення (властивість Caption), колір фону і вирівнювання по центру відповідно як подано на рис. 2.13.
  6.  Для текстових полів також задайте значення "пусто" (властивість Text), вирівнювання по центру.
  7.  Дотримайтесь  вказаного  на  рис. 2.13.  розташування об'єктів.
  8.    Для командної кнопки CommandButton1 встановіть значення Обчислити (властивість Caption), вирівнювання по центру..
  9.   Двічі клацніть на командній кнопці і у вікні редактора коду створіть код процедури як на рис. 2.14.

Рисунок 2..

У цьому варіанті коду процедури змінні:

V — зберігає значення початкового вкладу;

p — зберігає значення річної відсоткової ставки;

t — зберігає значення терміну вкладу;

S — зберігає значення суми виплати.

Значення суми виплати виводиться у форму у напис Label6.

Змінні явно описані за допомогою ключового слова Dim. Тому ці змінні є локальними, вони є видимими лише для цієї процедури.

  1.  Запустіть розроблений проект на виконання, скориставшись відповідним меню або кнопкою панелі інструментів. При цьому на екрані з'явиться вікно форми Виплати_розгалужений, в якому у текстових полях потрібно задати значення відповідних величин і натиснути кнопку Обчислити. Після виконання обчислень у формі у написі Label6 буде виведено результат обчислення суми виплат, у текстовому полі TextBox4 буде виведена річна відсоткова ставка.
  2.   Виконайте тестування програми. Перевірте роботу програми при значенні початкового вкладу менше 4000 грн. і при значенні початкового вкладу більше 4000 грн.
  3.  Збережіть програму.
  4.  Задача 2. Розробіть додаток для обчислення значень економічного показника Y залежно від значень економічного показника X, якщо залежність задана формулою:


Схема алгоритму має вид:

Рисунок 2..


Методичні рекомендації

Для реалізації розгалужень обчислювального процесу застосуйте конструкцію Select Case.

  1.  Відкрийте   новий файл і увійдіть в середовище VBA WORD командою Сервис-Макрос- Редактор Visual Basic; 
  2.  Розробіть форму за наведеним на рис. 2.16. зразком:
    •  два написи (один напис для позначення значення Х, один напис для позначення значення Y);
    •   два текстових поля (одне поле для  введення значення X,одне поле для виведення результату обчислення значення Y);
    •  дві командні кнопки (одна кнопка для виконання обчислень, друга кнопка для завершення роботи програми).

Рисунок 2. .Об'єкти управління та їх розміщення на формі

  1.  Для  обробки  події клацання на командній  кнопці CommandButton1 та  командній  кнопці CommandButton2 розробіть коди процедур (рис. 2.17.):

Рисунок

Зверніть увагу на Функцію MsgBox. Вона виводить на екран діалогове вікно з повідомленням і очікує натиснення кнопки користувачем.

  1.  Запустіть розроблений проект на виконання, скориставшись відповідним меню або кнопкою панелі інструментів. При цьому на екрані з'явиться вікно форми Вибір, потрібно задати значення X і натиснути кнопку Обчислити. Після виконання обчислень у формі буде виведено результат обчислення значення Y.
  2.  Виконайте тестування програми. Перевірте роботу програми при значеннях Х з різних діапазонів, що задані умовою задачі.

Завдання для самостійної роботи.

Задача.

Розрахувати податки, премію, а також суму до видачі,  з урахуванням таких співвідношень:

Прибутковий податок =Оклад* (19%+0,005*№ варіанту), якщо оклад більше 2000 грн. і 19% в іншому випадку.

Пенсійний фонд=Оклад*( 4%+0,005*№ варіанту),  якщо оклад більше 1500 грн. і 4% в іншому випадку.

Премія = Оклад*50%.

До видачі = Оклад - (Прибутковий податок + Пенсійний фонд)+ Премія

  1.  Скласти алгоритм розв’язку задачі індивідуально завдання в MS WORD (схему-алгоритму).
  2.  Створити екранну форму для керування роботою програмного додатку. Надати всім елементам необхідних властивостей.
  3.  Для командних кнопок створити програмні коди для розв’язання поставленої задачі. Обчислити  поставлену задачу на ПК і вивести результати.

Увага. Номер варіанту вибирається за номером у списку в журналі групи.


Запитання до захисту лабораторної роботи:

  1.  Які мовні конструкції для реалізації розгалужень має
    VBA?
  2.  Назвіть різновиди умовного оператора IF.
  3.  З якою метою у процедурі обробки події використовувалась стандартна функція Val?
  4.  Охарактеризуйте синтаксис оператора вибору Select Case.
    Чи можна в операторі Select Case використовувати логічні вирази? Наведіть приклади.
  5.  Що означає запис Case 0 to 1 у структурі оператора Select
    Case?
  6.  Поясніть значення запису Case Is> 10 у структурі оператора Select Case.
  7.  Що означає запис Case Else у структурі оператора Select
    Case?
  8.  Перелічіть різновиди стандартних функцій Visual Basic.
  9.  Яка властивість елементів управління Label дозволяє
    змінити текст на цих об'єктах у VBA?
  10.  Назвіть властивість елементів управління CommandButton,
    що дозволяє змінити текст на цих об'єктах у VBA.
  11.  Вкажіть властивість елементів управління TextBox, що
    дозволяє змінити текст на цих об'єктах у Visual Basic.
  12.  Поясніть, як запустити проект на виконання у VBA.


Лабораторна робота №
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

  1.  Розробіть схему алгоритму з використанням текстового редактору MS WORD.
  2.  Увійдіть в середовище VBA WORD командою Сервис-Макрос- Редактор Visual Basic;
  3.   Розробіть форму з назвою Алгоритм циклічної структури, в якій будуть такі об'єкти:
    •  4 написи Label1 – Label4 (один напис для позначення початкового значення лічильника, один напис для позначення кінцевого значення лічильника, наступний напис — для кроку зміни лічильника і один напис для позначення  функції;
    •  4 текстових поля. TextBox1 — TextBox3 для введення даних (одне поле для введення початкового значення лічильника, друге поле для введення кінцевого значення лічильника,третє поле — для кроку). TextBox4 для виведення даних (значення функції при різних значеннях аргументу Х).
    •  одна командна кнопка CommandButtonl, з якою пов'язана подія – клацання на цій кнопці, що запускає на виконання процедуру обчисленняфункції;
    •  друга командна кнопка CommandButton2, щоб очистити поля від введених даних і результатів роботи для проведення розрахунків з іншими вхідними даними.
    •  третя командна кнопка CommandButton3, для завершення роботи програми.
  4.  У вікні властивостей форми задайте для властивості Caption значення Алгоритм циклічної структури, для властивості ForeColor виберітьзі списку колір.
  5.  Для всіх написів задайте значення (властивість Caption), колір фону відповідно рис. 2.20.
  6.  Для текстових полів також задайте значення "пусто" (властивість Text).
  7.  Для текстового поля TextBox4 задайте для властивості MultiLine значення True і для властивості  ScrollBars задайте значення 3-fm ScrollBarsBoth.
  8.   Для всіх кнопок задайте значення (властивість Caption), відповідно рис. 2.20.
  9.  Дотримайтесь  вказаного  на  рис. 2.20.  розташування об'єктів.
  10.  Двічі клацніть на командній кнопці CommandButton1 і у вікні редактора коду створіть код процедури для кожної з кнопок як на рис. 2.21.

Рисунок 2..

  1.  Запустіть розроблений проект на виконання, скориставшись відповідним меню або кнопкою панелі інструментів. При цьому на екрані з'явиться вікно форми Алгоритм циклічної структури, в якому у текстових полях потрібно задати значення відповідних величин і натиснути кнопку Обчислити. Після виконання обчислень у формі у текстовому полі TextBox4 буде виведено результат обчислення функції (рис 2.22.).

Рисунок 2..

  1.   Виконайте тестування програми. Перевірте роботу програми при інших вхідних даних.
  2.  Збережіть програму.


Запитання до захисту лабораторної роботи:

  1.  Які мовні конструкції для реалізації циклічних обчислювальних процесів має VBA?
  2.  Що таке "змінна циклу", "тіло циклу", "крок циклу"?
  3.  Який синтаксис має оператор циклу For... Next і як він працює у VBA?
  4.  Розкажіть про синтаксис, що має оператор циклу Do While... Loop, і як він працює у Visual Basic.
  5.  Розкрийте синтаксис оператора циклу Do... Loop While і як він працює у VBA.
  6.  Який синтаксис має оператор циклу Do Until... Loop і як він працює у VBA?
  7.  Охарактеризуйте синтаксис оператора циклу Do While-Loop і як він працює VBA.
  8.  Яке призначення має команда Exit?


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..




1. Слово о полку Игореве1
2. лекция медицинских рефератов историй болезни литературы обучающих программ тестов
3. Введение12
4. 040313 Литовцы всегда пытались сохранить свою культурную особенность
5. Утверждающий пафос горячее лирическое чувство в поэме Н В Гоголя Мертвые души
6. Разработка плана маркетинга на предприятии
7. Немецкая компания мировой лидер в области высококачественной бытовой техники таких как стиральные машин
8. тема управления ЭП ВБИ состоит из четырех подсистем задач- 1
9. Дипломная работа ИССЛЕДОВАНИЕ АПОПТОТИЧЕСКОЙ АКТИВНОСТИ ЛИМФОЦИТОВ ПЕРИФЕРИЧЕСКОЙ КРОВИ IN VITRO ПРИ ИНФ
10. Семья как малая социальная группа