Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Кравчук / 1 семестр / Visual_Basic_6.0._Посiбник_2009

.pdf
Скачиваний:
60
Добавлен:
29.02.2016
Размер:
5.8 Mб
Скачать

2)Dim x As Double, y As Double

‘Дійсне подвійної точності із плаваючою десятковою крапкою x=1.78631598770806 y=1.959426478990327

3)Dim x!, y! ‘Одинарної точності із плаваючою десятковою крапкою x=1.786316 y=1.959427

 

 

 

Типи даних

 

Таблиця 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ТИП ДАНИХ

РОЗМІР

 

ДІАПАЗОН ЗНАЧЕНЬ

 

 

СУФІКС

Integer (ціле)

2 байта

 

 

Від –32768 до 32767

 

 

%

 

 

 

 

 

 

 

 

 

 

Long (довге ціле)

4 байта

 

 

Від – 2147483648

 

 

&

 

 

До

2147483647

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Single

 

 

 

 

 

 

 

 

 

(одинарноїточності

4 байта

 

 

Від

– 3.402823Е38

 

 

!

зплаваючоюдесят-

 

 

 

До

3.402823Е38

 

 

 

ковоюкрапкою)

 

 

 

 

 

 

 

 

 

Double

 

 

 

 

 

 

 

 

 

(подвійноїточності

8 байт

Від

– 1.79769313486232E0308

 

#

зплаваючоюдеся-

 

До

1.79769313486232E0308

 

 

тковоюкрапкою)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Currency

8 байт

Від -922337203685477.5808

 

@

(грошові одиниці)

 

До 922337203685477.5807

 

 

 

 

 

String

1 байт

 

 

 

Від 1

 

 

$

(рядок)

на символ

 

 

До 65400 символів

 

 

 

 

 

 

 

Date

 

 

 

Від 1.01.100

 

 

 

(дата)

 

 

 

До 31.12.9999

 

 

 

 

 

16 байт

 

 

 

 

 

 

 

 

Variant

(длячисел)

Для всіх типів даних (встановлюєть-

 

 

22 байта

ся по умовчанню в операторах опи-

 

 

(варіант)

+1 байт

 

 

 

 

 

сання)

 

 

 

 

 

на символ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(длярядків)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приклади оголошення змінних

 

Таблиця 5

 

 

 

 

 

 

 

 

 

 

 

 

ТИП ДАНИХ

 

ЗА ДОПОМОГОЮ

ЗА ДОПОМОГОЮ

 

 

 

ТИПА ДАНИХ

 

СУФІКСА

 

 

 

 

 

 

 

Ціле

 

 

Dim x AS Integer

 

Dim x %

 

Дійсне подвійної точності з пла-

 

Dim x AS Double

 

Dim x #

 

ваючою десятковою крапкою

 

 

 

 

 

 

 

 

 

 

 

Варіант

 

 

 

Dim x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

40

 

 

 

 

 

3.4. Константи

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

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

[ {Public | Private} ] Const < ім’я > [ As < ім’я типу > ] = < значення >

Приклад. Const Pi = 3.14159

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

Приклад. Public Const Pi As Double =3.14159265358979

3.5. Функції Visual Basic

 

 

 

 

Таблиця 6

 

 

 

Вбудовані математичні функції Visual Basic

 

 

 

 

 

 

 

 

 

 

 

 

МАТЕМА-

ЗАПИС НА

 

 

ТИЧНИЙ

VISUAL

ПОЯСНЕННЯ

 

ЗАПИС

BASIC

 

 

sin x

Sin(x)

Функція синуса, аргумент в радіанах

 

 

 

 

 

 

 

cos x

Cos(x)

Функція косинуса, аргумент в радіанах

 

 

 

 

 

 

 

tg x

Tan(x)

Функція тангенса, аргумент в радіанах

 

 

 

 

 

 

 

| x |

Abs(x)

Абсолютна величина аргументу x

 

 

 

 

 

 

 

arctg x

Atn(x)

Функція арктангенса, значення в радианах

 

 

 

 

 

 

 

ln x

Log(x)

Функція натурального логарифму

 

 

 

 

 

 

 

ex

Exp(x)

Експоненціальна функція

 

 

 

 

 

 

 

 

 

Sqr(x)

Функція квадратного кореня

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

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

рад 180

41

Таблиця 7

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

МАТЕМАТИЧНИЙ

