Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Тема 41. Поняття операції та виразу. Основні правила побудови, обчислення та використання виразів. Присвоювання значень виразів змінним




Масиви

Тема 40. Типи даних. Масиви. Процедури і функції, їх структура. Виклик процедур і функцій в мові програмування Visual Basic

 

Поняття масиву перегукується з поняттям змінної. А змінні - це шматочки пам'яті, де зберігаються дані. Виходить, якщо ефективно використовувати змінні - ми ефективно використовуємо пам'ять. А якщо ми ефективно використовуємо пам'ять - то пам'яті для додатка потрібно менше і додаток працює швидше. Отже для того, щоб ці дані використовувати з максимальною ефективністю, і в той же час з легкістю, були придумані "масиви" (Arrays).

Масив - це сукупність однотипним змінних, об'єднаних одним ім'ям і доступних через це ім'я і порядковий номер змінної в цій сукупності. Кількість елементів масиву теоретично може бути нескінченним, обмеження накладаються конкретною мовою програмування й операційною системою. Елементи масиву мають безперервну нумерацію визначеного діапазону.

У програмуванні масиви використовуються досить часто. Наприклад, вам потрібно завантажити в програму багато значень одного типу та оперувати з ними (впорядковувати, сортувати, фільтрувати і т.д. Тут без масиву не обійтися!

У Visual Basic масиви визначаються в такий спосіб:

 

Dim myArray (10) As Long

 

Як видно, визначення масиву відрізняється від визначення звичайної змінної тільки індексом, зазначеним у дужках. Цей індекс вказує розмірність масиву. Масив складається з таких елементів myArray(0), myArray(1), myArray(2), myArray(3),...,myArray(10), myArray(11).Фактично елементи відрізняються лише індексом. У даному випадку масив myArray буде містити 11 елементів. Чому 11? Тому що нижня границя масиву починається з нуля. [0,1,2.....9,10]. Щоб задати визначену розмірність можна використовувати зарезервоване слово To:

 

Dim myArray (5 To 10) As Long

 

Тут визначається масив, який складається з 6 елементів (5,6,7,8,9,10).

Загальний синтаксис визначення масиву наступний:

Dim Им’яМасиву{НомПерш1 Тo НомОст1, НомПерш2 Тo НомОст2,) [As Типу]

 

Багатомірні масиви

 

Масиви можна робити багатомірними. Наприклад, оголосимо масив - таблицю поля шахівниці:

 

Dim chessTable (1 To 8, 1 To 8) As String

 

Цей масив являє собою таблицю у 8 рядків по горизонталі та 8 стовпців по вертикалі. Зобразимо його графічно за допомогою таблиці (або як кажуть – матриці).

 

1,1 1,2 1,3 1,4 1,4 1,5 1,6 1,7 1,8
2,1 2,2 2,3 2,4 2,4 2,5 2,6 2,7 2,8
3,1 3,2 3,3 1,4 3,4 3,5 3,6 3,7 3,8
4,1 4,2 4,3 1,4 4,4 4,5 4,6 4,7 4,8
5,1 5,2 5,3 1,4 5,4 5,5 5,6 5,7 5,8
6,1 6,2 6,3 1,4 6,4 6,5 6,6 6,7 6,8
7,1 7,2 7,3 1,4 7,4 7,5 7,6 7,7 7,8
8,1 8,2 8,3 1,4 8,4 8,5 8,6 8,7 8,8

 

Отже, масив визначений. Тепер необхідно довідатися - як же можна добратися до елементів цього масиву. До елементів масиву потрібно звертатися за індексом, наприклад, щоб змінити нульовий елемент масиву myArray потрібно написати:

myArray(0) = 1234

для інших, наприклад:

chessTable (2,3) = "Пішак"

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

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

For Лічильник_циклу = Старт To Стоп Step Крок
Група операторів
Next [Лічильник_циклу]

Роль лічильника циклу може грати тільки раніше оголошена змінна цілочислового типу. Крок задає збільшення лічильника циклу при кожному проході. За замовчуванням значення кроку дорівнює 1. Старт – це початкове значення лічильника, а Стоп – кінцеве значення. Після слова Next лічильник можна опустити.

Приклад:

У цьому прикладі всім елементам масиву iArray присвоюється значення 5:

Dim c As Integer
Dim iArray(10) As Integer
For c = 0 To 10
iArray(c) = 5
Next c

А тут підраховується сума чисел від 1 до 10:

Dim suma As Integer
Dim i As Integer
suma = 0
For i = 1 To 10
suma = suma + i
Next c

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

 

Прохід циклу Значення i Значення suma
     
     
     
     
     
     
     
     
     
     
     

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

Ця специфічна форма циклу For призначена для виконання деякої операції з кожним об'єктом, що входить до складу деякої колекції об'єктів (такою операцією, наприклад, може бути виклик методу або присвоювання значення властивості). Синтаксис оператора:

For Each ИмяОбъекта In ИмяКоллекции
Операції над об'єктами
Next ИмяОбъекта

В цьому прикладі показано, як змінити властивість BackColor у всіх написів (Label), що знаходяться на формі:

Dim x As Object
For Each x In Me.Controls
If TypeName(x) = "Label" Then
x.BackColor = 0
End If
Next x

Me тут - поточна форма. Тобто не обов'язково використовувати повне ім'я форми для доступу до її властивостей. Наприклад, для закриття поточної форми, можна написати Me.Hide. (або Unload Me).

Оператор циклу Do While...Loop (Do...Loop While)

Ці два різновиди циклу тісно взаємозалежні, і їх часто розглядають як один з базових видів циклу. Як вже відзначалося, цикли For застосовують у тих випадках, коли кількість проходів і діапазон зміни лічильника циклу заздалегідь відомі. Цикли While призначені для ситуацій, коли кількість проходів циклу заздалегідь не відомо, але відома умова виходу з циклу. Цикл працює, якщо Умова_виходу є істинною. Синтаксис циклу While:

1) Перший варіант
Do While Умова_виходу
Група операторів
Loop

 

