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

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

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

Рис. 11

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

Рис. 12

Рис. 13

8)Натискаємо ОК або Enter після появи кожного вікна проекту. Послідовно, одне за одним, з’являться початкові дані та результати розрахунків:

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

 

 

 

 

 

 

 

 

 

 

 

 

3

 

ln

 

x2 y2

 

 

 

 

z

x

2

y

2

; p

x 4

 

 

, де x 1,34 ;

y 5,86 .

 

 

 

 

 

 

 

 

 

 

tgx

 

 

cos2

 

 

 

 

 

 

 

 

 

z

 

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

Дії.

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

2)За допомогою кнопки <CommandButton> (Командна кнопка), яка знаходиться на панелі елементів (General), створити командну кнопку у формі

50

(рис. 14). У вікні Properties (Свойства, кнопка ) установити властивість Caption (Надпись) для командної кнопки (Command1) – Приклад (рис. 15).

Рис. 14

Рис. 15

3)Два рази клацнути по кнопці <Приклад> у формі. У вікні Code з’явиться за-

головок процедури та її кінець: Private Sub Command1_Click() та End Sub.

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

Рис. 16

5)Запустити програму на виконання, натиснувши кнопку <Start> на панелі Standard (Стандартна).У вікні Form1 клацнути по командній кнопці <Приклад>. Увести початкові значення x та y у вікна з повідомленням. Результат виконання процедури буде показаний у вікні форми (рис. 17).

Рис. 17

6) Для виходу з програми клацнути по кнопці <End> на панелі інструментів.

51

5.4.Оператори управління

Усистемі програмування Visual Basic оператори в тілі процедури виконуються послідовно один за одним. Для зміни такої послідовності використовуються оператори управління: умовний оператор й оператори циклу.

5.4.1.Умовний оператор If…Then…Else

Умовний оператор має дві структури: лінійну та блочну.

5.4.1.1. Лінійна структура оператора If… Then… Else

Синтаксис лінійної структури умовного оператора:

IF < логічний вираз > Then < оператори 1 > [ Else <оператори 2> ]

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

оператори 1 виконуються при значенні логічного виразу “істина”;

оператори 2 виконуються при значенні логічного виразу “хибність”. Зауваження 1. Оператором 2 знов може бути умовний оператор. Зауваження 2. Вираз у квадратних дужках [ ] може бути відсутній.

5.4.1.2. Блочна форма оператора If… Then… Else

Синтаксис блочної форми умовного оператора:

If < логічний вираз 1> Then < оператори 1 >

[ ElseIf < логічний вираз 2 > Then

< оператори 2 > ]

[ Else

< оператори N >]

End If

<оператори 1> - це довільна кількість операторів, що виконуються за умови: <логічний вираз 1> = True;

коли <логічний вираз 1> = False, < оператори 2 > виконуються за умови: <логічний вираз 2> = True;

якщо й <логічний вираз 2> = False, виконуються <оператори N>.

Приклад.ОбчислитиіззастосуваннямлінійноїтаблочноїструктуроператораIf:

 

 

x y

 

,

x y;

 

sinx 1,78

d

 

 

 

 

z

 

 

 

 

 

 

 

y

 

 

;

 

 

 

 

 

 

 

 

 

 

 

x y

 

,

x y;

3

 

 

 

1,7 c d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 2,45 cosd sinc;

c 3,26; d 1,25.

 

 

 

 

 

 

 

 

 

52

 

 

 

Застосування лінійної структури оператора If.

Рис. 16

Після запуску програми на виконання у вікні введення значень увести d = 1.25 і натиснути OK, а потім – с = 3.26 і натиснути OK. У вікні Project1 з’являються значення d та c, натискаємо OK. У наступному вікні Project1 з’являються значення x, y, та z.

Застосування блочної структури оператора If.

Рис. 17

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

53

6. МАСИВИ

Масив – упорядкований набір даних одного типу, кожен з яких має свій порядковий номер, що називається індексом. Розрізняють статичні та динамічні масиви.

При використанні масивів в Visual Basic нумерація масивів за умовчанням починається з нуля. У математиці елементи масивів нумеруються з одиниці. Оператор Option Base дозволяє задати індексацію масиву з 1.

Синтаксис:

Option Base {1|0}

Зауваження. Цей оператор повинен знаходитись в секції General - Declarations контейнеру (форми, модуля, класу). Допустимими значеннями Option Base для являються тільки 0 або 1.