ЗАПИС НА

ПОЯСНЕННЯ

 

ЗАПИС

VISUAL BASIC

 

 

 

 

sec x

 

1

 

 

 

Функція cеканса,

 

 

 

Cos(x)

аргумент в радіанах

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cosec x

 

1

 

 

 

Функція коcеканса,

 

 

 

Sin(x)

аргумент в радіанах

 

 

 

 

 

 

 

 

 

 

 

 

 

сtg x

 

1

 

 

 

Функція котангенса,

 

 

 

 

Tan(x)

аргумент в радіанах

 

 

 

 

 

 

 

 

 

 

 

 

arcsin x =

 

 

 

 

 

 

Функція арксинуса,

arctg

 

x

Atn(x/Sqr(1-x^2))

 

значення в радіанах

 

 

 

 

 

 

 

 

1 x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

аrccos x =

 

 

 

 

 

 

Функція арккосинуса,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 x2

 

Atn(Sqr(1-x^2)/x)

arctg

значення в радіанах

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

loga x

lnx

 

Log(x) / Log(a)

Логарифм по основі а

lna

 

 

 

 

 

 

 

 

 

 

 

lg x

ln x

 

Log(x) / Log(10)

Функція десяткового логарифму

ln10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблиця 8

Деякі інші функції Visual Basic

ФУНКЦІЯ

ПРИЗНАЧЕННЯ

ПОЯСНЕННЯ

 

 

 

Fix(x)

Повертають цілу частину

Повертає найближче ціле число,

X

 

числа, відрізняються за

 

 

Int(x)

способом округлення

Повертає найближче ціле число,

від’ємних чисел

X

 

 

 

 

 

При однакових початкових зна-

 

Функція випадкових чи-

ченнях генерується одна й та са-

 

ма послідовність чисел. Щоб

Rnd[(x)]

сел, що генерує послідов-

отримати при кожному новому

 

ність випадкових чисел в

запуску програми іншу послідо-

 

інтервалі (0,1)

 

вність, можна використовувати

 

 

 

 

оператор Randomize

 

 

 

 

 

 

 

42

 

ФУНКЦІЯ

ПРИЗНАЧЕННЯ

ПОЯСНЕННЯ

 

 

 

 

 

x – обов’язковий: число (вираз),

 

Повертає число, закруг-

яке (який) заокруглюється.

 

n – необов'язковий: кількість

Round(x [,n])

лене до заданого числа n

знаків після

коми. Якщо пара-

 

десяткових знаків

метр відсутній, функція повертає

 

 

 

 

цілочислове значення.

 

 

1, x 0

Sgn(x)

Повертає знак числа

Дорівнює

0, x 0

 

 

 

 

1, x 0

 

 

 

 

 

При перетворенні додатних чи-

 

Перетворює числове

сел перед першою цифрою роз-

Str(x)

міщується пропуск, перед

Значення в рядок

 

від’ємними аргументами – сим-

 

 

 

 

вол “мінус”

 

 

Перетворює рядок

x – рядок, який необхідно пере-

Val(x)

творити в число. Функція повер-

у числове значення

 

тає значення типу Double.

 

 

 

 

 

 

Дамо додаткове пояснення до функції Rnd(x). Аргументом x при зверненні до функції Rnd(x) може бути довільне число. Величина x визначає як Rnd генерує випадкове число. Для більшості випадків цей аргумент може не вказуватись. Для одержання довільного цілого числа в діапазоні [a, b] можна скористатись формулою:

Int((b-a+1)*Rnd)+a

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

3.6. Арифметичні вирази

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

Установлена наступнапершочерговість операцій (пріоритет убікзменшення):

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

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

3)присвоєння числу від’ємних значень;

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

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

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

7)додавання та віднімання ( +,- ). Приклади друку виразів наведено в таблиці 9.

43

Таблиця 9

Приклади друку виразів

МАТЕМАТИЧНИЙ

ЗАПИС НА VISUAL BASIC

ЗАПИС

 

 

 

 

 

 

 

 

a b

 

 

 

( a – b) / ( a + b )

 

 

 

 

 

 

 

a b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

arctg3x2

 

3

 

 

 

 

 

 

( Abs ( alpha – beta ) ^ ( 1 / 3 ) + Atn ( x ^ 2 ) ^ 3 ) / _

 

 

 

 

 

 

 

 

 

 

 

