Оператор виведення даних MsgBox

Лекція 4

ОСНОВИ СИСТЕМИ ПРОГРАМУВАННЯ VISUAL BASIC

4.1. ЕЛЕМЕНТИ СИСТЕМИ ПРОГРАМУВАННЯ VISUAL BASIC

СИМВОЛИ МОВИ

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

Цифри: 0, 1, …, 9

Символи операцій відносин

= Дорівнює
> Більше
< Менше
>= Більше або дорівнює
<= Менше або дорівнює
<>, >< Не дорівнює

Символи арифметичних операцій

+ Плюс
- Мінус
* Множення
/ Ділення
\ Цілочислове ділення
^ Піднесення до степеню

 

Службові символи (роздільні знаки): () ‘ “ ; : ., ? !

Спеціальні символи: # @ $ & %

1.2. СЛОВА

ЧИСЛА. Десяткова кома при введенні чисел замінюється десятковою крапкою. Використовується показовий (експоненціальна) запис чисел:

123·105 123E5
-15,78·10-8 -15.78E-8
0,00007 7E-5
109 1E9

ЗМІННА

Змінна – іменоване місце в пам'яті комп'ютера, яке має ім'я (ідентифікатор) та значення.

Ідентифікатор – це послідовність букв, цифр та спеціальних символів (!. $, @, %, &), що починається з букви. Довжина ідентифікатора 20 символів. Ім'я не повинно вміщувати крапку, співпадати з ключовим словом Visual Basіс, повинно бути унікальним в межах області видимості.

Інколи необхідно зберігати деякі значення під час виконання програми. Для цього змінні різних типів оголошуються за допомогою оператора об'яви змінних.

Формат:

Повний синтаксис оголошення змінних:

Public / Private / Dim <ім'я змінної> [As <ім'я типу>]

У квадратні дужки узята необов'язкова частина команди. Знак / замінює слово "або".

Перше ключове слово визначає область видимості змінної:

Public– глобальне (відкрите), доступне всьому додатку;

Private– доступна на рівні модуля форми;

Dim – змінна доступна на рівні модуля форми або тієї процедури, де була об'явлена.

Область визначення змінних

Дуже важливою характеристикою змінних є область їх визначення. В Visual Basic є три види областей визначення, які характеризують доступність змінної.

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

Змінні контейнера визначаються в секції (General) (Declarations) і доступні тільки всередині відповідного контейнера (форми, модуля або класу).

Глобальні змінні визначаються в секції (General) (Declarations) модуля. При цьому замість оператора Dim використовується зарезервоване слово Public. Глобальні змінні доступні у всіх модулях і процедурах проекту. При запобіганні помилок в програмі і для підвищення її ефективності всі змінні, що використовуються в програмі, повинні бути оголошені із зазначенням типу даних (табл. 2). При оголошенні змінних їм відводиться місце в пам'яті, визначається спосіб зберігання. Тип змінної також може бути визначений за допомогою суфікса.

Типи даних

 

Таблиця 1. Типи даних Visual Basic

Тип даних Розмір Діапазон значень Префікс Символ
Byte (коротке додатне число) 1 байта Від 0 до 255 Byt  
Integer (Ціле) 2 байта Від -32 768 до 32 767 Int %
Long Integer (Довге ціле) 4 байта Від -2147483648 до 2147483647 Lng &
Single-precision Floating point (Одинарної точності з плаваючою десятковою крапкою) 4 байта Від -3.402823 Е 38 до 3.402823 Е 38 Sng І
Double precision Floating point (Подвійної точності з плаваючою десятковою крапкою) 8 байт Від 1.797693134862320Е308 до 1.797693134862320Е308 Dbl #
Currency (Грошові одиниці) 8 байт Від-922337203685477.5808 до 922337203685477.5807 Cur @
String (рядок) 1 байт на символ Від 0 до 65 535 символів Str $
Boolean True False Bln  
Date (Дата) 16 байт Від 1.01. 100 до 31. 12.999 Dtm  
Variant (Варіант) (для чисел) 22 байта + 1 байт на символ Для всіх типів даних (встановлюється по замовчуванню в операторах описання) Vnt(var)  

Таблиця 2. Приклади оголошення змінних

Тип даних За допомогою типа даних За допомогою суфікса
Ціле Dim x AS Integer Dim x %
Дійсне одинарної точності Dim x As Single Dim x!
Дійсне подвійної точності з плаваючою десятковою комою Dim x AS Double Dim x #
Варіант Dim x  

Зауваження! Змінну можна оголосити без використання оператора Dim (неявний опис) за допомогою оператора присвоювання: х =- 5.6; у="Іванов".

 

Якщо в подальшому ім'я змінної буде введено невірно, то Visual Basic не виявить помилки.