6.1. Статичні масиви

Для оголошення масивів використовують оператор Dim.

Синтаксис:

Dim < ім’я > (n) As < тип >

Тут: < ім’я > – довільний ідентифікатор;

n–натуральнечисло,якевказуєнарозмірністьмасиву(maxкількістьелементів).

Приклад. Dim a(5) As Single – означає, що маємо 5 значень у масиві a = {a0, a1, a2, a3, a4} одинарної точності із плаваючою десятковою точкою.

Для встановлення інших границь масиву необхідно використати наступний синтаксис:

[ {Static | Public | Dim} ] < ім'я > ( < нижня границя > To < верхня границя >)

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

Синтаксис:

Dim < ім’я > (<нижня границя> To <верхня границя>, …,

<нижня границя> To <верхня границя>)

Приклад. Dim X(10 To 80, 1 To 25, 1956 To 2050) – задано тривимірний масив Х, де 10, 1, 1956 – нижні границі; 80, 25, 2050 – верхні границі.

6.2. Динамічні масиви

Інколи при оголошенні масиву його розмір невідомий. У такому випадку слід оголошувати динамічний масив, що дозволяє змінювати його розмір, або розмірність під час виконання програми.

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

Приклад. (General) (Declarations) Dim A( ) As Variant

Потім за допомогою оператора ReDim встановлюють фактичний розмір масиву. Синтаксис:

54

ReDim [ Preserve ] < ім’я > ( границі ) [ As тип даних ]

Оператор Redim використовується тільки в процедурах. Тип даних указувати необов’язково, особливо, коли тип уже визначений оператором Dim.

Приклад.

(General) (Declarations) Dim A( ) As Variant

Private Sub Command1_Click( ) ReDim A ( 50 , 10 )

Тіло процедури

End Sub

Не допускається оголошувати масив із даними одного типа, а потім використовувати ReDim для приведення до іншого типу, за виключенням випадку, коли масив містить змінні типу Variant.

При застосуванні оператора ReDim виникає небезпека втрати його вмісту, оскільки після зміни розмірності елементам масиву присвоюються значення за умовчанням. Щоб не було втрати вмісту, необхідно застосовувати Redim разом із ключовим словом Preserve.

Приклад.

(General) (Declarations) Dim A( ) As Variant

Private Sub Command1_Click( )

ReDim Preserve A ( 50 , 150 )

Тіло процедури

End Sub

Зауваження. При використанні ключового слова Preserve можна змінювати тільки верхню границю.

Приклад.

(General) (Declarations) Dim A( ) As Variant

Private Sub Command1_Click( ) ReDim A ( 10 To 20 )

ReDim Preserve A ( 10 To 25 ) Вірно ReDim Preserve A ( 15 To 25 ) Помилка

Тіло процедури

End Sub

55

6.3. Функція створення масиву Array

Призначення: функція створює новий масив типу Variant, який буде відразу заповнений зазначеними елементами. Для створення масиву іншого типу, його необхідно оголосити за допомогою оператора Dim.

Синтаксис

Array(<список елементів масиву>)

У списку елементи масиву типу Variant розділяються комами. При відсутності списку, створюється масив нульової довжини.

Зауваження. Зверніть увагу: нумерація елементів масиву починається з 0. Якщо хочете почати відлік з 1, використовуйте Option Base 1.

Приклад. Створити масив A з елементами 5, 7, 12. Змінній B присвоїти значення елемента масиву A, який стоїть на третьому місці.

Dim A, B ' нумерація елементів масиву починається з 0

A = Array (5, 7, 12)

B = A(2) ' у змінну B передається значення другого елемента масиву A Print B ' друкується 12

7. ОПЕРАТОРИ ЦИКЛУ

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

а) задати початкове та кінцеве значення параметра циклу – змінної, що змінюється при повтореннях циклу;

б) перевірити умову, яка забезпечує вихід із циклу при досягненні мети; в) указати крок зміни параметру циклу.

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

Цикл у програмі можна організувати за допомогою умовного оператора,

операторів циклу For … Next, While … Wend, Do … Loop.

7.1. Оператор циклу For … Next

Синтаксис

For x=x0 To xn [ Step dx ] < Група операторів >

[ If < умова > Then Exit For ] Next x

Тут: x – параметр циклу;

