- •Теоретична довідка Візуальне програмування для створення додатків vba
- •Об’єкт.Метод
- •Середовище редактора vb
- •Вікно редактора Visual Basic
- •Елементи панелі управління
- •Мова програмування Visual Basic
- •Математичні функції
- •Ітераційний цикл до
- •Процедура типу Function і процедура типу Sub
- •Арифметичний цикл для
- •Ітераційний цикл поки
Математичні функції
Позначення функції |
Дія |
|
В математиці |
В програмі VB |
|
|x| |
Abs(Х) |
Обчислює абсолютне значення виразу Х |
cosx |
Cos( Х ) |
Обчислює косинус кута Х, вираженого в радіанах |
sinx |
Sin( Х ) |
Обчислює синус кута Х, вираженого в радіанах |
tgx |
Tan( Х ) |
Обчислює тангенс кута Х, вираженого в радіанах |
ex |
Exp( Х ) |
Обчислює константу е в степені Х |
lnx |
Log (Х ) |
Обчислює логарифм виразу Х |
arctgx |
Atn(x) |
Обчислюэ кут, тангенс якого дорiвнюэ x |
Знак числа x |
Sgn( Х ) |
Повертає – 1 , якщо Х< 0; 0, якщо Х= 0; 1 , якщо Х > 0 |
|
Sqr( Х ) |
Обчислює квадратний корінь з виразу Х |
- |
Str( Х ) |
Перетворює числове значення Х на рядкову величину |
- |
Val( Х ) |
Перетворює рядкову величину Х на числове значення |
- |
Rnd( Х ) |
Генерує випадкове число між 0 та 1 |
Таблиця 3
Функції для роботи з рядковими величинами
Функція |
Дія |
Приклад |
Ucase |
Переводить усі символи рядка у верхній регістр |
Ucase ("Ivanenko") =IVANENKO |
Lease |
Переводить усі символи рядка в нижній регістр |
Lease ("Ivanenko") =ivanenko |
Len |
Визначає довжину рядка |
Len ("Ivanenko") = 8 |
Right |
Повертає задане число символів, починаючи від кінця рядка |
Right ("Ivanenko", 2) = “ko" |
Left |
Повертає задане число символів, починаючи від початку рядка |
Left ("Ivanenko", 4) = "Ivan" |
Mid |
Повертає задане число символів, починаючи від указаної позиції |
Mid ("Ivanenko", 2, 3) = "van" |
String |
Повторює вказаний символ установлену кількість разів |
String (4, "$") = $$$$ |
Asс |
Повертає ASCII-код для вказаного символу |
Asс(„R”) = 82 |
Chr |
Повертає символ для вказаного ASCII-коду |
Chr(114) = r |
Кожна змінна має тип. За замовчуванням всі дані мають тип Variant. Стандартні типи даних наведено у таблиці 4.
Таблиця 4
-
Тип змінної
Pозмір пам’яті, байти
Діапазон значень
Integer
2
-32768 … 3267
Long
4
-2147483648 … 2147483647
Single
4
-3.402823E38 … 3.402823E38
Double
8
-1.79769313486232E308…1.79769313486232E308
Currency
8
-922337203685477.5808…922337203685477.5808
Boolean
2
True або False
Date
8
01.01.100 … 31.12.319999
String
До 255 символів (1 байт на 1 символ)
Variant
не менше 16 байт
Використання змінної без попереднього оголошення є її неявним оголошенням. Якщо змінна має спеціальні кінцеві символи - суфікси, то тип визначається за суфіксом, в разі його відсутності, змінній буде надано тип Variant. Типи даних з відповідними суфіксами наведено у таблиці 5.
Таблиця 5
Суфікс |
Тип змінної |
Приклади |
% |
Integer |
x% |
& |
Long |
a& |
! |
Single |
b! |
# |
Double |
t# |
@ |
Currency |
Suma@ |
$ |
String |
Name$ |
Явне оголошення змінних здійснюється за допомогою ключових слів або з використання суфіксів.
Службові слова мають такий формат:
Dim ім’я_змінної [As тип_даних]- для оголошення локальної змінної – видимої тільки у цій процедурі, при виході з процедури її значення буде втрачено. Private ім’я_змінної [As тип_даних]- для оголошення локальної змінної - видимої у всіх процедурах одного модуля, до якого належать ці процедури, але опис такої змінної потрібно зробити у розділі Declarations. Static ім’я_змінної [As тип_даних]- для оголошення локальної змінної – видимої тільки у цій процедурі, але після виходу з цієї процедури її значення не втратиться.
Public ім’я_змінної [As тип_даних]- для оголошення глобальної змінної – видимої у всіх процедурах усіх модулів. Вона може бути оголошена у стандартному модулі.
У процедурах обробки подій об’єктів форми можуть оголошуватись тільки локальні змінні, а використовуватись можуть і глобальні змінні даного проекту.
Приклади: Dim Сost As Currency;
Public a, b, KrokZm As Single
Явне оголошення змінних з використання суфіксів наведено у таблиці 6.
Таблиця 6
Суфікс |
Тип змінної |
Приклади |
% |
Integer |
Dim x% |
& |
Long |
Public a& |
! |
Single |
Static b! |
# |
Double |
Private t# |
@ |
Currency |
Dim Suma@ |
$ |
String |
Public Name$ |
За допомогою одного оператора можна оголошувати декілька змінних одного типу, розділяючи їх комами.
5. Приклад лінійної програми (процедури), записаної мовою Visual Basic :
Private Sub Prog1
a@ = Val(Text2.Text)
b! = Val(Text4.Text)
c! = Val(Text3.Text)
d@ = a@ * (1 + b! / 100) ^ c!
Print d@
End Sub
У коді процедури використана стандартна функція Val, яка перетворює текст (символьний рядок) у текстовому вікні у числове значення.
6. При написанні програми можна використовувати коментарі для роз’яснення тексту програми. Коментар може міститись як окремим рядком так і у рядку команди після символа ‘.
Наприклад:
a@ = Val(Text2.Text) ‘ змінній а присвоєно числове значення
‘символьного рядка текстового поля Text2 форми
7. При перенесенні довгих команд у наступний рядок потрібно натиснути пропуск, а далі символ підкреслення. Наприклад:
d@ = a@ * (1 + b! / 100) _
^ c!
8. Приклад програми розгалуженої структури з використанням вказівки if - then:
Private Sub Prog2 ’Квадратне рівняння
Dim a, b, c, D, x1, x2 As Double
a = Val(InputBox("Введіть значення а", a))
b = Val(InputBox("Введіть значення b", b))
c = Val(InputBox("Введіть значення c", c))
D = b * b - 4 * a * c
If D < 0 Then print ("Розв'язків не існує")
If D >= 0 Then
MsgBox "Існує два розв."
x1 = (-b - Sqr(D)) / (2 * a)
x2 = (-b + Sqr(D)) / (2 * a)
Print "x1=", x1,, "x2=", x2
End If
End Sub
9. Приклад програми розгалуженої структури з використанням вказівки Select Case:
P
rivate
Sub Prog3
’Значення
функції
Dim Y As Variant, X As Double
X = Val(Text1.Text)
Select Case X
Case 0 To 1
Y = 5 * X
Case 1 To 10
Y = X + 10
Case Is > 10
Y = Sin(3 * X)
Case Else
Y = "Не визначена"
End Select
Print "X="; X; " Y="; Y
End Sub
10. Програмування циклічних обчислювальних процесів
