Bucle în VBA. Bucle VBA Bucla cu argumente negative

O instrucțiune de buclă este o instrucțiune care clarifică ce set de instrucțiuni (acest set de instrucțiuni se numește corpul buclei) trebuie executat în mod repetat și care este regula pentru încheierea buclei.

7.2.1. Ciclu parametric Pentru... În continuare

Această buclă este controlată de un parametru, care, la repetarea execuției corpului buclei, își schimbă valoarea cu un pas dat de la o valoare inițială dată la o valoare finală dată. Un astfel de ciclu este folosit în cazul în care se știe dinainte câte repetări ale corpului trebuie efectuate.

Sintaxa buclei: Pentru CPI=NZPC La KZPC[ Pas SHIPTS] Corpul buclei (una sau mai multe instrucțiuni) Următorul[CPI]

Cuvinte Pentru(Pentru), La(la), Pas(pas), Următorul(atunci) sunt rezervate.

Denumiri folosite:

CPI – denumirea parametrului ciclului (variabilă de orice tip numeric);

NZPTS – valoarea inițială a parametrului buclei (o expresie de orice tip numeric), pe care o va avea parametrul buclei atunci când corpul buclei este executat pentru prima dată;

KZPTS – valoarea finală a parametrului ciclului (o expresie de orice tip numeric), cu care se compară valoarea curentă a parametrului ciclului;

CHIC – pas de modificare a unui parametru de buclă (o expresie de orice tip numeric) – o parte opțională a unei instrucțiuni de buclă.

Valorile numerice ale NZPC și KZPC specifică intervalul în care se va modifica parametrul ciclului. Parametrul opțional SHIPC specifică pasul de schimbare a contorului buclei la fiecare trecere. În mod implicit, dacă este absent, se presupune că este egal cu 1. În cele din urmă, după instrucțiunile care alcătuiesc corpul buclei, există o comandă care indică limita buclei. În cazul buclelor imbricate (corpul buclei include o instrucțiune de buclă), este util să indicați buclei căreia îi aparține comanda. Următorul. Acest lucru se realizează prin adăugarea după cuvânt Următorul numele parametrului buclei.

Procesul de executare a instrucțiunilor PentruUrmătorul pentru un pas pozitiv este ilustrat în Figura 7.4.

Să ne uităm la exemple.

În primul exemplu, vom scrie instrucțiuni pentru a calcula suma tuturor numerelor întregi impare de la 1 la 100.

Dim I ca întreg, Sum ca întreg

Pentru i = 1 până la 100 Pasul 2

Suma = Suma +i

Următorul exemplu va demonstra două posibilități: pas explicit în buclă și numărătoare inversă. Acesta din urmă se realizează prin specificarea unui pas negativ și prin faptul că valoarea inițială a parametrului buclei este mai mare decât valoarea finală.

Dim N ca număr întreg

Pentru N = 100 până la 60 Pasul –10

Acest cod va ieși în formularul curent:

Următoarele instrucțiuni determină computerul să emite un bip de 50 de ori. Instrucţiuni Pentru definește că parametrul buclei este o variabilă x, valorile sale inițiale și finale. Echipă Următorul schimbă contorul în trepte.

Dim x ca întreg

Instrucţiuni Pentru... În continuare poate fi terminat mai devreme folosind instrucțiunea Exit For. Executarea acestei instrucțiuni face ca bucla să iasă imediat.

7.2.2. Instrucțiunea Do While...Loop sau Do...Loop While

Aici în timp ce(deocamdată) și Buclă(buclă) cuvinte rezervate. Bucle ca în timp ce sunt destinate situațiilor în care numărul de repetări ale corpului buclei (iterații) nu este cunoscut în prealabil. Iată sintaxa pentru cele două tipuri de buclă în timp ce:

Faceți în timp ce CondițieRepetiții Grup de instrucțiuni Buclă

Do Grupul de instruire Buclă în timp ce CondițieRepetiții

Diferența dintre ele este că Condiția de repetiție (condiția de repetare a execuției corpului buclei) este verificată în primul caz înainte de executarea corpului buclei (bucla - while), iar în al doilea caz - după ce corpul buclei este executat (bucla - până la).

Să trecem la exemple.

Să luăm în considerare acțiunea următoarei secțiuni a programului.

Contor = 0

Do While Number > 10

