Оператори за цикъл във Visual Basic


Цикли. Предназначение и приложение. Видове

Цикълът представлява група повтарящи се действия, които се изпълняват за различни стойности на участващите в тях величини. Всеки цикъл би могъл да се разгледа като съставен от четири основни части:

  • Инициализация – в нея задаваме начални стойности на участващите в цикъла величини
  • Тяло на цикъла – това са операторите, които се изпълняват многократно.
  • Актуализация – тук задаваме нови стойности на някои от участващите в тялото на цикъла величини и ги подготвяме за следващото изпълнение
  • Условие за край на цикъла – това е логически израз, в зависимост от чиято стойност цикълът продължава да се изпълнява или се прекратява.

В зависимост от определеността на броя на  повторенията, има два вида циклични процеси:

  • индуктивни (определени) – при които броят на повторенията е известен предварително;
  • итеративни (неопределени) – при които броят на повторенията не е известен предварително; при тях броят на повторенията зависи от някакво условие.

В зависимост от начина на изпълнение, делим циклите на следните видове:

  • Цикъл с предусловие – при него условието за край на цикъла се проверява най-напред и в зависимост от това, дали е вярно или не, тялото на цикъла се изпълнява. Не е трудно да преценим, че такъв цикъл може да не се изпълни и нито веднъж, ако още в началото условието не е изпълнено.
  • Цикъл с постусловие (следусловие) – при него първо се изпълнява тялото на цикъла, а чак след това се проверява верността на условието за край. Такъв цикъл се изпълнява минимум един път.
  • Цикъл с управляваща променлива (броячен цикъл) – това е цикъл, при който задаваме начална и крайна стойност на управляващата променлива и той се изпълнява определен брой пъти. Основно реализира индуктивни циклични процеси.

Общо взето нещата във Visual Basic по отношение на циклите не са по-различни от другите езици за програмиране. И тук има три основни вида цикли – с предусловие, с постусловие и броячен цикъл. По-голямо е разнообразието на съответните оператори.

1. Цикли с предусловие

Това са цикли, при които първо се проверява дали е изпълнено някакво условие. Ако това условие е изпълнено, се изпълнява тялото на цикъла. В противен случай програмата продължава да се изпълнява от следващата след цикъла инструкция.

Във Visual Basic има два оператора за цикъл с предусловие: Do While и Do Until.

1.1 Оператор Do While… Loop

Общият вид на оператора е:

Do While Условие

Инструкции

Loop

Условието трябва да е променлива или израз, чиято стойност е True или False. Тялото на цикъла може да се състои от една или повече инструкции.

Цикълът се изпълнява, докато стойността на условието е True (do while се превежда – изпълнявай докато е (истина)). Такъв цикъл може и да не се изпълни нито веднъж, ако първоначалната стойност на условието е False. За да се избегне възникването на безкраен цикъл, в тялото на цикъла трябва да се променя стойността на поне една от променливите, участващи в проверяваното условие.

Пример:

Counter =0                                        ‘Инициализация на променливата Counter

Do While Counter <>5               ‘Проверка на условието за край на цикъл

Counter = Counter+1                        ‘Актуализация на променливата Counter

txtCounter.Text=CStr(Counter)       ‘CStr преобразува променливата в низ

Loop

1.2 Оператор Do Until…Loop

Общият вид на оператора е:

Do Until Условие

Инструкции

Loop

Условието трябва да е променлива или израз, чиято стойност е True или False. Тялото на цикъла може да се състои от една или повече инструкции.

Цикълът се изпълнява докато стойността на условието е False (do until се превежда – изпълнявай докато стане (истина)). Когато условието стане True, цикълът спира.

Такъв цикъл може и да не се изпълни нито веднъж, ако първоначалната стойност на условието е True. За да се избегне възникването на безкраен цикъл, в тялото на цикъла трябва да се променя стойността на поне една от променливите, участващи в проверяваното условие.

Пример:

M=0

Do Until M>25

M=2*M+1

Loop

2. Цикли с постусловие

Това са цикли, при които първо се изпълнява тялото на цикъла и чак след това се проверява дали е изпълнено някакво условие.

Във Visual Basic има два оператора за цикъл с постусловие: Do-Loop While и Do-Loop Until.

2.1 Оператор Do…Loop While

Общият вид на оператора е:

Do

Инструкции

Loop While Условие

Условието трябва да е променлива или израз, чиято стойност е True или False. Тялото на цикъла може да се състои от една или повече инструкции.

Първо се изпълнява тялото на цикъла и след това се проверява условието. Ако стойността му е True, цикълът се изпълнява отново. Ако стойността е False, цикълът се прекратява. Цикълът Do…Loop While се изпълнява поне веднъж. За да се избегне възникването на безкраен цикъл, в тялото на цикъла трябва да се променя стойността на поне една от променливите, участващи в проверяваното условие.

