Організація циклів засобами Visual Basic

Автор: Пользователь скрыл имя, 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

Работа содержит 1 файл

курсова робота...docx

— 2.89 Мб (Скачать)

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:

  1. Цикли із використанням конструкції  For…Next

Конструкція For…Next виконує послідовність команд певну кількість разів. Таку конструкцію ще називають циклом з параметром, а команди, що виконують – тілом циклу.

Синтаксис конструкції  For…Next такий:

For лічильник = позначення To позначення [Step крок]

Конструкції

Next [лічильник]

Лічильник визначає, скільки  раз буде виконуватись тіло циклу. Параметр позначення вказує числове значення, яке привласнюється змінній-лічильнику перед першим проходом циклу. Цикл виконується доти, поки значення лічильника не перевищить кінцевого значення позначення, вказаного після ключового слова To. Після кожного проходу циклу значення лічильника змінюється на величину крок, вказану за необов’язковим ключовим словом Step. Якщо воно відсутнє, за умовчанням кроком циклу є одиниця. Ключове слово Next означає кінець тіла циклу і є обов’язковим. [3]

  1. Цикл з використанням конструкції For Each…Next

Цикл з використанням  конструкції For Each…Next схожий на цикл For…Next, але використовується для обробки всіх елементів деякого набору. Його здебільшого використовують у тому випадку, коли кількість елементів, що обробляються, невідома.

Синтаксис конструкції  For Each…Next:

For Each елемент In група

конструкції

Next елемент

При використані конструкції  For Each…Next необхідно завжди мати на увазі, що для набору параметр елемент може бути тільки змінною типу Variant, загальною змінною типу Object або об’єктом, перерахованим в Object Browser. Для масивів параметр елемент може бути лише змінною типу Variant. [12]

  1. Цикл з використанням конструкції Do…Loop

Цикл, що задається конструкцією 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:

  1. Команда Exit

При програмуванні коду інколи виникає ситуація, коли необхідно  перервати виконання циклу до його повного завершення. Це можна  зробити за допомогою команди  безумовного переходу Exit. Ця команда завершує виконання циклу і передає управління наступній за циклом конструкції. Синтаксис цього оператора всередині циклуFor: Exit For, всередині циклу Do – Exit Do.

Зауважимо, що оператор Exit також служить для виходу з процедур Sub і Function. Його синтаксис у цьому випадку відповідно Exit Sub і Exit Function. Ці оператори можуть знаходитися в будь-якому місці тіла процедури і, як правило, застосовуються або тоді, коли функція чи процедура виконала необхідні дії, і з неї необхідно вийти, або як програмована реакція на виникнення помилки. [10]

 

Розділ ІІ Різновиди циклів

  1. Різновиди циклів

Безумовні цикли

Іноді в програмах використовуються цикли, вихід з яких непередбачено  логікою програми. Такі цикли називаються  безумовними або нескінченними. Особливих синтаксичних засобів  для створення таких циклів, через  їхню нетиповість, мови програмування не передбачають, тому такі цикли створюються за допомогою конструкцій призначених для створення звичайних (або умовних) циклів. Для забезпечення нескінченного повторення перевірка умови в такому циклі відсутня (якщо дозволяє синтаксис, як, наприклад, у циклі 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)Завжди в тілі циклу  повинна бути присутня команда,  що впливає на значення умови. [16]

Приклад 2:

Скласти програму обчислення степеня числа A з натуральним показником N.

Цикл з виходом з середини

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

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

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

Частина мов програмування  містить особливі інструкції для  утворення циклу з виходом  з середини.

Цикл з лічильником

Цикл з лічильником  — цикл, в якому деяка змінна змінює своє значення від заданого початкового значення до кінцевого  значення з деяким кроком, і для  кожного значення цієї змінної тіло циклу виконується один раз. В  більшості процедурних мов програмування  реалізується оператором for, в якому вказується лічильник, потрібна кількість проходів (або межове значення лічильника) і, можливо, крок, з яким змінюється лічильник. Цикл з лічильником завжди можна написати як умовний цикл, перед початком якого лічильнику присвоюється початкове значення, а умовою виходу з циклу є досягнення лічильником кінцевого значення; в тіло циклу при цьому додається оператор зміни лічильника на потрібний крок. Однак спеціальні оператори циклу з лічильником можуть ефективніше транслюватися, бо формалізований вигляд такого циклу дозволяє використовувати спеціальні процесорні команди організації циклів. [9]

Приклад 3:

Скласти програму обчислення степеня числа A з натуральним показником N.

Порядок виконання циклу  з лічильником:

  1. Параметр або лічильник циклу отримує початкове значення;
  2. Здійснюється перевірка чи це значення не перевищує кінцевого значення параметру при додатному кроці і зворотній знак при від’ємному кроці. Якщо умова істина та яка перевіряється то виконується тіло циклу і йде перехід на команду Next. Якщо умова хибна йде перехід до команди, що слідує після циклу.
  3. В команді Next в лічильнику надається значення, що дорівнює попередньому плюс крок.

Цикл по колекції (foreach)

Ще одним варіантом  є цикл, який пробігає елементи з  деякої множини, без явного задання порядку перебору цих об'єктів. Такі цикли представляють собою формальний запис інструкції виду: «Виконати дію X для всіх елементів множини M». Теоретично такий цикл ніяким чином не визначає, в якому порядку буде застосувуватись дія до елементів множини, хоча певні мови програмування, звісно, можуть встановлювати конкретний порядок перебору елементцв. Довільність дає можливість оптимізації виконання циклу за рахунок організації доступу в найвигіднішому порядку, а не в порядку зазначеному програмістом. За наявності можливості паралельного виконання декількох операцій можливо навіть розподілення виконання циклу по колекції, коли одна і та сама операція одночасно виконується на різних обчислювальних модулях для різних об'єктів, при тому що логічно програма залишається послідовною. [8]

Информация о работе Організація циклів засобами Visual Basic