Автор: Пользователь скрыл имя, 12 Февраля 2013 в 18:03, курсовая работа
Мета даної курсової роботи: на основі аналізу початкових даних (учбових документів, матеріально-технічної бази і дидактичного забезпечення дисципліни) і умов ознайомитися з організацією циклів засобами Visual Basic.
ВСТУП 3
Розділ І Теоретична і практична частина 5
1.1 Visual Basic 5
1.2 Використання конструкцій циклів у Visual Basic 6
1.3 Умовні вирази 7
1.4 Конструкція Іf...Then 8
1.5 Конструкція If…Then…Else. 9
1.6 Конструкція Select Case 12
1.7 Цикли із використанням конструкції For…Next 15
1.8 Цикл з використанням конструкції For Each…Next 16
1.9 Цикл з використанням конструкції Do…Loop 16
1.10 Команда Exit 19
Розділ ІІ Різновиди циклів 21
2.1 Різновиди циклів 21
2.2 Циклiчнi алгоритми 25
ВИСНОВКИ 29
ВИКОРИСТАНА ЛІТЕРАТУРА 31
Statements:Необов'язковий. Один або кілька операторів, наступних за Case, які запускаються, якщо testexpression відповідає будь пропозицією в expressionlist.
Elsestatements:Необов'язковий. Один або кілька операторів, наступних за Case Else, які виконуються, якщо testexpression не відповідає жодному з пропозицій в expressionlist всіх операторів Case.
End Select
Завершує визначення конструкції Select ... Case. [11]
Нотатки
Якщо testexpression відповідає будь-якому Case пропозиції expressionlist, оператори, наступні за інструкцією Case переводять до наступного оператору Case, Case Else або End Select. Потім управління передається оператору, наступному за оператором End Select. Якщо testexpression відповідає пропозиції expressionlist більш ніж в одній умові Case, виконаються тільки оператори, наступні за першим зіставленням. [5]
Оператор Case Else використовується для виконання elsestatements, якщо не знайдено жодного відповідності між testexpression і expressionlist в будь-якому з інших операторів Case. Рекомендується (хоча це не обов'язково) мати оператор Case Else в конструкції Select Case для обробки непередбачених значень testexpression. Якщо відсутній оператор Case, для якого пропозиція expressionlist зіставляється testexpression і відсутня Case Else, то управління буде передано наступному оператору End Select. [4]
У наступному прикладі використовується оператор Select Case для запису рядка, що відповідає значенню змінної number. Другий оператор Case містить значення, відповідне поточному значенню number, тому виконується оператор, що виводить рядок "Between 6 and 8, inclusive".
Приклад 4:
Конструкція For…Next виконує послідовність команд певну кількість разів. Таку конструкцію ще називають циклом з параметром, а команди, що виконують – тілом циклу.
Синтаксис конструкції For…Next такий:
For лічильник = позначення To позначення [Step крок]
Конструкції
Next [лічильник]
Лічильник визначає, скільки раз буде виконуватись тіло циклу. Параметр позначення вказує числове значення, яке привласнюється змінній-лічильнику перед першим проходом циклу. Цикл виконується доти, поки значення лічильника не перевищить кінцевого значення позначення, вказаного після ключового слова To. Після кожного проходу циклу значення лічильника змінюється на величину крок, вказану за необов’язковим ключовим словом Step. Якщо воно відсутнє, за умовчанням кроком циклу є одиниця. Ключове слово Next означає кінець тіла циклу і є обов’язковим. [3]
Цикл з використанням конструкції For Each…Next схожий на цикл For…Next, але використовується для обробки всіх елементів деякого набору. Його здебільшого використовують у тому випадку, коли кількість елементів, що обробляються, невідома.
Синтаксис конструкції For Each…Next:
For Each елемент In група
конструкції
Next елемент
При використані конструкції For Each…Next необхідно завжди мати на увазі, що для набору параметр елемент може бути тільки змінною типу Variant, загальною змінною типу Object або об’єктом, перерахованим в Object Browser. Для масивів параметр елемент може бути лише змінною типу Variant. [12]
Цикл, що задається конструкцією Do…Loop, виконується доти, поки умова, що задається в циклі, має значення True.
Синтаксис конструкції Do…Loop:
Do While умова
конструкції
Loop
Умова виконання циклу перевіряється перед кожним проходом циклу. Якщо вона дорівнює True, то виконується послідовність команд, які розташовані між Do While і ключовим словом Loop. У такій конструкції можлива ситуація, за якої тіло циклу не виконується жодного разу – якщо при першій перевірці умови вона матиме значення False. [7]
Снує ще один синтаксичний варіант конструкції Do…Loop Він відрізняється від розглянутого вище розташуванням умови. У другому варіанті конструкції умова розташовується наприкінці циклу:
Do
Конструкції
Loop While умова
За такого варіанту конструкції тіло циклу виконується принаймні один раз, після чого здійснюється перевірка умови виконання циклу.
Наступні два різновиди Do… Loop принципово відрізняються тим, що в них цикл виконується доти, поки умова хибна, а не істина. Дані оператори мають такий синтаксис:
Do Until умова
Конструкції
Loop
І
Do
Конструкції
Loop Until умова.
Оператор Do ... Loop (Visual Basic)
Повторює блок інструкцій, поки умова Boolean дорівнює True або до тих пір, поки умова стане True.
Нотатки
Використовується структура Do ... Loop, якщо потрібне повторення набору інструкцій необмежене число разів, поки умова виконується. Якщо ви хочете повторити інструкцію певну кількість разів, то For ... Next Statement зазвичай є кращим вибором.
While або Until можна використовувати для вказівки condition, але не обидва одночасно.
Можна перевірити condition тільки один раз - на початку або в кінці циклу. Якщо перевірити condition на початку циклу (в інструкції Do), цикл може ніколи не виконатися, навіть один раз. Якщо перевірити в кінці циклу (в інструкції Loop), цикл завжди виконується принаймні один раз.
Цикли Do можуть вкладатися один в одного. Також можна вкласти один в одного різні види керуючих структур. Додаткові відомості див в розділі Вкладені структури управління (Visual Basic). [2]
У наступному прикладі інструкції в циклі виконуються до тих пір, поки значення змінної index залишається більше 10. Пропозиція Until завершує цикл.
Приклад 5:
У наступному прикладі використовується оператор While замість Until, і condition перевіряється на початку циклу, а не в кінці.
Приклад 6:
У наступному прикладі умова condition зупиняє цикл, коли змінна index більше 100. Оператор If в циклі, проте, викликає інструкцію Exit Do, щоб зупинити цикл, коли змінна index більше 10.
Приклад 7:
У наступному прикладі виконується читання всіх рядків текстового файлу. Метод OpenText відкриває файл і повертає StreamReader, який зчитує символи. В умови Do ... Loop метод Peek StreamReader визначає, чи є які-небудь додаткові символи. [15]
Приклад 8:
При програмуванні коду інколи виникає ситуація, коли необхідно перервати виконання циклу до його повного завершення. Це можна зробити за допомогою команди безумовного переходу Exit. Ця команда завершує виконання циклу і передає управління наступній за циклом конструкції. Синтаксис цього оператора всередині циклуFor: Exit For, всередині циклу Do – Exit Do.
Зауважимо, що оператор Exit також служить для виходу з процедур Sub і Function. Його синтаксис у цьому випадку відповідно Exit Sub і Exit Function. Ці оператори можуть знаходитися в будь-якому місці тіла процедури і, як правило, застосовуються або тоді, коли функція чи процедура виконала необхідні дії, і з неї необхідно вийти, або як програмована реакція на виникнення помилки. [10]
Розділ ІІ Різновиди циклів
Безумовні цикли
Іноді в програмах використовуються цикли, вихід з яких непередбачено логікою програми. Такі цикли називаються безумовними або нескінченними. Особливих синтаксичних засобів для створення таких циклів, через їхню нетиповість, мови програмування не передбачають, тому такі цикли створюються за допомогою конструкцій призначених для створення звичайних (або умовних) циклів. Для забезпечення нескінченного повторення перевірка умови в такому циклі відсутня (якщо дозволяє синтаксис, як, наприклад, у циклі LOOP…END LOOP мови Ада), або замінюється константним значенням (while true do … в Паскаль). [1]
Цикл з передумовою
Цикл з передумовою — цикл, що виконується доки істинна деяка умова, вказана перед його початком. Ця умова перевіряється до початку виконання тіла циклу, тому тіло може бути не виконане жодного разу (якщо умова з початку хибна). У більшості процедурних мов програмування здійснюється за допомогою інструкції while, звідси його друга назва — while-цикл. На мові Visual Basic цикл з передумовою має наступний вигляд:
Do while
Умова
Тіло циклу
Loop
Цикл з передумовою виконується в разі істинності умови, а в разі хибності, зразу умови цикл може і не виконувати жодного разу. [4]
Приклад 1:
Цикл з передумовою виконується в разі істинності умови, а в разі хибності, зразу умови цикл може і не виконувати жодного разу.
Цикл з післяумовою
Цикл з післяумовою — цикл, в якому умова перевіряється після виконання тіла циклу. Звідси випливає, що тіло циклу завжди виконується хоча б один раз. У мові Паскаль такий цикл здійснює інструкція repeat..until; у Сі — do…while.
На мові Visual Basic цикл післяумовою з має наступний вигляд:
Do
Тіло циклу
Loop Until
Умова
Характерні риси циклу з післяумовою:
1)Використовується і
у випадках невідомої
2)Тіло циклу виконується хоча б один раз;
3)Тіло циклу виконується лише при хибні умові;
4)Завжди в тілі циклу
повинна бути присутня команда,
Приклад 2:
Скласти програму обчислення степеня числа A з натуральним показником N.
Цикл з виходом з середини
Цикл з виходом з середини — найзагальніший тип умовного циклу. Синтаксично такий цикл оформляється за допомогою трьох інструкцій: початок циклу, кінець циклу циклу та інструкції (команди) виходу з циклу. Інструкція початку позначає точку програми, з якої починається тіло циклу, інструкція кінця — точку, де тіло закінчується. Всередині тіла має бути присутня команда виходу з циклу, при виконанню якої цикл завершується і керування передається на оператор, наступний після інструкції кінця циклу. Природньо, щоб цикл виконався більш ніж один раз, команда виходу має викликатися не безумовно, а тільки за умови виконання умови виходу.
Принциповою відмінністю
такого різновиду циклу від
Легко побачити, що за допомогою циклу з виходом з середини легко утворити і цикл з передумовою (розташував команду виходу на початку тіла циклу), і цикл з післяумовою (розташував команду виходу в кінці тіла циклу).
Частина мов програмування містить особливі інструкції для утворення циклу з виходом з середини.
Цикл з лічильником
Цикл з лічильником
— цикл, в якому деяка змінна
змінює своє значення від заданого
початкового значення до кінцевого
значення з деяким кроком, і для
кожного значення цієї змінної тіло
циклу виконується один раз. В
більшості процедурних мов
Приклад 3:
Скласти програму обчислення степеня числа A з натуральним показником N.
Порядок виконання циклу з лічильником:
Цикл по колекції (foreach)
Ще одним варіантом є цикл, який пробігає елементи з деякої множини, без явного задання порядку перебору цих об'єктів. Такі цикли представляють собою формальний запис інструкції виду: «Виконати дію X для всіх елементів множини M». Теоретично такий цикл ніяким чином не визначає, в якому порядку буде застосувуватись дія до елементів множини, хоча певні мови програмування, звісно, можуть встановлювати конкретний порядок перебору елементцв. Довільність дає можливість оптимізації виконання циклу за рахунок організації доступу в найвигіднішому порядку, а не в порядку зазначеному програмістом. За наявності можливості паралельного виконання декількох операцій можливо навіть розподілення виконання циклу по колекції, коли одна і та сама операція одночасно виконується на різних обчислювальних модулях для різних об'єктів, при тому що логічно програма залишається послідовною. [8]
Информация о работе Організація циклів засобами Visual Basic