Приклад. Виконаємо процедуру, замінюючи в ній опис даних.

1) Dim x AS Double, у AS Double ' Дійсне подвійної точності з плаваючою десятковою комою

х=1.78631598770806 у=1.959426478990327

2) Dim x!, у! ' Одинарної точності з плаваючою десятковою комою

x= 1.786316 у= 1.959427

3) Dim x@, у@ ' Грошові одиниці

х=1.79 у=1.96

4) Dim x AS Integer , у AS Integer ' Тип даних ціле

х=2 у=2

 

КОНСТАНТИ: ЗМІННІ, ЯКІ НЕ ЗМІНЮЮТЬСЯ

 

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

Повний синтаксис оголошення:

Public/ Private I Const < ім'я > [ AS < ім'я типу > | = < значення >

Приклад.

Const Pi=3.14159

Щоб константа була доступна всім процедурам програми, необхідно створити її в стандартному модулі, записавши ключове слово Public перед описанням константи.

Приклад.

Public Const As Single Pi=3.142

 

ФУНКЦІЇ VISUAL BASIC

 

Стандартні типи функцій

 

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

Стандартними стосовно Visual Basic 6.0 називаються такі функції, обчислення яких є складовими компонентами системи Visual Basic.

По призначенню вбудовані функції поєднуються в наступні групи:

• фінансово-математичні функції;

• функції перетворення типу;

• математичні функції;

• функції статусу;

• функції обробки рядків;

• функції дати та часу;

• функції для роботи з масивами;

• функції для роботи з файлами.

Математичні функції

В мові Visual Basic для вирішення різних математичних задач існують вбудовані функції, які залежать від одного аргументу та які можна використовувати безпосередньо при обчисленнях будь-яких виразів (табл. 3).

 

Таблиця 3. Перелік основних математичних функцій

Математичний запис Запис на мові Visual Basic Призначення
|х| Abs(x) Модуль
arctg x Atn(x) Арктангенс
cos x Cos(x) Косинус
sin x Sin(x) Сінус
tg x Tan(x) Тангенс
ex Exp(x) Експонента
ln x Log (x) Натуральний логарифм
Sqr(x) Квадратний корінь

 

Звертаємо увагу, що всі тригонометричні функції використовують аргумент, який виражений в радіанах. Щоб перейти від градусів до радіан використовуємо формулу: рад= /180.

 

Таблиця 4.Математичні функції, які можуть бути отримані із вбудованих математичних функцій Visual Basic

Математичний запис Запис на visual basic Пояснення
sec x 1/Cos(x) Функція секанса, аргумент в радіанах
cosec x 1/Sin(x) Функція косеканса, аргумент в радіанах
ctg x 1/Tan(x) Функція котангенса, аргумент в радіанах
arcsinx Atn(x/Sqr(l-x^2)) Функція арксинуса, аргумент в радіанах
arccosx Atn(Sqr(l-x^2)/x) Функція арккосинуса, аргумент в радіанах
log a x Log(x) / Log(a) Логарифм за основою а
lgx Log(x) / Log(10) Функція десяткового логарифму

 

Рядкові функції

Функції обробки рядків Visual Basic наведені в табл.5. Вони служать для виконання операцій з рядками.

Таблиця 5.Функції обробки рядків

