Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual BASIC лаб..doc
Скачиваний:
13
Добавлен:
20.02.2016
Размер:
636.93 Кб
Скачать

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.3. Математичні функції

Функція

Призначення

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.4. Текстові функції

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

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

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

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

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

Рисунок 2.13.

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

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

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

  1. Розробіть схему алгоритму з використанням текстового редактору MS WORD.

  2. Увійдіть в середовище VBA WORD командою Сервис-Макрос- Редактор Visual Basic;

  3. Розробіть форму з назвою Виплати_розгалужений, в якій будуть такі об'єкти:

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

  • 4 текстових поля. TextBox1 — TextBox3 для введення даних (одне поле для введення даних про фізичну особу — ПІБ, одне для введення розміру початкового вкладу і ще одне текстове поле для значення терміну вкладу). TextBox4 для виведення даних (значення річної відсоткової ставки).

  • одна командна кнопка CommandButtonl, з якою пов'язана подія – клацання на цій кнопці, що запускає на виконання процедуру обчислення суми виплат;

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

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

  • Для всіх написів задайте відповідне значення (властивість Caption), колір фону і вирівнювання по центру відповідно як подано на рис. 2.13.

  • Для текстових полів також задайте значення "пусто" (властивість Text), вирівнювання по центру.

  • Дотримайтесь вказаного на рис. 2.13. розташування об'єктів.

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

  • Двічі клацніть на командній кнопці і у вікні редактора коду створіть код процедури як на рис. 2.14.

    Рисунок 2.14.

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

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

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

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

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

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

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

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

    2. Виконайте тестування програми. Перевірте роботу програми при значенні початкового вкладу менше 4000 грн. і при значенні початкового вкладу більше 4000 грн.

    3. Збережіть програму.

    4. Задача 2. Розробіть додаток для обчислення значень економічного показника Y залежно від значень економічного показника X, якщо залежність задана формулою:

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

    Рисунок 2.15.

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

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

    1. Відкрийте новий файл і увійдіть в середовище VBA WORD командою Сервис-Макрос- Редактор Visual Basic;

    2. Розробіть форму за наведеним на рис. 2.16. зразком:

    • два написи (один напис для позначення значення Х, один напис для позначення значення Y);

    • два текстових поля (одне поле для введення значення X,одне поле для виведення результату обчислення значення Y);

    • дві командні кнопки (одна кнопка для виконання обчислень, друга кнопка для завершення роботи програми).

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

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

    Рисунок 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.18.

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

    Рисунок 2.19.

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

    1. Розробіть схему алгоритму з використанням текстового редактору MS WORD.

    2. Увійдіть в середовище VBA WORD командою Сервис-Макрос- Редактор Visual Basic;

    3. Розробіть форму з назвою Алгоритм циклічної структури, в якій будуть такі об'єкти:

    • 4 написи Label1 – Label4 (один напис для позначення початкового значення лічильника, один напис для позначення кінцевого значення лічильника, наступний напис — для кроку зміни лічильника і один напис для позначення функції;

    • 4 текстових поля. TextBox1 — TextBox3 для введення даних (одне поле для введення початкового значення лічильника, друге поле для введення кінцевого значення лічильника,третє поле — для кроку). TextBox4 для виведення даних (значення функції при різних значеннях аргументу Х).

    • одна командна кнопка CommandButtonl, з якою пов'язана подія – клацання на цій кнопці, що запускає на виконання процедуру обчисленняфункції;

    • друга командна кнопка CommandButton2, щоб очистити поля від введених даних і результатів роботи для проведення розрахунків з іншими вхідними даними.

    • третя командна кнопка CommandButton3, для завершення роботи програми.

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

  • Для всіх написів задайте значення (властивість Caption), колір фону відповідно рис. 2.20.

  • Для текстових полів також задайте значення "пусто" (властивість Text).

  • Для текстового поля TextBox4 задайте для властивості MultiLine значення True і для властивості ScrollBars задайте значення 3-fm ScrollBarsBoth.

  • Для всіх кнопок задайте значення (властивість Caption), відповідно рис. 2.20.

  • Дотримайтесь вказаного на рис. 2.20. розташування об'єктів.

  • Двічі клацніть на командній кнопці CommandButton1 і у вікні редактора коду створіть код процедури для кожної з кнопок як на рис. 2.21.

    Рисунок 2.20.

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

    Рисунок 2.21.

    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?

  • Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]