Număr = Număr - 1

Contor = Contor + 1

MsgBox(„Terminat” & Contor & _

„iterații în buclă”)

Când această secțiune a programului este executată, în fereastra funcției MsgBox vor fi afișate următoarele:

Au fost finalizate 10 iterații ale buclei.

În acest program, starea este verificată înainte de a intra în buclă. Dacă variabila Number este setată la 9 în loc de 20, instrucțiunile din bucla nu vor fi executate.

În programul următor, instrucțiunile dintr-o buclă sunt executate o singură dată înainte ca condiția să eșueze.

Contor = 0

Număr = Număr - 1

Contor = Contor + 1

Buclă While Number > 10

MsgBox(„Efectuat în buclă” & Counter & _

„iterații”)

Instrucţiuni Fă... Buclă poate fi completat devreme folosind instrucțiuni Ieșiți Do.

VBA. Organizarea ciclurilor.

Instrucțiunile buclă sunt folosite pentru a repeta o acțiune sau un grup de acțiuni de un număr specificat de ori. Numărul de repetări (iterații în buclă) poate fi predefinit sau calculat.

VBA acceptă două tipuri de constructe în buclă:

  1. Bucle cu un număr fix de repetări ( bucle contracate).
  2. Bucle cu un număr nedefinit de repetări ( bucle condiționate).

Pentru toate tipurile de cicluri se utilizează conceptul corpul buclei , care definește un bloc de instrucțiuni incluse între instrucțiunile de început și de sfârșit ale buclei. Se numește fiecare repetare a execuției instrucțiunilor corpului buclei repetare

Cicluri fixe

VBA oferă două structuri de control pentru organizarea unei bucle fixe: For ... Next (bucla cu un contor) și For Each ... Next (bucla cu o enumerare).

Operator pentru... În continuare Aceasta este o buclă tipică de contor care execută un număr specificat de iterații. Sintaxa instrucțiunii For...Next este:

Pentru<счетчик> = <начЗначение>Că<конЗначение>

<блок операторов>

Următorul [<счетчик>]

Un exemplu de utilizare a operatorului For...Next.

Listare 1. Pentru... Următorul operator

‘ SARCINA: Creați un program care primește două numere de la utilizator.

‘ Adaugă toate numerele din intervalul specificat de aceste două numere și apoi

‘ afișează suma rezultată.

Subeșantion7()

Dim i As Integer ‘contor de cicluri

Dim sStart „valoarea inițială a contorului

Dim sEnd ‘valoarea contorului final

Dim sSum As Long ‘suma rezultată

sStart = InputBox(„Introduceți primul număr:”)

sEnd = InputBox(„Introduceți al doilea număr:”)

sSum = 0

Pentru i = CInt(sStart) To CInt(sEnd)

sSum = sSum + i

În continuare i

MsgBox „Suma numerelor de la „ & sStart & ” la „ & sEnd & ” este: „ & sSum

End Sub

Declarație buclă pentru fiecare... În continuareaparține categoriei operatorilor de tip obiect, adică. se aplică în primul rând colecțiilor obiecte, precum și matrice . Corpul buclei este executat de un număr fix de ori, corespunzător numărului de elemente din matrice sau colecție. Pentru fiecare... formatul de declarație următor:

Pentru Fiecare<элемент>În<группа> <блок операторов>Următorul [<элемент>]

Bucle condiționate (bucle nedefinite)

Buclele condiționate sunt utilizate atunci când acțiunile repetate trebuie efectuate numai în anumite condiții. Numărul de iterații nu este definit și, în general, poate fi egal cu zero (în special, pentru bucle cu o precondiție). VBA oferă dezvoltatorilor mai multe structuri de control pentru organizarea buclelor condiționate:

  • Patru tipuri de Do..Loops, care diferă în funcție de tipul de condiție care este verificată și de timpul necesar pentru a finaliza această verificare.
  • Buclă continuă în timp ce... Wend.

Bucla Do While... este tipică buclă cu precondiție. Condiția este verificată înainte ca corpul buclei să fie executat. Ciclul își continuă activitatea până când acesta<условие>este executat (adică are valoarea True). Deoarece verificarea este efectuată la început, corpul buclei nu poate fi executat niciodată. Do While... Format buclă:

Faceți în timp ce<условие>

<блок операторов>

Buclă