Ім'я функції, параметри Повертаєме значення
Asc (Рядковий вираз) Повертає ASCII-код першого символа в рядковому виразі
Chr (Код символа) Повертає символ, відповідний вказаному ASCII-коду
Instr (Початкова позиція, рядковий ви-раз_1, рядковий вираз_2) Повертає номер позиції першого виявлення рядка 2 в рядку 1. Початкова позиція встановлює позицію рядка, з якої починається пошук (якщо параметр опущено, то пошук починається з позиції першого символа)
Lcase (Pядкoвий вираз) Повертає рядок подібний рядку параметра, але складений із рядкових літер
Left (Рядковий вираз, Кількість символів) Повертає рядок, вилучений із рядка-параметра, починаючи із початку рядка та який містить задану кількість символів
Len (Рядковий вираз/Ім'я змінної) Повертає кількість символів в рядку або кількість байтів, необхідних для збереження змінної
LTrim (Строковий вираз) Вилучає початкові пробіли з рядка-параметра
Mid (Рядковий вираз, Початкове значення [Довжина]) Повертає рядок частку рядка (підрядок), який містить кількість символів, равноє значенню параметра Довжина, починаючи від символа із позиції Початкове значення
Right (Рядковий вираз, Довжина) Повертає рядок із вказаним в параметрі Довжина кількістю символів, починаючи від кінця рядка, який задан в параметрі Рядковий вираз
RTrim (Рядковий вираз) Повертає рядок, ідентичний рядку-параметра, але з вилученими кінцевими пробілами
Space (Довжина) Повертає рядок пробілів вказанної довжини
Str (Числовий Вираз) Повертає рядкове представлення числа
Val (Рядковий вираз) Переводить рядкове представлення числа в число

 

& – об'єднання рядків

 

Функції дати та часу

До даних типу дата/час можна застосовувати операції додавання і віднімання. Наприклад, результатом обчислення виразу Date-1 буде вчорашня дата.

До даних типу Date можуть застосовуватися ряд вмонтованих функцій, частину з яких подано у табл. 6.

Таблиця 6.Деякіфункції для роботи з датами

Функція Призначення
Now Поточні дата і час у комп'ютері
Date Поточна дата у комп'ютері
Year (дата) Рік в аргументі "дата"
Month (дата) Місяць в аргументі "дата"
Day (дата) День в аргументі дата
WeekDay (дата) Номер для тижня в аргументі "дата" (неділі відповідає 1, а суботі – 7)
DateAdd (інтервал, кількість, дата) Нова дата, отримана додаванням до заданої дати кількості інтервалів часу
DateDiff (інтервал, дата1, дата2) Кількість інтервалів часу між першою і другою датами

 

 

Примітка! У функціях DateAdd і DateDiff інтервал часу задається рядковим виразом і може набувати значень, наведених у табл. 7.

 

 

Таблиця 7.Припустимі значення аргументу «Інтервал»

Значення Опис Значення Опис
yyyy Рік w День тижня
q Квартал ww Тиждень
m Місяць h Години
y День року n Хвилини
d День місяця s Секунди

 

 

Наприклад, за допомогою функції DateAdd ("m", 3, Date) можна визначити дату через три місяці, а за допомогою функції DateDiff ("ww", #l,01.2001#, Date) – скільки тижнів пройшло з початку третього тисячоліття.

 

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

 


Таблиця 8.Функції перетворення типів

Функція Тип результату Функція Тип результату
СВооl (х) Boolean CInt (x) Integer
CByte (x) Byte CLng(x) Long
CCur (x) Currency CSng(x) Single
CDate (x) Date CVar(x) Variant
CDbl (x) Double CStr(x) String

 

 

Таблиця 9.Деякі інші функції Visual Basic

Функция Призначення Пояснення
Fix(x) Повертають цілу частину числа, відрізняються за засобом округлення від'ємних чисел Повертає найближче ціле число, Х
Int(x) Повертає найближче ціле число, Х
Rnd(x) Функція випадкових чисел, що генерує послідовність випадкових чисел в інтервалі (0,1) При однакових початкових значеннях генерується одна і та сама послідовність чисел. Щоб отримати при кожному новому запуску програми іншу послідовність, можна використовувати оператор Randomize
Round(x,[a]) Повертає число, закруглене до заданого числа десяткових знаків х – Обов'язковий. Число (вираз), яке заокруглюється, а -Необов'язковий. Кількість знаків після коми. Якщо параметр відсутній, функція повертає цілочислове значення.
Sgn(x) Повертає знак числа -1, х<0, 0, х=0, 1, х>0
Str(x) Перетворює числове значення в рядок При перетворенні додатних чисел перед першою цифрою розміщується пропуск, перед від'ємними аргументами – символ "мінус"
Val(x) Перетворює рядок в числове значення х – рядок, який необхідно перетворити в число. Функція повертає значення типу Double.

 

Дамо додаткове пояснення до функції Rnd(x). Аргументом х при зверненні до функції Rnd(x) може бути довільне число. Для одержання довільного цілого числа в діапазоні [А, В] можна скористатись формулою Int((B-A+l)*Rnd(x))+A.

Тобто, для одержання цілого числа в діапазоні [0, 9] можна використати формулу Int(10*Rnd(x)).

Аргумент x можна опустити, тобто записати як Int(10*Rnd).

 

АРИФМЕТИЧНІ ВИРАЗИ

 

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

Встановлено наступний пріоритет операцій:

1. вираз в дужках ( );

2. обчислення функцій;

3. піднесення до степеню (^);

4. присвоєння числу від'ємних значень;

5. множення та ділення (*, / );

6. ціле від ділення ( \ );

7. залишок від ділення (Mod);

8. додавання та віднімання (+,-);

9. зчеплення рядків (&).

Приклади друку виразів наведено у табл. 10.

 

Таблиця 10.Приклади друку виразів

Математичний запис Запис на visual basic
(a-b)/(a+b)
(Abs(Al-Be)^(1/3)+ (Atn(X^2))^3)/ (Sqr(X-Y)+10.5E2*A)
sin2x3+l,5-25y ln|x-y| (Sin(x ^ 3))^2+1.5-2^5*у) / Log ( Abs ( x - у))

 

 

ЛОГІЧНІ ВИРАЗИ

 

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

В Visual Basic існують наступні логічні операції:

Not – заперечення ,()

And – кон'юнкція (логічне множення), (v)

Or – диз'юнкція (логічне додавання), ()

Хоr – виключення ("строга" диз'юнкція),( )

Еог – еквіваленція, А ó В

Imp – імплікація, АВ

Логічні вирази, в яких відсутні знаки логічних операцій, називаються простими, а логічні вирази, в яких вони присутні, називаються складними. Результатом логічного виразу є два значення: True (Істина) – 1, або False (Хибність) – 0.

Результати логічних операцій наведено у таблиці 11.

Таблиця 11.Результати логічних операцій

Значення операндів Результати операцій
x y Not x х And y у x Оr y у х Xоr у х Еоr у x Jrnp у

 

Пріоритет виконання дій в логічних виразах:

1) обчислюються арифметичні вирази (якщо вони є);

2) виконуються операції відношень;

