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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

Кам’янець-Подільський національний університет імені Івана Огієнка

КАФЕДРА ІНФОРМАТИКИ

КУРСОВА РОБОТА НА ТЕМУ:

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

студентки 32 групи фізико-математичного факультету

напряму підготовки 6.040201 Математика*

МАТВЕЄВОЇ АЛІНИ СЕРГІЇВНИ

Науковий керівник:

асистент кафедри інформатики

Щирба Олеся Вікторівна

Кам’янець-Подільський, 2012

 

ЗМІСТ

ВСТУП 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

 

 

ВСТУП

Мета даної  курсової роботи: на основі аналізу початкових даних (учбових документів, матеріально-технічної бази і дидактичного забезпечення дисципліни) і умов ознайомитися з організацією циклів засобами Visual Basic.

Об’єкт дослідження: цикли у Visual Basic.

Предмет дослідженя: інформаційні процеси в організації циклів засобами Visual Basic.

Microsoft Visual Basic — засіб розроблення програмного забезпечення, створений і підтримуваний корпорацією Microsoft, який складається з мови програмування і середовища розроблення. Visual Basic вважається потужним засобом швидкої розробки прототипів програми, розробки застосунків баз даних і взагалі для компонентного способу створення програм, що працюють під управлінням операційних систем родини Microsoft Windows.

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

Цикл – це одна і та ж послідовність команд, повторювана певне число разів. Повторювані оператори називаються тілом циклу. Visual Basic надає можливість використовувати два типи циклів. Якщо число повторень циклу відомо заздалегідь або може бути обчислено, то доцільно використовувати оператор циклу For ... Next. Якщо ж момент завершення циклу залежить від виконання деякого умови, то застосовується оператор циклу Do ... Loop. Оператор циклу WHILE ... WEND використовується для організації циклів з передумовою і має наступний формат:

While <умова продовження циклу>

<оператори тіла циклу>

Wend

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

 

Розділ І Теоретична і практична частина

  1. Visual Basic

Microsoft Visual Basic — засіб розроблення програмного забезпечення, створений і підтримуваний корпорацією Microsoft, який складається з мови програмування і середовища розроблення.

Рис.1. Вікно Visual Basic

Мова Visual Basic успадкувала дух, стиль і, частково, синтаксис свого предка — мови Бейсік, у якої є чимало діалектів. У той же час Visual Basic поєднує в собі процедури та елементи об'єктно-орієнтованих та компонентно-орієнтованих мов програмування. Середовище розробки VB містить інструменти для візуального конструювання користувацького інтерфейсу. [6]

Visual Basic вважається потужним засобом швидкої розробки прототипів програми, розробки застосунків баз даних і взагалі для компонентного способу створення програм, що працюють під управлінням операційних систем родини Microsoft Windows.

  1. Використання конструкцій циклів у Visual Basic

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

Як відомо, конструкції  виконуються в тій послідовності, в якій вони записані в програмі. Однак досить часто виникає необхідність змінити порядок виконання команд, залежно від результату виконання  деякої умови. У Visual Basic існують керуючі оператори, призначені для управління порядком виконання команд. Є два основних типи керуючих операторів: умовний оператор (If) та оператор вибору (Select Case).

У свою чергу, керуючі оператори  If бувають двох видів: If…Then та If Then…Else.

Конструкція If…Then застосовується, коли необхідно виконати певні дії залежно від деякої умови. Конструкція If Then…Else використовується у тому випадку, коли необхідно виконати різні дії залежно від умов. [3]

  1. Умовні вирази

Основою для прийняття  рішень в керуючих конструкціях є  логічні вирази. Вони повертають одне з двох значень: True або False. Над логічними виразами можна виконувати дії алгебри Буля:

And (і) – повертає значення True, якщо всі вирази, які беруть участь в конструкції, мають значення True. В інших випадках повертається значення False;

Or (або) повертає значення True, якщо хоч один з виразів, які беруть участь у конструкції, має значення True. У випадку, коли всі вирази мають значення False, повертається значення с;

Xor (виключне або, додавання за модулем 2) – повертає значення True, якщо тільки один із виразів, що беруть участь в конструкції, має значення True. У всіх інших випадках повертається значення True;

Not (ні) – повертає зворотнє до значення виразу значення.

В логічних виразах застосовуються оператори порівняння, наведені в  таблиці 1.1.

Таблиця 1.1.

Оператори порівняння Visual Basic

Оператор

Зміст

=

Дорівнює

>

Більше

<

Менше

<>

Не дорівнює

>=

Більше або дорівнює

<=

Менше або дорівнює


  1. Конструкція Іf...Then

Конструкція Іf...Then застосовується в тому випадку, коли необхідно виконати один або групу операторів, коли значення заданої умови дорівнює True. Синтаксично дана конструкція може мати однорядковий та багаторядковий вигляд. Однорядковий оператор має такий синтаксис:

Іf умова Then конструкція

У випадку, якщо при виконанні  умови потрібне виконання блоку  операторів, використовується багаторядковий оператор, що має такий синтаксис:

Іf умова Then

Конструкції

End If

Ключове слово End If означає кінець багаторядкового оператора, і його наявність у цьому випадку обов’язкова. Якщо значення заданої умови дорівнює True, то будуть виконані конструкції, що слідують за ключовим словом Then. Якщо умова не виконується (False), то Visual Basic переходить до виконання операторів, що йдуть далі чи знаходяться після End If.