Lista 2. Do While... Loop

‘ SARCINA: Creați un program care necesită intrarea utilizatorului

„o succesiune arbitrară de numere. Intrarea trebuie să fie terminată

„ numai după ce suma numerelor impare introduse depășește 100.

Subeșantion8()

Dim OddSum As Integer „suma de numere impare”.

Dim OddStr As String „șir cu numere impare

Dim Num pentru a accepta numerele introduse

OddStr = „” ‘inițializarea șirului de ieșire

OddSum = 0 ‘inițializați OddSum

Do While OddSum< 100 ‘начало цикла

Num = InputBox(„Introduceți un număr: “)

Dacă (Număr Mod 2)<>0 Apoi „verificarea parității”.

OddSum = OddSum + Num „acumularea sumei numerelor impare

OddStr = OddStr & Num & ” ”

Încheiați dacă

Buclă

„Tipărește un șir cu numere impare

MsgBox prompt:=”Numere impare: ” & OddStr

End Sub

Do... Instrucțiunea Loop Whileconcepute pentru organizarebuclă cu postcondiție. Condiția este verificată după ce corpul buclei a fost executat cel puțin o dată. Ciclul își continuă activitatea până când<условие>rămâne adevărat. Do... Loop While Format:

Do<блок операторов>Buclă în timp ce<условие>

Lista 3. Buclă cu postcondiție

SARCINA: Creați un program pentru jocul „Ghicește numărul”. Programul trebuie să fie aleatoriu

„Modul de a genera un număr în intervalul de la 1 la 1000, utilizatorul trebuie

ghici acest număr. Programul afișează un indiciu pentru fiecare număr introdus

„ „mai mult” sau „mai puțin”.

Subeșantion8()

Randomize Timer „inițializați generatorul de numere aleatorii

Dim msg As String ‘ șirul de mesaj

Dim SecretNumber As Long, UserNumber As Variant

Începe: SecretNumber = Round(Rnd * 1000) ‘ număr generat de computer

UserNumber = Numărul gol introdus de utilizator

Faceți un joc

Selectați Case True

Case IsEmpty(UserNumber): msg = „Introduceți un număr”

Case UserNumber > SecretNumber: msg = „Prea multe!”

Număr de utilizator al cazului< SecretNumber: msg = “Слишком мало!”

Încheierea selectării

UserNumber = InputBox(prompt:=msg, Title:=”Ghicește numărul”)

Loop While UserNumber<>Număr Secret

'examinare

Dacă MsgBox(„Jucați din nou?”, vbDaNu + vbÎntrebare, „Ați ghicit!”) = vbDa Atunci

GoTo Begin

Încheiați dacă

End Sub

Loops Do Until... Loop and Do... Loop Until sunt inversiuni ale buclelor condiționale discutate anterior. În general, ele funcționează în mod similar, cu excepția faptului că corpul buclei este executat dacă condiția este falsă (de ex.<условие>= Fals). Faceți până la... Format buclă:

Fă până la<условие> <блок операторов>Buclă

Efectuați... Buclă până la formatul buclei:

<блок операторов>

Buclă până la<условие>

Sarcina practica:Rescrieți programele din listele 10 și 11 folosind instrucțiuni de buclă inversată.

Loop While...Wend se aplică și buclelor condiționate. Acest operator este pe deplin în concordanță cu structura Do While... Loop. While...Format buclă Wend:

în timp ce<условие>

<блок операторов>

Merge încet

O caracteristică distinctivă a acestui operator este imposibilitatea de a forța finalizarea (întreruperea) corpului buclei (operatorul Exit Do nu funcționează în bucla While ... Wend).

Întreruperea unui ciclu

Pentru a termina o iterație mai devreme și a ieși din buclă, este utilizată instrucțiunea Exit. Acest operator este aplicabil în orice structură ciclică, cu excepția While... Wend. Sintaxa generală pentru utilizarea Exit pentru a întrerupe o buclă este:

<начало_цикла>

[<блок операторов1>]

Ieșire (Pentru | Face)

[<блок операторов2>]

<конец_цикла>

Când instrucțiunea Exit este executată, bucla este întreruptă și controlul este transferat instrucțiunii care urmează instrucțiunii<конец_цикла>. Pot exista mai multe instrucțiuni Exit în corpul unei bucle.

Lista 4. Forțați ieșirea din buclă