3) виконуються логічні операції в послідовності:

· Not

· And

· Or, Xor

· Imp

· Eor

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

Таблиця 12. Приклади друку логічних виразів

Математичне визначення Логічний вираз на Visual Basic
x Є [a,b] x >= a and x <= b
x Є (,a] x Є [ b, ] x <= a Or x >= b
y+x v x2 –y x+y >B y+x And х^2-у Or x+y > b

 

Приклад. Обчислити значення логічного виразу

(x > y) V х-у >2 х-0,5<4, де х=1,5; у=0,6.

Логічний вираз на Visual Basic записується так:

Not(x>y)And х-у>2 Or х- 0.5<4

Послідовність дій:

1) х > у True (1):

2) х-у = 1,5 - 0,6 = 0,9 => 0,9 >2 False (0);

3) х-0,5= 1,5-0.5=1 => 1 <4 True(1);

4) Not (True) False (0);

5) False (0) And False (0) = False (0);

6) False (0) Or True (1) = True (1).

Відповідь: в результаті виконання логічного виразу одержали значення True (1).

Логічні вирази застосовуються в операторах циклів While-Wend, Do-Loop та конструкціях if, Elseif та Select Case.

 

 

4.2. РОБОТА У ВІКНІ КОДУ

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

Всі процедури обробки події в Visual Basic реалізуються у вікні коду (рис.1 ). Для відображення цього вікна необхідно виконати наступні дії:

1. Відкрити нову форму Visual Basic .

2. На панелі інструментів Стандартная натиснути кнопку Исследователь программы.

У вікні, що з'явиться, натиснути кнопку Просмотреть код. Відкриється вікно Проект1-Форма1 (Код) (рис.1).

 

 

Рисунок 1.Вікно коду

 

Блок коду, що зв'язаний з об'єктом інтерфейсу, називається процедурою події Visual Basic. Це дозволяє також відкривати вікно коду подвійним клацанням на елементі управління у формі. У верхній частині вікна є два списки вибору об'єкту (Общее) та події (Описание), на які буде реагувати програма. Обравши ім'я об'єкту та ім'я коду події, у вікні змісту одержимо "заготовку", яка складається з дужок операторів – об'яви процедури та кінця процедури. Ім'я процедури створюється з імені об'єкта та назви події. Між ними потрібно вписати команди обробки події.

Приклад. Після вибору об'єкта Комманда1 та події Click, відкриється вікно коду процедури Private Sub Комманда1_Click (рис. 1). Тіло процедури (програми) записується між заголовком і оператором End Sub.

Програма – це реалізація алгоритму в системі Visual Basic 6.0. Код програми – це послідовність команд (операторів). Команди містять ключові слова й параметри Visual Basic.

Основною структурною одиницею програми є рядок. В одному рядку може бути записано декілька команд. При цьому команди розділяються символом (:). Інколи команда доволі довга і не входить в один рядок. В цьому випадку використовується символ переносу рядка (_). Символу переносу рядка повинен передувати пропуск.

 

Зауваження! Не дозволяється розбивати переносом рядкові константи. У програмі використовуються коментарі, які пояснюють дії команд. Коментар – це довільний текст після знаку апострофа.

 

Редактор коду відслідковує зміст введеного тексту і надає допомогу: виділяє кольором ключові слова, автоматично вставляє потрібні пропуски і прописні літери.

Редактор виділить кольором і видасть повідомлення при намаганні перейти до наступного рядка, якщо поточний рядок вміщує помилки.

Якщо ввести ім'я керуючого елемента і рядом поставити крапку, то випливає список властивостей і методів елемента для вибору. Використання списку суттєво полегшує роботу. Вибір можна завершити натисканням клавіші Enter. При цьому обране слово додається до тексту, курсор переміщується на наступний рядок або Ctrl+Enter, тоді курсор залишається в тому ж рядку.