2) Другий варіант
Do
Група операторів
Loop While Умова_виходу

Відмінність між ними полягає в тому, що умова виходу перевіряється в одному випадку на початку наступним проходом, а в іншому випадку - після виходу. Якщо в циклі опустити умову виходу або ця умова завжди виконується, то вийде нескінченний цикл. Якщо випадково вийшов такий цикл, то вийти з нього можна при натисканні Ctrl+Break. Але це працює тільки в середовищі розробки. Наприклад:

Do While 2 > 1
Print "Вічний цикл"
Loop

Приклад:
Dim n As Integer
n = 10
Do While n >= 0
n = n - 1
Print n
Loop

Розберемо роботу цього циклу детальніше. Змінна n набуває значення 10. Починається цикл Do While (виконуй поки умова істина), перевіряється умова n>=0. Оскільки 10>=0, то ми виконуємо оператори, що записані в циклі (n=10-1, тобто n=9, це значення друкується на формі. Оператор Loop повертає нас на початок циклу – на перевірку умови і т.д. Вихід з оператора циклу відбудеться, коли стане n<0, тобто коли n = -1. Спробуйте самостійно пройти весь шлях і переконатися в цьому.

Оператор циклу Do Until...Loop (Do...Loop Until)

По своїй логіці цикл Until подібний циклові While з тією лише різницею, що проходи циклу виконуються доти, поки умова виходу не стане істинною. Тобто коли n<11 (буде n = 10) цикл припинить свою роботу.
Приклад:
Dim n As Integer
n = 20
Do
n = n - 1
Print n
Loop Until n < 11

Вихід з циклу Exit For (Exit Do)

За допомогою операторів Exit... можна здійснити достроковий вихід з циклу незалежно від значення, що має в даний момент умова виходу.

Приклад:

Dim n As Integer
n = 10
Do While n > 1
n = n - 1
Print n
If n = 5 Then Exit Do ' Якщо лічильник = 5, то виходимо з циклу

Loop

 

 

 
 

 




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 1333; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.