Pornire rapidă „Ramuri și bucle”

Ramuri și bucle

Această pornire rapidă vă învață cum să scrieți cod care examinează variabile și schimbă calea de execuție bazat pe aceste variabile. Veți folosi browserul dvs. pentru a scrie C# interactiv și a vedea rezultatele compilării și rulării codului dvs. Această pornire rapidă conține o serie de lecții care exploră structurile de ramificare și repetiție în C#. Aceste lecții vă învață elementele fundamentale ale limbajului C#.

Faceți decizii cu instrucțiunea if

Rulați următorul cod în fereastra interactivă. Pentru a face asta, tastați următorul bloc de cod în fereastra interactivă și faceți clic pe butonul Run.

int a = 5;
int b = 6;
if (a + b > 10)
    Console.WriteLine("Raspunsul este mai mare decat 10.");

Modificați declarația lui b astfel încât suma să fie mai mică decât 10:

int b = 3;

Faceți clic pe butonul Run din nou. Deoarece răspunsul este mai mic decât 10, nimic nu este tipărit. Condiția pe care o testați este falsă. Nu aveți niciun cod de executat deoarece ați scris doar una dintre ramurile posibile pentru o instrucțiune if: ramura true (tradus adevărat).

Sfat. Explorând C# (sau oricare limbaj de programare), veți face greșeli gând scrieți cod. Compilatorul va găsi aceste erori și vi le va raporta. Când ieșirea conține mesaje de eroare, priviți atent la codul exemplu, și la codul din fereastra interactivă pentru a vedea ce să corectați. Aceste exercițiu vă va ajuta să învățați structura codului C#.

Primul exemplu arată puterea lui if și a tipurilor booleane. Un boolean este o variabilă care poate avea una din două valori: true sau false. C# definește un tip special, bool pentru variabile booleane. Instrucțiunea if verifică valoarea unui bool. Când valoarea este true, instrucțiunea următoare lui if se execută. Altfel, ea este omisă.

Procesul de verificare de condiții și executarea de instrucțiuni bazată pe aceste condiții este foarte puternic. Haideți să explorăm mai mult.

Faceți if și else să funcționeze împreună

Pentru a executa cod diferit în ambele ramuri adevărat și fals, creeați o ramură else care se execută când condiția este falsă. Încercați acesta:

int a = 5;
int b = 3;
if (a + b > 10)
    Console.WriteLine("Raspunsul este mai mare decat 10");
else
    Console.WriteLine("Raspunsul nu este mai mare decat 10");

Instrucțiunea urmând cuvântul cheie else se execută doar când condiția testată este false. Combinând if și else cu condiții booleane vă oferă toată puterea de care aveți nevoie.

Important. Indentarea de sub instrucțiunile if și else este pentru cititorii umani. Limbajul C# nu tratează indentarea sau spațiul alb ca semnificativ. Instrucțiunea urmând cuvintele cheie if sau else va fi executată bazat pe condiție. Toate exemplele din această pornire rapidă urmează o practică comună de a indenta liniile bazat pe fluxul de control al instrucțiunilor.

Deoarece indentarea nu este semnificativă, trebuie să folosiți { și } pentru a indica unde doriți mai mult de o instrucțiune să fie parte a blocului care se execută condițional. Programatorii C# folosesc de obicei aceste acolade la toate clauzele if și else. Următorul exemplu este același cu cel pe care tocmai l-ați creat. Încercați-l.

int a = 5;
int b = 3;
if (a + b > 10)
{
    Console.WriteLine("Raspunsul este mai mare decat 10");
}
else
{
    Console.WriteLine("Raspunsul nu este mai mare decat 10");
}

Sfat. De-a lungul restului acestei porniri rapide, exemplele de cod toate includ acolade, urmând practicile acceptate.

Puteți testa condiții mai complicate:

int a = 5;
int b = 3;
int c = 4;
if ((a + b + c > 10) && (a > b))
{
    Console.WriteLine("Raspunsul este mai mare decat 10");
    Console.WriteLine("Si primul numar este mai mare decat al doilea");
}
else
{
    Console.WriteLine("Raspunsul nu este mai mare decat 10");
    Console.WriteLine("Sau primul numar nu este mai mare decat al doilea");
}

&& reprezintă „și”. El înseamnă că ambele condiții trebuie să fie adevărate pentru a executa instrucțiunea din ramura true. Aceste exemple arată de asemenea că dvs. puteți avea mai multe instrucțiuni în fiecare ramură condițională, cu condiția că le închideți între { și }.

Puteți de asemenea să folosiți || pentru a reprezenta „sau”:

int a = 5;
int b = 3;
int c = 4;
if ((a + b + c > 10) || (a > b))
{
    Console.WriteLine("Raspunsul este mai mare decat 10");
    Console.WriteLine("Sau primul numar este mai mare decat al doilea");
}
else
{
    Console.WriteLine("Raspunsul nu este mai mare decat 10");
    Console.WriteLine("Si primul numar nu este mai mare decat al doilea");
}

Folosiți bucle pentru a repeta operații

Un alt concept important pentru a crea programe mai mari sunt buclele. Veți folosi bucle pentru a repeta instrucțiuni pe care dvs. le vreți executate mai mult decât o dată. Încercați acest cod în fereastra interactivă:

int contor = 0;
while (contor < 10)
{
  Console.WriteLine($"Hello World! Contorul este {contor}");
  contor++;
}

Instrucțiunea while verifică o condiție și execută instrucțiunea urmând while-ul. Ea va repeta verificarea condiției și executarea acestor instrucțiuni până când condiția este falsă.

Un alt nou operator se află în acest exemplu. ++ de după variabila contor este operatorul de incrementare. El adaugă 1 la valoarea contorului, și reține acea valoare în variabila contor.

Important. Asigurați-vă că condiția buclei while chiar trece la fals în timp ce se execută codul. Altfel, dvs. creați o buclă infinită cu care programul nu se încheie niciodată. Haideți să nu demonstrăm aceasta, deoarece motorul care rulează codul dvs. va rămâne fără timp și nu veți vedea nicio ieșire din programul dvs.

Bucla while testează condiția înainte de executarea codului care urmează după while. Bucla do ... while execută codul mai întâi, și apoi verifică condiția. Ea arată:

int contor = 0;
do
{
  Console.WriteLine($"Hello World! Contorul este {contor}");
  contor++;
} while (contor < 10);

Această buclă do și bucla while de mai devreme lucrează la fel.

Haideți să mergem înainte la un ultim tip de instrucțiune buclă.

Lucrați cu bucla for

O altă instrucțiune obișnuită de tip buclă pe care o să-o vedeți în cod C# este bucla for. Încercați acest cod în fereastra interactivă:

for (int contor = 0; contor < 10; contor++)
{
  Console.WriteLine($"Hello World! Contorul este {contor}");
}

Acesta face același lucru ca bucla while și bucla do pe care le-ați folosit deja. Instrucțiunea for are 3 părți care controlează cum ea funcționează.

Prima parte este inițializatorul for: for contor = 0; declară contor ca variabila buclei, și îi setează valoarea inițială la 0.

Partea din mijloc este condiția for: contor < 10 declară că această buclă for continuă să execute cât timp valoarea contorului este mai mică decât 10.

Partea finală este iteratorul for: contor++ specifică felul în care să se modifice variabila buclei după executarea blocului de după instrucțiunea for. Aici, el specifică faptul că contor ar trebui incrementat cu 1 de fiecare dată când blocul se execută.

Experimentați cu acestea dvs. înșivă. Încercați fiecare din următoarele:

  • Schimbați inițializatorul pentru a începe la o valoare diferită.
  • Schimbați condiția pentru a se opri la o valoare diferită.
Când ați terminat, haideți să mergem înainte să scrieți puțin cod dvs. înșivă pentru a folosi ceea ce ați învățat.

Combinați ramuri și bucle

Acum că ați văzut instrucțiunea if și structurile de repetiție în limbajul C#, vedeți dacă puteți scrie cod C# pentru a găsi suma tuturor întregilor de la 1 la 20 care sunt divizibili cu 3. Aici sunt câteva indicii:

  • Operatorul % vă dă restul unei operații de împărțire.
  • Instrucțiunea if vă dă condiția pentru a vedea dacă un număr ar trebui să fie parte din sumă.
  • Bucla for vă poate ajuta să repetați o serie de pași pentru toate numerele de la 1 la 20.
Încercați dvs. înșivă. Apoi verificați cum ați făcut. Ca un indiciu, ar trebui să obțineți 63 ca răspuns.

Finalul provocării

Ați venit cu ceva ca asta?

int suma = 0;
for (int numar = 1; numar < 21; numar++)
{
  if (numar % 3 == 0)
  {
    suma = suma + numar;
  }
}
Console.WriteLine($"Suma este {suma}");

Felicitări!

Ați completat pornirea rapidă „ramuri și bucle”.

Puteți învăța mai multe despre aceste concepte în aceste subiecte:

If and else statement (instrucțiunea if și else)
While statement (instrucțiunea while)
Do statement (instrucțiunea do)
For statement (instrucțiunea for)

Tradus din această pagină oficială de documentație Microsoft.

Niciun comentariu:

Trimiteți un comentariu