Виділені фрагменти тексту можна переносити і копіювати. Доступні всі операції з буфером обміну, вставка тексту з файлу і інші команди меню Правка. Можлива настройка редактора в діалозі Options на вкладці Editor меню Tool.

Після запуску процедури на виконання (кнопка Начать на панелі Стандартная) отримаємо результати.

Вихід з програми.Оператор End негайно закриває додаток. Після оператору End не виконується жоден код і не відбувається жодна подія.

 

Структура процедури VISUAL BASIC

 

Private Sub Form_<Подія> ([Аргументи])

Оператор 1

Оператор 2

……..

Оператор n

End Sub

Програмний оператор являє собою особливу інструкцію, яка сприймається компілятором Visual Basic.

 

3. ЗАСОБИ ВВЕДЕННЯ І ВИВЕДЕННЯ ДАНИХ У VISUAL BASIC

 

Рядок з кодом в програмі Visual Basic називається програмним оператором.

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

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

 

Оператор присвоювання

Синтаксис: Х=А,

де X – ім’я змінної;

A – арифметичний вираз.

= – операція присвоювання

Запис X=X+2 суперечливий з точки зору математики, в інформатиці означає, що нове значення змінної на 2 більше попереднього. Попереднє значення записується в правій частині.

Приклади друку операторів присвоювання наведено в таблиці 13.

 

Таблиця 13.Приклади друку операторів присвоювання

Математичний запис Запис на Visual Basic
Y=3*(Atn(x^2)+Cos(x)^3)/abs(x-a)^(1/3)
a=(Sqr(x^2+y^2)-1.5E2*x)/(cos(x^3)^2+sin(y^3)^2)

 

Visual Basic дозволяє робити запис програмного коду компактнішої, записуючи декілька операторів на одному рядку. В цьому випадку між операторами повинен стояти знак : (двокрапка). Його називають роздільником.

Оператор вводу InputBox

Синтаксис:

InputBox (<повідомлення> ,[<заголовок>], [<значення>], [<х0, у0>]),

де <повідомлення> та <заголовок> – довільна послідовність символів в подвійних лапках ( ");

<повідомлення> - це текст повідомлення, яке відображається в діалоговому вікні;

<заголовок> - напис в рядку заголовка вікна введення;

<значення> – значення за замовчуванням змінної відповідного типу;

<x0,y0> – координати лівого верхнього кутка вікна вводу на екрані;

Якщо будь-який середній елемент оператора замовчується, ставляться коми.

Приклад.x = InputBox ( " x = " ,”Ввести”, , 4000, 400 )

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

 

Зауваження! При відсутності координат вікна, вікно розташовується в центрі екрану.

 

При виконанні оператора з'явиться вікно в поле вводу якого слід ввести значення змінної відповідного типу. Якщо в операторі InputBox таке значення стоїть за замовчуванням, натиснути ОК. Введене значення присвоюється змінній і управління буде передано наступному оператору (при натисканні Отмена (Cansel) дія відміняється).

Приклад.Цена = InputBox(“Введите цену товара”, “Товар”)

 

 

Рисунок 2. Вікно введення InputBox

 

Оператор виведення даних MsgBox

Синтаксис:

MsgBox (<список елементів виводу> [, Кнопки+Значки] [, Заголовок])

Елементами виводу можуть бути:

1. Довільна послідовність символів в подвійних лапках (у вікні оператора виведення без змін).

2. Функція Str(a) де а – аргумент.

Аргументом функції Str може бути: а) змінна; б) арифметичний вираз.

У випадку (а) в вікні оператора виводиться значення змінної. В випадку (б) обчислюється значення арифметичного виразу, яке виводиться у вікні оператора.

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

Кнопки + значки є сумою відповідних констант, які визначають вид повідомлення і піктограму в ньому (таблиця 14).

Заголовок визначає напис в рядку заголовка Вікна повідомлення.

Приклад. Вивести на екран значення змінної х та x+sinx.