Subeșantion9()

Pentru i = 1 până la 10000000

Dacă i = 10, atunci Exit For ‘ ieși din buclă când contorul ajunge la 10

Următorul

Bucla For...Next în VBA Excel, sintaxa acesteia și descrierea componentelor individuale. Exemple de utilizare a buclei For...Next.

Bucla For...Next din VBA Excel este concepută pentru a executa un grup de instrucțiuni de numărul necesar de ori, specificat de variabila de control al buclei - contorul. Pe măsură ce bucla se execută, valoarea contorului după fiecare iterație este incrementată sau decrementată cu numărul specificat de expresia instrucțiunii Step sau, implicit, cu unul. Când trebuie să treceți în buclă peste elemente al căror număr și indexare într-un grup (gamă, matrice, colecție) sunt necunoscute, ar trebui să utilizați .

Sintaxa pentru buclă... În continuare

For counter = start To end [ Step step ] [ statements ] [ Exit For ] [ statements ] Next [ counter ] For counter = start To end [ Step step ] [ statements ] [ Exit For ] [ statements ] Next [ counter ]

Parantezele pătrate indică atributele opționale ale buclei For...Next.

Componentele pentru... În continuare

Componentă Descriere
contra Atribut obligatoriu. O variabilă numerică care acționează ca un numărător, numită și variabilă de control al buclei.
început Atribut obligatoriu. O expresie numerică care specifică valoarea inițială a contorului.
Sfârşit Atribut obligatoriu. O expresie numerică care specifică valoarea finală a contorului.
Pas* Atribut opțional. O instrucțiune care indică faptul că va fi specificat un pas de buclă.
pas Atribut opțional. O expresie numerică care specifică pasul buclei. Poate fi pozitiv sau negativ.
declarații Atribut opțional**. Operatorii din codul dvs.
Ieșire pentru Atribut opțional. Operatorul iese dintr-o buclă înainte de a se termina.
Următorul [contor] Aici contra- atribut optional. Acesta este același nume al variabilei de control al buclei, care nu trebuie specificată aici.

*Dacă atributul Pas lipsește, bucla For...Next este executată cu un pas implicit egal cu 1 .

**Dacă nu folosiți propriul cod într-o buclă, se pierde sensul utilizării unei bucle.

Exemple de For... Buclele următoare

Puteți copia bucle de probă în modulul VBA, le puteți rula una câte una și puteți vedea rezultatele.

Cel mai simplu ciclu

Completați primele zece celule din prima coloană a foii Excel active cu numere de la 1 la 10:

Sub test1() Dim i As Long For i = 1 To 10 Cells(i, 1) = i Next End Sub

Cel mai simplu ciclu cu pași

La bucla anterioară a fost adăugat un operator Step cu o valoare de 3, iar rezultatele sunt scrise în a doua coloană:

Sub test2() Dim i As Long For i = 1 To 10 Pasul 3 Celule (i, 2) = i Next End Sub

Buclă cu argumente negative

Această buclă umple primele zece celule ale celei de-a treia coloane în ordine inversă:

Sub test3() Dim i As Long For i = 0 To -9 Step -1 Cells(i + 10, 3) = i + 10 Next End Sub

Mărim dimensiunea pasului la -3 și scriem rezultatele în a patra coloană a foii Excel active:

Sub test4() Dim i As Long For i = 0 To -9 Step -3 Cells(i + 10, 4) = i + 10 Next End Sub

Buclă imbricată

Bucla exterioară setează secvențial indicii primelor zece rânduri ale foii active, iar bucla imbricată adaugă numerele din primele patru celule ale rândului cu indicele curent și scrie suma în celula celei de-a cincea coloane. Înainte de a începe o buclă imbricată cu adăugare cumulativă, resetam a cincea celulă a rândului corespunzător, astfel încât, dacă există un număr în ea, acesta nu va fi adăugat la total.

Sub test5() Dim i1 As Long, i2 As Long Pentru i1 = 1 To 10 "Atribuiți a cincea celulă din rândul i1 0 Cells(i1, 5) = 0 For i2 = 1 To 4 Cells(i1, 5) = Cells( i1 , 5) + Cells(i1, i2) Next Next End Sub

Ieșiți din buclă

În a șasea coloană a foii active vom scrie numele a zece animale, bineînțeles, folosind bucla For... Următoarea:

Sub test6() Dim i As Long For i = 1 To 10 Cells(i, 6) = Alegeți(i, „Urs”, „Elefant”, „Girafa”, „Antilope”, _ „Crocodil”, „Zebră”, „Tigru”, „Șopârlă”, „Leu”, „Hippopotam”) Next End Sub

Următoarea buclă va căuta în a șasea coloană un crocodil care a mâncat galoșuri. În celula coloanei a șaptea, bucla va scrie linia „A existat o buclă aici” până când întâlnește un crocodil, iar când găsește un crocodil, va scrie „El a mâncat galoșele” și va înceta să lucreze executând Ieșirea. Pentru comandă. Acest lucru va fi vizibil în celulele de lângă numele animalelor de sub crocodil, care nu va conține textul „A fost un ciclu aici”.

Sub test7() Dim i As Long For i = 1 To 10 If Cells(i, 6) = "Crocodil" Then Cells(i, 7) = "He ate the galoshes" Exit For Else Cells(i, 7) = " Aici a existat un ciclu" End If Next End Sub

Veți primi astfel de date pe foaia Excel activă dacă o rulați secvenţial în editorul VBA toate cele șapte subrutine din exemplele care demonstrează funcționarea buclelor For...Next.

Buclă cu argumente fracționale

Atributele început, sfârșit și pas pot fi reprezentate printr-un număr, o variabilă sau o expresie numerică:

Pentru i = 1 La 20 Pasul 2 Pentru i = a To b Pasul c Pentru i = a - 3 La 2b + 1 Pasul c/2

Calcularea valorii unei variabile în afara unei bucle sau a unei expresii în interiorul acesteia poate duce la un rezultat fracționar. VBA Excel îl va rotunji la un număr întreg folosind:

„Valorile atributelor înainte de rotunjire Pentru i = 1,5 la 10,5 Pasul 2.51 „Valori atribute rotunjite” Pentru i = 2 la 10 Pasul 3

Încercați să nu permiteți valori de argument nerotunjite în corpul buclei For...Next, pentru a nu obține rezultate imprevizibile din execuția acesteia. Dacă nu puteți face fără numere fracționale, dar trebuie să utilizați rotunjirea obișnuită, utilizați funcția WorksheetFunction.Round foaie de lucru în codul VBA pentru a rotunji numărul înainte de a-l folosi în bucla For...Next.

Este apelată orice acțiune dintr-o procedură care se repetă de un anumit număr de ori sau până când o anumită condiție este îndeplinită sau nu ciclu .

Procesul de executare a tuturor instrucțiunilor incluse într-o structură de buclă este apelat o dată iterație în buclă.

Sunt apelate structuri de buclă care execută întotdeauna un anumit număr de ori bucle cu un număr fix de iterații. Alte tipuri de structuri bucle se repetă de un număr variabil de ori în funcție de anumite condiții. Astfel de cicluri sunt numite cicluri nedefinite.

Se apelează blocul de instrucțiuni situat între începutul și sfârșitul buclei "corp bucla".

Cea mai simplă structură de buclă este ciclu fix .

Pentru..Bucla următoare

Sintaxă

Pentru contra = Început La Sfârşit
Declarații
Următorul [ contra]

Counter - orice variabilă numerică VBA
Start - orice expresie numerică care definește valoarea inițială pentru variabila contor
Sfârșit - o expresie numerică care definește valoarea finală pentru variabila contor


În mod implicit, VBA incrementează o variabilă contra cu 1 de fiecare dată când instrucțiunile sunt executate în buclă. Puteți seta o valoare diferită ( SterSize- orice expresie numerică) prin care se va schimba contra.

Cuvânt cheie Următorul spune VBA că sfârșitul buclei a fost atins. Variabilă opțională contra după cuvântul cheie Următorul trebuie să fie aceeași variabilă contra, care a fost specificat după cuvântul cheie Pentru la începutul structurii buclei.


Mai jos este o listă a celei mai simple bucle Pentru..Următorul, care numără suma numerelor de la 1 la 10:



Și acum două opțiuni pentru ciclu Pentru..Următorul folosind un pas de buclă, altul decât unul:



Fiţi atenți! La scăderea contorului de cicluri Pentru..Următorul bucla se execută atâta timp cât variabila contor este mai mare sau egală cu valoarea finală, iar când contorul buclei este incrementat, bucla se execută atâta timp cât variabila contor este mai mică sau egală cu valoarea finală.

Buclă pentru fiecare..Următorul

Ciclu Pentru Fiecare..Următorul nu folosește un numărător de cicluri. Cicluri Pentru Fiecare..Următorul sunt executate de câte ori există elemente într-un anumit grup, cum ar fi o colecție de obiecte sau o matrice (care va fi discutată mai târziu). Cu alte cuvinte, ciclul Pentru Fiecare..Următorul se execută o dată pentru fiecare element din grup.

Sintaxă

Pentru Fiecare ElementÎn Grup
Declarații
Următorul [ Element]

Element - o variabilă folosită pentru a itera toate elementele dintr-un anumit grup
Group este un obiect de colecție sau o matrice
Declarații - una, mai multe sau deloc instrucțiuni VBA (corpul buclei).

Ciclu este un grup de instrucțiuni care sunt executate în mod repetat. Pentru a organiza bucle în VBA, adică pentru a executa în mod repetat una sau mai multe instrucțiuni, puteți folosi două grupuri principale: bucle cu enumerarea For...Next și bucle cu condiția Do... Loop. Există două soiuri Pentru... În continuare(For-Next și For Each-Next) și două tipuri de bucle Fă... Buclă(Do While...Loop și Do Until...Loop), care diferă în funcție de tipul de condiție testată.

Bucla pentru Următoarea

Cea mai comună buclă din VBA este bucla de enumerare For-Next. Această buclă trebuie să stabilească limite (valorile inițiale și finale ale contorului) în care variabila buclă se va schimba.

Instrucțiunea buclă are următoarea sintaxă:
Pentru Pentru n=1)
Valoarea finală ( 10)
Pas Crește ( Pas 2)

Următorul[contra]

Aici variabila este un contor, valoarea variabilei crește sau scade cu fiecare iterație a buclei. Dacă nu există un pas în construcția buclei, atunci incrementul este 1 (implicit). Pentru a ieși mai devreme dintr-o instrucțiune buclă, de ex. Înainte ca contorul să atingă valoarea finală, operatorul trebuie introdus în construcția buclei Ieșire pentru.

Tinand cont Ieșire pentru Instrucțiunea buclă are următoarea sintaxă:
Pentru counter = Valoarea inițială (de exemplu, De exemplu, Pentru n=1)
Valoarea finală ( 10)
Pas Crește ( Pas 2)
[Instrucțiuni] sau [Bloc operator]
Ieșire pentru
Următorul[contra]

Pentru a procesa un grup de obiecte sau matrice omogene, se utilizează următoarea construcție a buclei:
Pentru Fiecare Element În Grup (numele unui grup de obiecte similare)
[Instrucțiuni] sau [Bloc operator]
Ieșire pentru
Următorul element

Bucle cu condiția Do While...Loop și Do Until...Loop

Instrucțiunea Do While...Loop se execută în bucle atâta timp cât este îndeplinită o condiție specificată. Trebuie remarcat faptul că condiția este verificată înainte ca instrucțiunea sau grupul de instrucțiuni să fie executată.

În acest caz, sintaxa instrucțiunilor Do While...Loop este următoarea:
Faceți în timp ce condiție (de exemplu, x<20)
[Instrucțiuni] sau [Bloc operator]
Ieșiți Do
Buclă


Do
[Instrucțiuni] sau [Bloc operator]
Ieșiți Do
Buclă în timp ce stare

Instrucțiunea Do Until...Loop se execută în buclă până când condiția este îndeplinită, iar când condiția este îndeplinită, instrucțiunea iese din buclă. Condiția este verificată înainte de executarea unei instrucțiuni sau a unui grup de instrucțiuni.

În acest caz, sintaxa operatorilor de buclă Do Until...Loop este următoarea:
Fă până la condiție (de exemplu, x=20)
[Instrucțiuni] sau [Bloc operator]
Ieșiți Do
Buclă

Dacă trebuie să verificați o condiție după ce instrucțiunile sau un bloc de instrucțiuni au fost executate cel puțin o dată, atunci puteți utiliza următoarea construcție a operatorului de buclă:
Do
[Instrucțiuni] sau [Bloc operator]
Ieșiți Do
Buclă până la stare