( Sqr ( x - y ) + 10.5E–2 * a )

 

 

 

 

 

 

 

 

10,5 10 2 a

 

 

 

x y

 

 

 

 

 

sin2 x3 1,5

25 y

( Sin ( x ^ 3 ) ^ 2 + 1.5 * 2 ^ 5 *y ) /Log ( Abs ( x –y ) )

 

 

 

 

 

 

ln

 

x y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.7. Логічні вирази

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

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

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

And – кон’юнкція ( , і, логічне множення, ∙);

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

Xor – виключення ( , “строга” диз’юнкція);

Eor – еквіваленція ( А В );

Imp – імплікація ( А В ).

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

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

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

 

 

 

Результати логічних операцій

 

Таблиця 10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Значення

 

 

Результати операцій

 

 

 

операндів

 

 

 

 

 

 

 

 

 

 

 

 

 

x

y

Not x

X And y

x Or y

x Xor y

 

x Eor y

x Imp y

 

 

 

 

 

 

 

 

 

 

 

1

1

0

1

1

0

 

1

1

 

 

 

 

 

 

 

 

 

 

 

1

0

0

0

1

1

 

0

0

 

 

 

 

 

 

 

 

 

 

 

0

1

1

0

1

1

 

0

1

 

 

 

 

 

 

 

 

 

 

 

0

0

1

0

0

0

 

1

1

 

 

 

 

 

 

 

 

 

 

 

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

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

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

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

44

Not

And

Or, Xor

Imp

Eor

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

Таблиця 11

Приклади логічних виразів

МАТЕМАТИЧНЕ

ЛОГІЧНИЙ ВИРАЗ НА VISUAL BASIC

ВИЗНАЧЕННЯ

 

x [a, b]

a<=x And x<=b

x ( ,a] x [b, )

x<=a Or b<=x

y+x x2–y x+y >b

y+x And x^2-y Or x+y >b

 

 

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

¬ (x>y) x-y>2 x–0,5<4 , де x=1,5; y=0,6.

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

Not(x>y) And x–y>2 Or x– 0.5<4

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

1)x > y True (-1);

2)x – y = 1,5 – 0,6 = 0,9 0,9 > 2 False (0);

3)x – 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. Структура процедури Visual Basic

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

Оператор 1

Оператор 2

. . .

Оператор n

End Sub

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

5. Оператори системи програмування Visual Basic

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

45

5.1. Функція вводу InputBox

Синтаксис :

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

Тут:

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

< x0, y0 > – координати лівого верхнього кутка вікна вводу на екрані; Якщо будь-який середній елемент оператора відсутній, ставляться коми. Повертає рядок символів (тип даних – String).

Приклад.

x = Val(InputBox("x = ", "Введення змінної", 15, 4000, 400))

При виконанні оператора з’явиться вікно (рис. 10). У полі вводу значення змінної знаходиться задане нами значення відповідного типу. Натиснути ОК. Введене значення присвоюється змінній й управління буде передано наступному оператору (при натисканні Cancel дія відміняється)

Заголовок

Поле повідомлення

Поле вводу значення змінної

Рис. 10

Приклад.

x = Val(InputBox("x="))

У даному прикладі відсутні: заголовок вікна вводу, значення змінної відповідного типу, координати лівого верхнього кутка вікна вводу на екрані (рис. 11). При відсутності координат вікна, вікно розташовується в центрі екрану.

В поле вводу ввести значення змінної та натиснути OK.

Рис. 11

5.2.Функції Format, Chr та оператори виведення

5.2.1.Функція Format

Функція Format форматує число, дату, час або рядок до вказаного формату. Застосування функції Format при форматуванні числових значень:

46

Синтаксис:

 

 

Format(<вираз>[,”формат”])

Основні елементи формату наведені в таблиці 12.

 

 

Таблиця 12

 

 

Основні елементи формату

 

 

 

Символ

Пояснення

п/п

 

 

1

0

У зображенні числа відображає й нуль, і цифру. Якщо в

 

 

цілій або дробовій частині числа недостатньо цифр, то

 

 

відображаються додатково ведучі та замикаючі нулі.

2

#

Відображає цифру або нічого. Тобто, якщо в цілій або

 

 

дробовій частинах числа більше ніж # цифр, то ведучі та

 

 

замикаючі нулі не відображаються.

3

.

Відокремлює цілу частину від дробової.

4

,