Варіант 1. MsgBox ( " х = " +Str (х) + " " + "х+sin(х) =" + Str(x+Sin(х))

Варіант 2. MsgBox ( " х = " & Str (х) &" " & " х + 8іп(х) = " & Str ( х + Sin(х)))

Таблиця 14.Константи функції MsgBox

Константи Значення Опис
Категорія Кнопки
vbOKOnly Тільки кнопка «ОК»
vbOKCancel Кнопка «ОК» та «Отмена»
vbAbortRetryIgnore Кнопки «Стоп», «Повторить» та «Пропустить»
vbYesNoCancel Кнопки «Да», «Нет» та «Отмена»
vbYesNo Кнопки «Да» та «Нет»
vbRetryCancel Кнопки «Повторить» та «Отмена»
Категорія Значки
vbCritical Значок «Стоп»
vbQuestion Значок «Знак питання»
vbExclamation Значок «Знак оклику»
vbInformation Значок «Інформація»

 

Для того щоб у вікні повідомлень містилися, наприклад, кнопки «Так» і «Ні» і значок «Інформація», другий параметр потрібно задати в наступному вигляді: vbYesNo + vbInformation або 4 + 64.

Результатом роботи функції MsgBox є число, відповідне обраної кнопці у вікні повідомлень (таблиця 15).

Таблиця 15.Значення кнопок вікна повідомлень

Константи Значення Кнопка, що обрана
vbOK «ОК»
vbCancel «Отмена»
vbAbort «Стоп»
vbRetry «Повторить»
vbIgnore «Пропустить»
vbYes «Да»
vbNo «Нет»

Якщо вікно використовується тільки для виведення інформації і обрана кнопка не аналізується в коді програми, функцію MsgBox можна викликати як процедуру. У цьому випадку вона вказується в окремому рядку, а її фактичні параметри не укладаються в дужки.

Приклад.

MsgBox «Я студент группы АЗЭТ ЭП8-1», 64, «Информационное окно»

Даний оператор відображає вікно з заголовком «Информационное окно», текстом повідомлення «Я студент ...», значком «Інформація» і кнопкою «ОК» (рис. 3)

 

 

Рисунок 3. Вікно виводу MsgBox

 

Оператор виведення даних Print (функції ТаЬ, Spc, String$)

Синтаксис:

[Form n]. Print [ Список елементів виведення ],

де до списку елементів виведення можуть входити:

• константа;

• змінні (числові чи рядкові);

• вирази;

• послідовність символів у лапках;

• функції ТаЬ, Spc, String$.

Form n – виведення у форму з номером n.

Дія: Print – виведення результатів у форму.

Елементи списку виведення розділяються між собою комою (,) або крапкою з комою (;). В випадку розділення комою (,) наступна інформація друкується з нової зони (одна зона має 14 позицій). У випадку розділення крапкою з комою (;) наступна інформація друкується безпосередньо після попередньої.

Якщо елементом списку виведення є вираз, то Visual Basic спочатку обчислює значення виразу і друкує результат. Список елементів виведення може бути і відсутнім. В такому випадку оператори виводять пустий рядок.

Синтаксис функції ТаЬ:

ТаЬ(n),

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

За допомогою операторів Print виводяться результати обчислень у вигляді десяткового числа цілого або з фіксованою комою, якщо результати знаходяться в інтервалі (0.01; 999999). В інших випадках виводяться результати з плаваючою комою.

Синтаксис функції Spc:

Spc(n),

де n – кількість позицій, які пропускаються при виконанні оператора Print.

Синтаксис функції String$:

String(n," символ"),

де n – кількість символів, які додаються при виконанні оператора Print.

Оператор Print виводить інформацію тільки у форму.

Приклад. Обчислити та вивести інформацію за допомогою оператора Print.

,

де x=1.5; y=-5.

Для використання оператора Print (виведення результатів у форму) необхідно виконати наступні дії:

1. Відкрити новий проект.

2. За допомогою кнопки Command Button, яка знаходиться на панелі елементів General необхідно створити командну кнопку в формі. Для цього необхідно:

а) вибрати управляючий елемент Command Button (клацнути на кнопці);

б) клацнувши лівою кнопкою миші у формі і утримуючи її натиснутою, прокреслити в формі прямокутник;

в) відпустити кнопку миші.

У формі з’явиться командна кнопка з назвою за замовчуванням Команда 1.

3. Щоб змінити назву кнопки, необхідно відкрити вікно її властивостей. Можна клацнути кнопку правою мишкою і в контекстному меню обрати пункт Свойства, або, клацнувши кнопку лівою мишею, на панелі інструментів Стандартная натиснути кнопку Свойства. У вікні що виникне значення властивості Caption (Надпись) для командної кнопки Команда 1 і назву кнопки (властивість Name) замінимо на Пуск .

4. Необхідно задати певні властивості об'єкту Форма 1 (Form1). Для цього необхідно відкрити список перерахування об'єктів у верхній часті вікна Properties (Свойства) і клацнути по імені об'єкта Форма 1 (Form1). У вікні Properties (Свойства) з'являться властивості форми. Можна змінити назву форми (за бажанням) на більш конкретну (аналогічно до зміни назви командної кнопки).

5. Якщо виникне потреба змінити властивості шрифту в формі, слід у вікні Properties (Свойства) в списку по алфавіту обрати властивість Font, клацнути її, щоб відкрити вікно Вибір шрифту, і виконати необхідні зміни.

6. Обов'язково встановити для властивості Autoredraw значення Да (True).

