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