x0, xn, dx – арифметичні вирази, значення яких визначають: x0 – початкове значення параметра циклу;

xn – кінцеве значення параметра циклу;

dx – крок, з яким змінюється параметр циклу.

56

Якщо dx = 1, то Step dx не пишеться. Exit For використовується в разі необхідності дострокового виходу із циклу.

Дія оператора: При виконанні оператора циклу For…Next в першу чергу обчислюється і запам’ятовується початкове значення x0, кінцеве значення xn та крок зміни dx параметра циклу. Параметру циклу x присвоюється початкове значення x = x0. Далі перевіряється умова: чи не стало поточне значення параметра циклу x більше кінцевого значення xn. Якщо значення параметра циклу знаходиться в інтервалі між початковим та кінцевим значеннями, то виконуються оператори, що знаходяться між операторами For та Next (тіло циклу). Потім параметр циклу збільшується на величину dx. Дії повторюються до того часу, поки параметр циклу x не стане більшим за xn. У такому випадку управління передається на виконання оператора, що стоїть у програмі після оператора Next.

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

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

Дозволяється використання циклу в циклі (вкладених циклів). У цьому випадку внутрішній цикл повинен повністю знаходитися в тілі зовнішнього циклу.

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

p

 

 

 

 

 

 

ex

 

a

 

 

x

c sin d

;

 

 

cos y

 

;

 

 

 

 

 

17,89

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c cosd

 

arctg(a x)

 

,

a x

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

d 4,8 ;

c 1,854

 

 

a2 x

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

ln

 

 

 

 

a x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a)

x 1; 1,5 ;

2

;

...

5 ;

 

 

 

 

б)

x 1,5 ;

4,9 ;

8,36 ; 0,87

 

 

 

 

Виконання завдання (варіант а).

Величини початкового (x0 = 1), кінцевого (xn = 5) значень та кроку (dx = 0.5) визначаються із зазначеної послідовності зміни параметра х (варіант

(а)).

Для введення змінних d та c створюємо масив w (використовуємо функцію Array. Введення змінних x0, xn, dx здійснюємо в текстові області (Text1, Text2, Text3). Виведення результатів здійснюємо в текстову область (Text4).

57

Схема до варіанту (а)

 

 

Початок

 

 

 

Введення

 

d, c, x0, xn, dx

 

 

x=x0,xn,dx

 

 

a

17 ,89 x c sin

d

 

 

c cos d

 

 

a>x

+

 

 

 

 

 

y = ln a2 + x

y = arctg(a+x)

p

cos y

ex

 

 

Виведення

 

 

x, a, y, p

 

 

 

 

Кінець

 

 

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

2.У низу форми за допомогою кнопки створюємо дві командні кнопки.

3.Змінюємо стандартні назви командних кнопок на <Обчислити> та <Вихід>.

4.У формі за допомогою кнопки (Label) накреслюємо об’єкти Label1, Label2… Label5 та змінюємо в них властивість Caption (Label1 – Початкові дані; Label2 – x0 = ; Label3 – xn = ; Label4 – dx = ). Для Label5 цю власти-

вість змінимо під час виконання.

5.У формі за допомогою кнопки (TextBox) накреслюємо об’єкти Text1, Text2, Text3, Text4 та присвоюємо властивості Text значення – пусто (для всіх об’єктів). Для об’єкта Text4 встановлюємо значення True властивості

Multiline та значення 3-Both властивості ScrollBars.

6.Два рази клацнути по кнопці <Обчислити>. У вікні Project1–Form1(Code) з’явиться заголовок процедури Private Sub Command1_Click() та її кінець

58

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

7.Два рази клацнути по кнопці <Вихід>. У вікні Project1–Form1(Code) з’явиться заголовок процедури Private Sub Command2_Click() та її кінець End Sub. Після заголовку процедури набрати текст – End.

8.Запустити програму на виконання, натиснувши кнопку <Start> на панелі інструментів Standard.

9.З’явиться вікно форми Form1. Увести в текстові області початкові дані: x0 = 1, xn = 5 та dx = 0.5. Клацнути по командній кнопці <Обчислити>. Результат виконання процедури буде показаний у текстовій області вікна форми.

10.Для закінчення розрахунків необхідно клацнути у формі по кнопці <Вихід>. Повертаємось у вікно коду.

11.Зберегти форму (Save Form1), проект (Save Project).

59