7. Два рази клацнути по кнопці Пуск в формі. У вікні Код з'явиться заголовок процедури та його кінець:

Private Sub Пуск_Click()

 

End Sub.

8. Після заголовку процедури набрати текст (тіло програми).

9. Запустити програму на виконання, натиснувши кнопку Начать на панелі Стандартная.

10. У вікні Форма1 клацнути по командній кнопці Пуск. Ввести початкові значення х та z в вікні з повідомленням. Результат виконання процедури буде показаний у вікні форми (рис. 4).

Private Sub Пуск_Click()

Dim x!, y!, z!, p!

x = 1.5: y = -5

z = sqr(abs(x ^ 2 - y ^ 2)) / Tan(x)^2

p = ((y^2-x^2) ^ (1 / 3) + Log(Abs(x /y))) / Cos(z) ^ 2

Print "x="; x, "y="; y

Print

Print "z="; z, "p="; p

End Sub

Зверніть увагу, що виведення початкових даних та результатів обчислень z і p оператором Print здійснюється безпосередньо на форму

 

Рисунок 4. Вікно форми з результатами обчислень

 

11. Якщо повторно клацнути по командній кнопці Пуск, то і результат з’явиться повторно.

12. Для закінчення розрахунків необхідно клацнути по кнопці Конец на панелі інструментів.

13. Зберегти проект Сохранить(Save Project) або Сохранить как (Save As Project).

 

 

Приклад. Процедура з використанням операторів описання, вводу, виводу та присвоювання. Обчислити вираз

Y=x2+sinz+tg2(z+x), де x=3.4; z=5.6 .

1. Відкрити нову форму Visual Basic

2. На панелі інструментів Стандартная натиснути кнопку Исследователь Программы.

3. У вікні Программы – Проект 1 натиснути кнопку Просмотреть код.

4. Відкриється вікно Проект1 – Форма1 (Код).

Після вибору ім'я об’єкта Form та ім'я події Load, відкриється вікно коду процедури Form_ Load()

5. Тіло процедури (програми) записуємо між операторами Private Sub Form_Load() та End Sub.

Private Sub Form1_Load()

Dim x!, y!, z!

x=Val(InputBox(“x=”))

z=Val(InputBox(“x=”))

y=x^2+sin(z)+tan(z+x)^2

Print x, y, z

End sub

Рисунок 5.

6. Натиснути кнопку Начать на панелі Стандартная.

7. З'явиться вікно з повідомленням х=. В поле вводу ввести значення змінної – 3.4 і натиснути Okабо Enter.

8. З'явиться нове вікно з повідомленням z=. В поле вводу ввести значення змінної – 5.6 і натиснути Ok або Enter. З'являться результати обчислень:

х=3.4 z=5.6 у =11.13332.

 

Для введення і виведення інформації (початкових даних, коментарів, пояснень, результатів ) можна також використовувати такі елементи управління як TextBox, Label, ComboBox, ListBox, FlexGrid.

Об'єкт управління TextBox

Разом з оператором привласнення існує багато способів призначеного для користувача введення. Основним робочим інструментом для отримання інформації є об'єкт управління TextBox.

Об'єкт управління TextBox (текстове вікно) виконує дві функції – виведення інформації і отримання інформації від користувача. Використання текстового вікна здійснюється таким чином:

1. Вибрати об'єкт TextBox на панелі об'єктів управління.

2. Розмістити текстове вікно на екранній формі.

3. Дати ім'я текстовому вікну (змінити властивість Name); за умовчанням привласнюється ім'я Text1, Text2…

4. Змінити, на свій розсуд, інші властивості текстового вікна: колір фону (Backcolor), колір шрифту (Forecolor), тип шрифту (Font), положення тексту у вікні (Alignment) та ін.

Інформація, що вводиться або виводиться в текстове вікно при запуску програми, зберігається в полі властивості Text. Для звернення до значень полів використовується запис з крапкою:

Им’я_форми!Им’я_об’єкту_управління.Им’я_властивості

Приклад.

Для присвоювання змінної L значення властивості Text об'єкту Лекції необхідно використати наступний оператор:

L = Val(Лекції.Text).

Функція Val(x) перетворить значення змінної x з рядка символів в число.

Для виведення значення змінної S в текстове вікно Годинник на екранну форму необхідно використати наступний оператор:

Годинник.Text = S.

Об'єкт управління Label

Для ідентифікації вхідних даних (додавання пояснюють написів на форму) використовується об'єкт управління Label. Після того, як Ви створили текстові вікна, за допомогою яких користувач може вводити і виводити дані, необхідно розмістити на екрані інформацію, які дані потрібно вводити в кожне з вікон і які будуть виведені в тому чи іншому вікні. Найпростіший спосіб це зробити – розмістити у кожного вікна об'єкт управління Label. Мітка може містити опис даних, які вводяться.