Пример:

Counter=0

Do

Counter=Counter+1

Loop While Counter < 13

2.2 Оператор Do…Loop Until

Общият вид на оператора е:

Do

Инструкции

Loop Until Условие

Условието трябва да е променлива или израз, чиято стойност е True или False. Тялото на цикъла може да се състои от една или повече инструкции.

Първо се изпълнява тялото на цикъла и след това се проверява условието. Ако стойността му е False, цикълът се изпълнява отново. Ако стойността е True, цикълът се прекратява, т.е. цикълът спира, когато условието стане истина.

Цикълът Do-Loop Until се изпълнява поне веднъж. За да се избегне възникването на безкраен цикъл, в тялото на цикъла трябва да се променя стойността на поне една от променливите, участващи в проверяваното условие.

Пример:

M=0

N=1

Do

M=2*M+2

N=N-1

Loop Until M+N>25

3. Броячен цикъл FOR

Цикълът For се използва тогава, когато предварително е известно колко пъти трябва да се изпълни, най-често при работа с масиви. Желателно е специално за него да бъде декларирана управляваща променлива, която да не се използва за друго.

Общият вид на оператора е:

For Брояч = Начало To Край Step X

Инструкции

Next Брояч

Тук Брояч е управляващата променлива. Начало и Край задават съответно началната и крайната стойност на управляващата променлива. Х е стъпката на изменение на управляващата променлива. Изпълнението на оператора е аналогично на оператора For в другите езици за програмиране.

По подразбиране броячът на цикъла се увеличава или намалява с 1. Така че ако изпуснем частта Step X стъпката е 1.

Пример:

For X = 5 To 10

Print X

Next X

!!! Броячът не бива да променя стойността си в тялото на цикъла.

Стъпката на изменение не е задължително да бъде цяло число.

Пример:

For X = 15 To 10 Step -1.5

Print X

Next X

4. Влагане на цикли

Visual Basic дава на програмиста пълна свобода да влага едни в други толкова на брой цикли, колкото е необходимо. В такъв случай трябва внимателно да се проверява дали вложените цикли не променят случайно условията или променливите, изпълняващи ролята на броячи на циклите, в които са вмъкнати. В противен случай може да се получи зацикляне.

Трябва да внимаваме и при затварянето на вложените цикли, защото има възможност да се получи „преплитане” (пресичане), т.е. да затворим външния цикъл преди вътрешния.

Например следващия код е грешен, поради пресичане на циклите:

For X = 1 To 10 Step 2

For Y= 2 To 20 Step 4

Print Y

Next X

Next Y

5. Преждевременно напускане на цикъл

Ако е необходимо да излезем преждевременно от един цикъл, можем да използваме оператор Exit Do или съответно Exit For.

Пример:

Do While X < 5

X = X + 1

If X = 4 Then Exit Do

Loop

N=40

For X = 1 to 50

N=N-1

If X+N = 25 Then Exit For

Next X

Когато използваме командите Exit Do или Exit For в цикъл, който е вложен в друг цикъл, тези команди карат програмата да напусне само текущия цикъл, като управлението се предава на външния цикъл.

Подобни статии

  • Хибридни програмни среди
    Програмните среди, основаващи се на няколко модела, позволяват на напредналите програмисти да експериментират с различни нови архитектури за решаване на задачи, като избират различни софтуерни модули. Поради липсата на универсален език за представяне на знания, който да е подходя...
  • Управление на информационни ресурси
    Планирането, организирането, внедряването, функционирането и управлението на инфрастуктурите, както и на портфейла софтуерни приложения на организацията трябва да се осъществяват умело спрямо бизнес целите на организацията. Видове ресурси и тяхното управление. Основни категории...
  • Java Servlet технологията
    Когато Интернет започва да се използва за предоставяне на услуги, доставчиците на услуги усещат нуждата за динамично съдържание. Затова е създадена технологията на аплетите, един от първите опити за постигане на тази цел. Те работят на клиентската платформа. В същото време разраб...
  • Метрики в софтуерното инжинерство
    Какво включват разходите за софтуерното инженерство? Измерване в софтуерното производство Какво е софтуерна метрика? Класификация на софтуерните метрики Примери за софтуерни метрики Проблеми на използването на софтуерните метрики Какво включват разходите за софтуе...
  • Microsoft Access
    Microsoft Access е един от динамично развиващите се програмни пакети с универсално приложение. В средата на Access се изграждат бази от данни, имащи релационна структура. Базата от данни представлява набор от логически свързани данни, организирани във файлове (таблици) както и ин...
Публикувано в Програмиране с етикети , . Постоянна връзка.

Вашият коментар