Saturday, September 18, 2021 14:29

Cuprins >> Introducere > Bucla For

Bucla For

Bucla For este un tip de construct de repetare a codului un pic mai complex decât tipurile de bucle învățate în lecțiile anterioare. Pe de altă parte, ea poate rezolva sarcini mai complicate, cu mai puțin cod implicat.

Sintaxa instrucțiunii For este următoarea:

Atunci când programul repetă (ciclează) instrucțiuni de un anumit număr de ori, veți folosi de obicei o variabilă numită variabilă de control, care indică de câte ori ați executat instrucțiunile. Deci, bucla For conține patru secțiuni: secțiunea valoare_start inițializează variabila noastră de control cu ​​o valoare prestabilită, care cele mai multe ori este 0. Următoarea secțiune, conditie_sfarsit testează de obicei valoarea variabilei de control pentru a vedea dacă instrucțiunile au fost executate de numărul dorit de ori. Sectiunea valoare_increment incrementează de obicei (sau decrementează) variabila noastră de control cu 1 (sau cu orice altă valoare, în funcție de rezultatul pe care îl dorim) de fiecare dată când bucla execută instrucțiunile. În cele din urmă, a patra secțiune a buclei este blocul (corpul) buclei, în care plasăm instrucțiunea sau instrucțiunile pe care dorim să le executăm ori de câte ori bucla ciclează.

Să luăm cel mai simplu exemplu pentru demonstrarea utilizării buclei For:

Ieșirea de pe consolă va fi:

bucla for width=

În exemplul nostru, am declarat o variabilă (variabila noastră de control) numită numar și am inițializat-o cu valoarea implicită 0. În continuare, am specificat că dorim ca bucla să fie executată numai în cazul în care valoarea ei este mai mică decât 10. În cele din urmă, am instruit bucla să incrementeze variabila noastră cu 1 la fiecare ciclu.

Deci, am inițializat o variabilă numită numar la valoarea 0. Bucla For a executat instrucțiunile din interiorul blocului și a incrementat valoarea variabilei cu 1. Mai apoi, a verificat condiția: este variabila mai mică decât 10? Dacă da, execută instrucțiunile din nou, incrementează variabila din nou, efectuează verificarea valorii din nou, etc., până când verificarea valorii variabilei noastre determină că valoarea acesteia a fost incrementată la 10, caz în care condiția noastră (variabila să fie mai mică de 10) va returna Fals.

Așa cum am spus mai înainte, nu este imperativ să incrementăm variabila noastră. Putem de asemenea decrementa:

Care va afișa:

bucla for decrementare

În acest caz, bucla se va efectua în același mod ca și în cazul anterior, cu trei diferențe: în primul rând, am inițializat variabila noastră cu valoarea 9, nu 0; în al doilea rând, am specificat condiția de terminare a buclei noastre să fie atunci când variabila noastră este mai mare sau egală cu 0; al treilea rând, am instruit bucla să decrementeze valoarea variabilei noastre cu 1 la fiecare ciclu. Practic, programul va înumăra acum descrescător, de la 9 la 0.

Am putea specifica de asemenea, un factor de incrementare diferit:

Probabil puteți deja înțelege exemplul de mai sus. Am spus programului nostru să incrementeze variabila nostră de control cu 10 la fiecare ciclu, până când valoarea devine egală sau mai mare de 100:

factor incrementare bucla for

Putem folosi, de asemenea, orice altă operație matematică, de exemplu multiplicare:

care înumără în pași de multiplicare de 2:

for loop increment operation

Ar trebui să înțelegeți și domeniul de definiție al variabilei noastre de control (cărei secțiuni a codului îi este vizibilă și accesibilă). Exemplul de mai jos va demonstra acest aspect:

Așa că, atunci când declarăm variabila noastră de control în bucla noastra For, este vizibilă numai în interiorul acelei bucle. Din fericire, putem folosi o variabilă externă, și putem pur și simplu omite să declarăm una în bucla noastră:

Din codul de mai sus, puteți vedea că din moment ce am declarat variabila num în exteriorul buclei For, este vizibilă și accesibilă atât în interiorul cât și exteriorul buclei noastre. De asemenea, puteți observa că din moment ce am declarat-o deja în afara buclei, putem omite declarația sa în interiorul buclei noastre; cu toate acestea, încă mai este necesar să plasăm caracterul ;.

Partea de declarație nu este singurul lucru pe care îl putem omite într-o buclă. De exemplu, putem declara variabila noastră înafara buclei și o putem incrementa în interiorul blocului ei:

Putem chiar declara o buclă For fără nici un parametru, astfel:

În acest caz, vom obține o buclă infinită, deoarece nu există nici o condiție care să îi oprească execuția, iar programul va continua să afișeze „Iterat!“ până la sfârșitul timpurilor (sau până când îl închideți 😉 )

În cele din urmă, puteți specifica mai multe condiții și variabile de control pentru o singură buclă For. De exemplu:

Conceptele explicate în această lecție sunt prezentate și vizual, ca parte a următorului videoclip:

EXERCIȚII
1. Scrieți un program care afișează la consolă numerele de la 1 la N. Numărul N va fi introdus de către utilizator.

Soluție


Instrucțiuni: Folosiți o buclă for

2. Scrieți un program care afișează la consolă numerele de la 1 la N. Numărul N va fi introdus de către utilizator.

Soluție


Instrucțiuni: Folosiți o buclăfor și operatorul % pentru aflarea restului divizării numărului întreg. Un număr este divizibil cu 3 și 7 simultan doar când (num % (3*7) == 0)

3. Scrieți un program care citește de la consolă o serie de numere întregi și afișează cel mai mic și cel mai mare din ele.

Soluție


Instrucțiuni: Mai întâi citiți numărul de numere, de exemplu, într-o variabilăn. Apoi, consecutiv introduceți n numere cu ajutorul unei bucle for. În timp ce introduceți fiecare număr nou, salvați în două variabile cel mai mic și cel mai mare număr de până atunci. La început, inițializați cel mai mare și cel mai mic număr cu Int32.MaxValue și Int32.MinValue

4. Scrieți un program care citește de la consolă numărul N și afișează suma primilor N membri a secvenței Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, etc.

Soluție


Instrucțiuni: Numerele Fibonacci pornesc de la 0 și 1, fiecare număr adițional este obținut din suma a două numere anterioare. Puteți afla primelen numere Fibonacci cu o buclă forde la 1 la n, iar la fiecare iterație calculăm următorul număr folosind pe cele două anterioare (pe care le veți păstra în două variabile adiționale).

Tags: ,

Leave a Reply



Follow the white rabbit