Мітка в чому схожа на текстове вікно. Вона може містити літери, цифри, дати. Розміщення її на формі і встановлення її властивостей проводиться аналогічно виконання подібних операцій з TextBox. Принципова відмінність між міткою і текстовим вікном полягає в тому, що об'єкт управління Label користувач не може редагувати під час виконання програми. Крім того, мітка не має властивість Текст. Зате використовується властивість Caption (Напис), яке зберігає інформацію, яка виводиться в розміщуваної на екрані мітці.

 

Приклад. Використаємо елементи TextBox щоб створити інтерфейс додатка для обчислення накопичень на внески, блок-схема алгоритму якого було розглянуто раніше (Приклад 1).

1. Відкриємо нову форму.

2. Встановимо на ній 4 елементи TextBox . За замовчуванням VB дасть їм назви відповідно Текст1, Текст2, Текст3, Текст4. Погодимось з такими іменами, але очистимо поля елементів, підготувавши їх до введення даних. Для цього клацнемо правою мишкою на елементі Текст1 і в контекстному меню його клацнемо лівою мишкою пункт Свойства. Праворуч від форми або над нею з’явиться вікно Свойства–Текст1.

3. Виділимо властивість Text і видалимо слово «Текст1». Воно щезне і з поля елемента Текст 1. Якщо не закривати вікно Свойства –Текст1 і клацнути на елементі Текст2, то панель Свойства –Текст1 автоматично буде заміщена панеллю Свойства-Текст 2, навіть з виділеною властивістю Text. Очистимо її. Так само очистимо поля інших елементів TextBox.

4. Ліворуч від текстових вікон встановимо елементи Label (Мітка). Відкриємо панель Свойства елемента Метка1. Властивість Caption (Надпис) «Метка1» змінимо на «Внесок (грн.)». Клацнемо на елементі «Метка2». Панель Свойства-Метка1 заміститься панеллю Свойства-Метка2. Змінимо надпис (Caption) «Метка2» на «Термін (роки)». Так само змінимо надписи на інших мітках: «Метка3» на «Річний відсоток», а «Метка4» на «Накопичення (Грн.)».

 

Рисунок 6.

 

5. Ще відкриємо панель Свойства–Форма1 і замінимо надпис (Caption) «Форма1» на «Депозит». На цьому закінчуємо створення вигляду форми додатка.

6. Для програмування обираємо подію – перехід фокуса на елемент Текст4, з тим щоб після введення відповідних даних в поля Текст1, Текст2, Текст3 щигликом на елементі Текст4 ініціювати обчислення і вивід результату в поле Текст4.

Клацнемо кнопку Исследователь программы на панелі інструментів у вікні проекту. У вікні Программы – Проект1 натиснемо кнопку Просмотреть код. Відкриється вікно Проект1–Форма1(Код). Відкриємо список Общее і в ньому клацнемо Текст4. Відкриємо інший список Описание і клацнемо GotFocus.

У вікні Проект1–Форма1(Код) виникнуть рядки

Private Sub Текст4_GotFocus()

 

End Sub,

між якими записується код програми.

Private Sub Текст4_GotFocus()

Dim B!,T!,p!,S!

B=Val(Текст1.Text)

t= Val(Текст2.Text)

p= Val(Текст3.Text)

S=B*(1+p/100)^t

Текст4.Text=S

End Sub

Можна помітити що коди в тексті і на малюнку дещо різняться. Справа в тому, що оскільки властивість Text є головною для елемента TextBox, то для її використання досить вказати лише ім’я текстового вікна, що й було зроблено.

Результат виконання програми відображено на рис. 8.

 

Рисунок 8. Вікно додатку з результатом

 

КОНТРОЛЬНІ ЗАПИТАННЯ

1. Що таке змінна? Яким чином можна оголосити змінні?

2. Для чого використовуються ідентифікатори?

3. Чим константа відрізняється від змінної?

4. Які області визначення мають змінні?

5. Як можна визначити до якого типу даних відноситься змінна?

6. Що таке функція? Які з вбудованих функцій ви знаєте?

7. Що таке арифметичні вирази? Який пріоритет встановлено серед операцій?

8. з чого складається логічний вираз? Чим він відрізняється від арифметичного виразу?

9. Які логічні операції існують у Visual Basic?

10. Чи можна оголосити змінні без використання оператора Dim?

11. Яку структуру мають програми на мові Visual Basic?

12. Для чого існують коментарі?

13. Які оператори вводу-виводу ви знаєте? Які вони мають формати? Наведіть приклади.

14. За допомогою яких опереторів у Visual Basic будується таблиця?

15. Які оператори можна використовувати для присвоювання та обміну значеннями? Їх застосування та приклади.