C # while i uradi ... while petlja (s primjerima)

U ovom ćemo članku naučiti o petlji while i do… while u C #, kako ih koristiti i razlici između njih.

U programiranju je često poželjno izvršiti određeni blok naredbi određeni broj puta. Moguće rješenje bit će upisivanje tih izjava potreban broj puta. Međutim, broj ponavljanja možda nije poznat unaprijed (tijekom vremena sastavljanja) ili možda dovoljno velik (recimo 10000).

Najbolje rješenje za takav problem je petlja. Petlje se koriste u programiranju za opetovano izvršavanje određenog bloka izraza dok se ne ispuni neki uvjet.

U ovom ćemo članku naučiti koristiti while petlje u C #.

C # while petlja

A ključna riječ se koristi za stvaranje while petlja u C #. Sintaksa petlje while je:

 while (test-izraz) (// tijelo dok) 

Kako while petlja radi?

  1. C # while petlja sastoji se od a test-expression.
  2. Ako test-expressionse procjenjuje na true,
    1. izvršavaju se izrazi unutar while petlje.
    2. nakon izvršenja, test-expressionponovno se ocjenjuje.
  3. Ako test-expressionse procjenjuje na false, while petlja se završava.

dijagram toka while

Primjer 1: while Loop

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1; while (i<=5) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) ) 

Kada pokrenemo program, izlaz će biti:

 C # Za petlju: Iteracija 1 C # Za petlju: Iteracija 2 C # Za petlju: Iteracija 3 C # Za petlju: Iteracija 4 C # Za petlju: Iteracija 5

U početku je vrijednost i 1.

Kada program dosegne naredbu while petlje,

  • i <=5vrednuje se testni izraz . Budući da je i 1 i 1 <= 5jest true, izvršava tijelo while petlje. Ovdje se redak ispisuje na ekranu s ponavljanjem 1, a vrijednost i povećava se za 1 da bi postala 2.
  • Sada se testni izraz ( i <=5) ponovno procjenjuje. I ovaj put se izraz vraća true(2 <= 5), pa se linija ispisuje na ekranu i vrijednost i sada se povećava na 3 …
  • To ide i while petlja se izvršava sve dok i ne postanem 6. U ovom trenutku test-izraz će procijeniti falsei stoga će petlja završiti.

Primjer 2: while petlja za izračunavanje zbroja prvih 5 prirodnih brojeva

 using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1, sum=0; while (i<=5) ( sum += i; i++; ) Console.WriteLine("Sum = (0)", sum); ) ) ) 

Kada pokrenemo program, izlaz će biti:

 Zbroj = 15

Ovaj program izračunava zbroj prvih 5 prirodnih brojeva.

  • U početku se vrijednost zbroja inicijalizira na 0.
  • Na svakoj se iteraciji vrijednost zbroja ažurira na, sum+ia vrijednost i povećava za 1.
  • Kada vrijednost i dosegne 6, test test i<=5će vratiti false i petlja se završava.

Pogledajmo što se događa u danom programu na svakoj iteraciji.

U početku je i = 1, zbroj = 0

Dok koraci izvršavanja petlje
Iteracija Vrijednost i i <= 5 Vrijednost zbroja
1 1 pravi 0 + 1 = 1
2 2 pravi 1 + 2 = 3
3 3 pravi 3 + 3 = 6
4 4 pravi 6 + 4 = 10
5 5 pravi 10 + 5 = 15
6 6 lažno Petlja se završava

Dakle, konačna vrijednost zbroja bit će 15.

C # do … while petlja

Raditi i dok ključna riječ se koristi za stvaranje Do … while petlja. Sličan je while petlji, no među njima postoji velika razlika.

U while petlji stanje se provjerava prije izvršenja tijela. Upravo je suprotno u petlji do … while, tj. Stanje se provjerava nakon izvršavanja tijela.

Zbog toga će se tijelo petlje do … while izvršiti barem jednom, bez obzira na test-izraz.

Sintaksa petlje do … while je:

 do (// tijelo petlje do while) while (test-izraz); 

Kako … dok petlja radi?

  1. Tijelo do … while petlje se prvo izvršava.
  2. Tada test-expressionse ocjenjuje.
  3. Ako test-expressionje true, izvršava se tijelo petlje.
  4. Kada test-expressionje false, učinite … dok se petlja završava.

do… while loop dijagram

Primjer 3: petlja do … while

 using System; namespace Loop ( class DoWhileLoop ( public static void Main(string() args) ( int i = 1, n = 5, product; do ( product = n * i; Console.WriteLine("(0) * (1) = (2)", n, i, product); i++; ) while (i <= 10); ) ) ) 

Kada pokrenemo program, izlaz će biti:

 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50

As we can see, the above program prints the multiplication table of a number (5).

  • Initially, the value of i is 1. The program, then enters the body of do… while loop without checking any condition (as opposed to while loop).
  • Inside the body, product is calculated and printed on the screen. The value of i is then incremented to 2.
  • After the execution of the loop’s body, the test expression i <= 10 is evaluated. In total, the do… while loop will run for 10 times.
  • Finally, when the value of i is 11, the test-expression evaluates to false and hence terminates the loop.

Infinite while and do… while loop

If the test expression in the while and do… while loop never evaluates to false, the body of loop will run forever. Such loops are called infinite loop.

For example:

Infinite while loop

 while (true) (// tijelo while petlje) 

Beskonačna petlja do … while

 do (// tijelo petlje while) while (true); 

Beskonačna petlja korisna je kada nam treba petlja da se izvodi sve dok naš program radi.

Na primjer, ako je vaš program animacija, morat ćete ga neprestano izvoditi dok se ne zaustavi. U takvim je slučajevima neophodna beskonačna petlja da bi se animacija neprestano izvodila.

Zanimljivi članci...