Математичні функції
В мові Visual Basic для вирішення різних математичних задач існують вбудовані функції, які залежать від одного аргументу та які можна використовувати безпосередньо при обчисленнях будь-яких виразів (табл. 6).
Таблиця 6. Перелік основних математичних функцій
Математичний
запис
| Запис на мові
Visual Basic
| Призначення
|
|х|
| Abs(x)
| Модуль
|
arctgx
| Atn(x)
| Арктангенс
|
cosx
| Cos(x)
| Косинус
|
sin x
| Sin(x)
| Сінус
|
tgx
| Tan(x)
| Тангенс
|
ex
| Exp(x)
| Експонента
|
lnx
| Log (x)
| Натуральний логарифм
|
| Sqr(x)
| Квадратний корінь
|
Звертаємо увагу, що всі тригонометричні функції використовують аргумент, який виражений в радіанах. Щоб перейти від градусів до радіан використовуємо формулу: αрад=α π/180.
Таблиця 7.Математичні функції, які можуть бути отримані із вбудованих математичних функцій Visual Basic
Математичний запис
| Запис на visual basic
| Пояснення
|
sec x
| 1/Cos(x)
| Функція секанса, аргумент в радіанах
|
cosec x
| 1/Sin(x)
| Функція косеканса, аргумент в радіанах
|
ctg x
| 1/Tan(x)
| Функція котангенса, аргумент в радіанах
|
arcsinx
| Atn(x/Sqr(l-xA2))
| Функція арксинуса, аргумент в радіанах
|
arccosx
| Atn(Sqr(l-xA2)/x)
| Функція арккосинуса, аргумент в радіанах
|
log a x
| Log(x) / Log(a)
| Логарифм за основою а
|
lgx
| Log(x)/Log(10)
| Функція десяткового логарифму
|
Функції обробки рядків Visual Basic наведені в табл.8. Вони служать для виконання операцій з рядками.
Таблиця 8.Функції обробки рядків
Ім'я функції,
параметри
| Повертаєме значення
|
Asc (Рядковий вираз)
| Повертає ASCII-код першого символа в рядковому виразі
|
Chr (Код символа)
| Повертає символ, відповідний вказаному ASCII-коду
|
Instr (Початкова позиція, рядковий ви-раз_1, рядковий вираз_2)
| Повертає номер позиції першого виявлення рядка 2 в рядку 1. Початкова позиція встановлює позицію рядка, з якої починається пошук (якщо параметр опущено, то пошук починається з позиції першого символа)
|
Lcase (Pядкoвий вираз)
| Повертає рядок подібний рядку параметра, але складений із рядкових літер
|
Left (Рядковий вираз, Кількість символів)
| Повертає рядок, вилучений із рядка-параметра, починаючи із початку рядка та який містить задану кількість символів
|
Len (Рядковий вираз/Ім'я змінної)
| Повертає кількість символів в рядку або кількість байтів, необхідних для збереження змінної
|
LTrim (Строковий вираз)
| Вилучає початкові пробіли з рядка-параметра
|
Mid (Рядковий вираз, Початкове значення [Довжина])
| Повертає рядок частку рядка (підрядок), який містить кількість символів, равноє значенню параметра Довжина, починаючи від символа із позиції Початкове значення
|
Right (Рядковий вираз, Довжина)
| Повертає рядок із вказаним в параметрі Довжина кількістю символів, починаючи від кінця рядка, який задан в параметрі Рядковий вираз
|
RTrim (Рядковий вираз)
| Повертає рядок, ідентичний рядку-параметра, але з вилученими кінцевими пробілами
|
Space (Довжина)
| Повертає рядок пробілів вказанної довжини
|
Str (Числовий Вираз)
| Повертає рядкове представлення числа
|
Val (Рядковий вираз)
| Переводить рядкове представлення числа в число
|
До даних типу дата/час можна застосовувати операції додавання і віднімання. Наприклад, результатом обчислення виразу Date-1 буде вчорашня дата.
До даних типу Date можуть застосовуватися ряд вмонтованих функцій, частину з яких подано у табл. 9.
Таблиця 9.Деякіфункції для роботи з датами
Функція
| Призначення
|
Now
| Поточні дата і час у комп'ютері
|
Date
| Поточна дата у комп'ютері
|
Year (дата)
| Рік в аргументі "дата"
|
Month (дата)
| Місяць в аргументі "дата"
|
Day (дата)
| День в аргументі дата
|
WeekDay (дата)
| Номер для тижня в аргументі "дата" (неділі відповідає 1, а суботі – 7)
|
DateAdd (інтервал, кількість, дата)
| Нова дата, отримана додаванням до заданої дати кількості інтервалів часу
|
DateDiff (інтервал, дата1, дата2)
| Кількість інтервалів часу між першою і другою датами
|
Примітка! У функціях DateAdd і DateDiff інтервал часу задається рядковим виразом і може набувати значень, наведених у табл. 10.
Таблиця 10.Припустимі значення аргументу «Інтервал»
Значення
| Опис
| Значення
| Опис
|
yyyy
| Рік
| w
| День тижня
|
q
| Квартал
| ww
| Тиждень
|
m
| Місяць
| h
| Години
|
y
| День року
| n
| Хвилини
|
d
| День місяця
| s
| Секунди
|
Наприклад, за допомогою функції DateAdd ("m", 3, Date) можна визначити дату через три місяці, а за допомогою функції DateDiff ("ww", #l,01.2001#, Date) – скільки тижнів пройшло з початку третього тисячоліття.
Значення текстового поля на формі має рядковий тип. Текстові поля використовуються для введення даних (зокрема, числових), що надалі можуть брати участь у ході виконання програми в різних обчисленнях. Щоб уникнути помилок обчислень, необхідно введені дані перетворити до числового типу. Для цього в VB є кілька функцій, поданих у табл. 11 (де х – вираз).
Таблиця 11.Функції перетворення типів
Функція
| Тип результату
| Функція
| Тип результату
|
СВоо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
|
Таблиця 12.Деякі інші функції 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).
3.6. АРИФМЕТИЧНІ ВИРАЗИ
Арифметичні вирази – це числа, змінні, функції з'єднані між собою знаками арифметичних операцій та (при необхідності) круглими дужками. Результатом арифметичного виразу є число. Всі операції з арифметичними виразами виконуються зліва направо з врахуванням пріоритету операцій та круглих дужок.
Встановлено наступний пріоритет операцій:
1. вираз в дужках ( );
2. піднесення до степеню (^);
3. присвоєння числу від'ємних значень;
4. множення та ділення (*, / );
5. ціле від ділення ( \ );
6. залишок від ділення (Mod);
7. додавання та віднімання (+,-).
Приклади друку виразів наведено у табл. 13.
Таблиця 13.Приклади друку виразів
Математичний запис
| Запис на 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 - у))
|
3.7 ЛОГІЧНІ ВИРАЗИ
Логічний вираз складається з констант, змінних, функцій, які з'єднані між собою знаками арифметичних операцій, знаками відношень та логічними операціями.
В Visual Basic існують наступні логічні операції:
Not – заперечення ,(⌐)
And – кон'юнкція (логічне множення), (v)
Or – диз'юнкція (логічне додавання), (Λ)
Хоr – виключення ("строга" диз'юнкція),( )
Еог – еквіваленція, А ó В
Imp – імплікація, А→В
Логічні вирази, в яких відсутні знаки логічних операцій, називаються простими, а логічні вирази, в яких вони присутні, називаються складними. Результатом логічного виразу є два значення: True (Істина) – 1, або False (Хибність) – 0.
Результати логічних операцій наведено у таблиці 14.
Таблиця 14.Результати логічних операцій
Значення операндів
| Результати операцій
|
x
| y
| Not x
| х And y у
| x Оr y у
| х Xоr у
| х Еоr у
| x Jrnp у
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пріоритет виконання дій в логічних виразах:
1) обчислюються арифметичні вирази (якщо вони є);
2) виконуються операції відношень;
3) виконуються логічні операції в послідовності:
· Not
· And
· Or, Xor
· Imp
· Eor
Для зміни ходу операцій застосовуються круглі дужки. Приклади логічних виразів приведемо в таблиці 15.
Таблиця 15. Приклади друку логічних виразів
Математичне визначення
| Логічний вираз на 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.
3.8. СТРУКТУРА ПРОЦЕДУРИ VISUAL BASIC
Private Sub Form_<Подія> ([Аргументи])
Оператор 1
Оператор 2
……..
Оператор n
End Sub
Програмний оператор являє собою особливу інструкцію, яка сприймається компілятором Visual Basic.
3.9. ОПЕРАТОРИ СИСТЕМИ ПРОГРАМУВАННЯ VISUAL BASIC