Умовний оператор IF - THEN

Оператор IF-THEN дозволяє Вам  визначати операції, які будуть виконані тільки при виконанні деякого  умови.

Синтаксис:

If Умова Then

Дія.

Тут Умова - це деякий логічне  вираження. Воно повинно бути вірним для того щоб було виконано Дія. Звичайно ця частина синтаксису використовується спільно з іншими операторами та командами.

У операторі IF-THEN в якості умов можуть використовуватися більш  складні логічні вирази, з'єднані словами OR і AND.

Блок команд в операторі IF-THEN.

Для того, щоб при виконанні  умови в операторі IF-THEN виконувалося кілька команд, необхідно використовувати  спеціальні слова Begin і End, між якими і знаходяться всі необхідні команди. [16]

  1. Конструкція If…Then…Else.

Конструкція If…Then…Else аналогічна конструкції If…Then, тільки дозволяє задати дії, що виконуються як при виконанні логічної умови, так і у разі її невиконання.

Ця конструкція має  такий синтаксис:

If умова Then

конструкції, які виконуються  при значенні умови True

Else

конструкції, які виконуються  при значенні умови False

End If

Команда If може перевірити на істинність тільки одну умову. Якщо ж є потреба здійснити перехід управління залежно від результатів перевірки декількох умов, то таку умову можна задати за допомогою оператора Else If. Синтаксис такої конструкції:

If умова Then

конструкція

Else If умова Then

конструкція

Else

конструкція

Else If.

Оператор if...then...else...

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

Частини

Condition:Обов'язковий. Вираз повинен приймати значення True або False або повинен бути типом даних, який можна перетворити в Boolean.

Statements:Необов'язковий. Один або кілька операторів наступних за If ... Then, які виконуються, якщо результатом обчислення condition є True.

Elseifcondition:Вимагається, якщо мається ElseIf. Вираз. Повинен приймати значення True або False або повинен бути типом даних, який можна преобразовть в Boolean.

Elseifstatements:Необов'язковий. Один або кілька операторів наступних за ElseIf ... Then, які виконуються, якщо результатом обчислення elseifcondition є True.

Elsestatements:Необов'язковий. Один або кілька операторів, які виконуються, якщо немає попереднього виразу condition або elseifcondition, яке має значення True.

End If

Завершує блок If ... Then ... Else .

Нотатки

Багаторядковий  синтаксис

Коли зустрічається  оператор If ... Then ... Else, перевіряється condition. Якщо condition має значення True, оператори, наступні за Then, виконуються. Якщо condition має значення False, то всі оператори ElseIf (якщо вони є) виконуються по порядку. Якщо знайдено elseifcondition, яке має значення True, виконуються оператори, наступні безпосередньо за відповідним оператором ElseIf. Якщо відсутні elseifcondition, які мають значення True або відсутні оператори ElseIf, то викликаються оператори, наступні за Else. Після виконання операторів наступних за Then, ElseIf і Else, виконання триває з оператора, наступного за End If. [14]

Пропозиції ElseIf і Else є необов'язковими. У багаторядковому синтаксисі оператор If повинен бути єдиним оператором в першому рядку.

У наступному прикладі показано використання багаторядкового синтаксису оператора If ... Then ... Else.

Приклад 1:

У наступному прикладі містяться  вкладені оператори If ... Then ... Else.

Приклад 2:

У наступному прикладі показано використання однорядкового синтаксису.

Приклад 3:

  1. Конструкція Select Case

Конструкція Select case дозволяє обробляти в програмі декілька умов і аналогічна блоку конструкцій if .. . Then .. . Else. Ця конструкція складається з аналізованого виразу і набору операторів case на кожне можливе значення виразу. Працює ця конструкція наступним чином. Спочатку Visual Basic обчислює значення заданого в конструкції вираження. Потім отримане значення порівнюється зі значеннями, що задаються в операторах case конструкції. Якщо знайдено шукане значення, виконуються команди, приписані даній оператору case. Після завершення виконання конструкцій управління буде передано конструкції, наступної за ключовим словом End Select.

Синтаксис конструкції  Select Case наступний:

Select Case сравніваемоеЗначеніе

CASE значення1

конструкція1

CASE значення2

конструкція2

. . .

End SelectНа початку конструкції розташовані ключові слова select case, які вказують, що розташований поруч з ними параметр порівняємо значення буде перевірятися на декілька значень. Далі йдуть групи команд. починаються з ключового слова Case. Якщо параметр порівняне значення дорівнює значенню, зазначеному в поточному операторі case, то будуть виконуватися команди, розташовані між цим і наступним ключовим словом case. [13]

Оператор Select...Case

Виконує один з блоків операторів залежно від значення виразу.

Частини

Testexpression:Обов'язковий. Вираз. Повинен бути рівний одному їх простих типів даних (Boolean, Byte, Char, Date, Double, Decimal, Integer, Long, Object, SByte, Short, Single, String, UInteger, ULong і UShort).

Expressionlist:Обов'язковий в операторі Case.

Використовуйте зарезервоване  слово To, щоб вказати діапазон значень для testexpression. Значення expression1 повинно бути менше або дорівнює значенню expression2.

Використовуйте зарезервоване  слово Is з оператором порівняння (=, <>, <, <=,> або> =) для обмеження можливих значень testexpression. Якщо зарезервоване слово Is відсутнє, воно автоматично вставляється перед comparisonoperator.

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