За бажанням відокремлює тисячі від одиниць, тисячі від

 

 

мільйонів і т.д. за допомогою пробілів

5

E-, E+,

Науковий формат (зображення числа у формі із плаваючою

 

e+, e-

крапкою). При цьому основа 10 замінюється відповідно Е

 

 

або е. При наявності у форматі Е- або е- перед показником

 

 

степеня друкується тільки знак – (мінус), а знак + (плюс) іг-

 

 

норується. Якщо в форматі маємо Е+ або е+, то перед показ-

 

 

никомстепенядрукується як –, так і+.

6

”рядок

Відображається послідовність символів без змін.

 

символів”

 

Зауваження. Різні формати у функції перераховуються через ; - крапка й кома. Якщо змінних (чисел) більше ніж форматів, то використовується формат повторно, починаючи з першого.

Приклад. Застосувати різні формати до змінної z= –123.46795934

Формат

Результат

z = Format(z, "##.0000")

–123.4680

z = Format(z, "0000.##")

–0123.48

z = Format(z, "0.#####e+")

–1.23468e+2

z = Format(z, "0.#####e-")

–1.23468e2

5.2.2. Функція Chr

Синтаксис:

Chr(n)

де n – ціле число від 0 до 255.

У результаті одержуємо символ, що відповідає вказаному ANSI – коду. За умовчанням у діапазоні від 0 до 31 ANSI – символ не відображається. Так:

Chr(10) – переведення каретки;

Chr(13) – початок рядка (вороття каретки);

47

Chr(9) – табуляція;

Chr(13) + Chr(10) – перехід на початок нового рядка - Enter .

5.2.3. Функція виведення даних MsgBox

Синтаксис:

MsgBox ( < рядковий вираз > )

Тут:

<рядковий вираз > - це:

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

2)функція Str(a), де a – змінна чи арифметичний вираз;

3)зчеплення 1) та 2) за допомогою оператора конкатенації рядків & або арифметичного оператора додавання +.

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

MsgBox (“x

=

“ + Str(x) + “

x + sin(x)

=

” + Str(x + Sin(x))) або

MsgBox (“x

=

“ & Str(x) & “

x + sin(x)

=

” & Str(x + Sin(x)))

5.2.4. Оператор виведення даних Print

(функції Tab, Spc, String)

Синтаксис:

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

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

константа;

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

вирази;

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

функції Tab, Spc, String$.

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

Елементи списку виведення розділяються між собою комою (,) або крап-

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

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

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

Tab(n) ,

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

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

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

Spc(n) ,

48

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

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

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

Приклад. Вивести у форму значення змінних x та y. Print Tab(10); “x=”; x; Spc(5); “y=”; y

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

Синтаксис:

<ім’я> = <вираз> ,

де <ім’я> - довільний допустимий ідентифікатор;

<вираз> — арифметичний чи логічний вираз;

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

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

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

МАТЕМАТИЧНИЙ ЗАПИС

ЗАПИС НА VISUAL BASIC

y 3

arctgx

2 cos3 x

y = 3 * (Atn(x ^ 2) + Cos(x) ^ 3 ) / _

 

 

 

 

 

 

 

 

 

 

 

 

 

Abs(x –alpha) ^ (1 / 3)

3

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1,5 102 x

 

a

 

x2 y2

 

a = (Sqr(x ^ 2 + y ^ 2) – 1.5 * 10 ^ 2 * x ) / _

 

 

 

 

 

 

 

(Cos(x ^ 3) ^ 2 + Sin(y ^ 3) ^ 2)

 

 

sin2 y3

 

 

cos2 x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приклади використання в процедурах операторів описання, вводу, виводу та присвоювання:

Приклад 1. Обчислити вираз

y x2 sin z tg2(z x),

де x 3,4;

z 5,6.

Виведення результатів здійснити за допомогою функції MsgBox.

Дії.

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

2)У вікні Project1–Form1 (Form) двічі клацнути по вільному місцю форми.

3)Відкриється вікно Project1 – Form1 (Code), у якому з’явиться заголовок про-

цедури та її кінець: Private Sub Form_Load() та End Sub.

4)Тіло процедури (програми) записати між цими операторними операторами дужками (рис. 11).

5)Натиснути кнопку <Start> на панелі Standard.

6)З’явиться вікно з повідомленням x= (рис. 12). У поле вводу ввести значення змінної 3.4 і натиснути ОК або Enter .

49