Back to Top

Lekcja 4 - Pętle

Pętle

Tablice to zmienne, które potrafią pod jedną nazwą przechowywać wiele wartości. Ciągle jednak nie zwalniają nas z ręcznego ich wypełniania danymi. Jak wypełnić tablicę 100 liczbami?

int[] numbers = new int[100];
numbers[0] = 1;
numbers[1] = 1;
...

Wypełnianie tego w sposób pokazany powyżej byłoby długotrwałe i niepraktyczne. Jak zatem wykonać powtarzalną czynność wiele razy?

Odpowiedzią są pętle.

Pętla to specjalna konstrukcja, która pozwala wykonać konkretny zestaw instrukcji określoną ilość razy. Jedną z podstawowych pętli, jest pętla for.

Pętla For

for(int i = 0; i < 10; i++)
{
	// Instrukcje
}

Pętla for składa się z 4 części. 3 z nich są oddzielone znakiem średnika i znajdują się między nawiasami okrągłymi.

  • Pierwsza część int i = 0 to tzw. inicjalizacja indeksu pętli. Ta część wykonuje się tylko raz.

  • Druga część i < 10 to warunek, który musi zostać spełniony, aby instrukcje w pętli zostały wykonane pierwszy lub kolejny raz.

  • Trzecia część, czyli i++ to zwiększenia wartości licznika. Jest wykonywane po każdym wykonaniu zestawu instrukcji, które zawarte są w pętli.

  • Ostatnia część, znajdująca się między nawiasami klamrowymi, to ciało pętli, czyli powtarzany kod.

Jak działa pętla?

  • Na początku wykonywana jest pierwsza część – zmienna i przyjmuje wartość 0.

  • Następnie sprawdzany jest warunek.

  • Jeśli warunek jest fałszywy, pętla kończy działanie.

  • Jeśli warunek jest prawdziwy – zwraca true – pętla wykonuje instrukcje zawarte między nawiasami klamrowymi.

  • Po wykonaniu instrukcji pętla przechodzi do 3 części między nawiasami okrągłymi i zwiększa wartość licznika.

  • Na koniec znowu sprawdza warunek i koło się zamyka.

Oczywiście możemy używać zmiennej również wewnątrz pętli. Poniższy przykład wyświetla w konsoli kolejne liczby.

for(int i = 0; i < 10; i++)
{
	Console.WriteLine(i);
}

Pętla wykona się 10 razy. Przy każdym wykonywaniu ciała pętli licznik będzie miał wartość zwiększoną o jeden.

Warunek zakończenia działania pętli może być dowolny, w tym przypadku pętla działa dopóki i jest mniejsze od 10.

Jak przejrzeć wszystkie elementy tablicy? Wystarczy odpowiednio dobrać warunek zakończenia pętli.

for(int i = 0; i < products.Length; i++)
{
	Console.WriteLine(products[i]);
}

Pętla musi iść od indeksu 0 do indeksu, który jest mniejszy od rozmiaru tablicy. Ponieważ w każdej iteracji i jest inne, możemy wyświetlić aktualny element. Jest jednak prostszy sposób na przechodzenie przez elementy tablicy.

Pętla ForEach

Pętla foreach przechodzi przez wszystkie elementy tablicy od początku do końca. Pętla nie wymaga deklarowania żadnych zmiennych ani warunków. Struktura pętli jest następująca. W nawiasach okrągłych podajemy:

  • typ elementu tablicy,

  • nazwę, pod którą będzie dostępny element tablicy przy każdej iteracji,

  • słowa kluczowego in

  • tablicy, przez którą chcemy iterować.

foreach(string item in products)
{
	Console.WriteLine(item);
}

Pętla wykona się tyle razy ile jest elementów w tablicy, a zmienna item za każdym razem będzie zawierała bieżący element.

Zadanie 1

Wyświetl w konsoli liczby od 0 do 9.

Zadanie 1

Rozwiązanie zadania 1

Zadanie 2

Wyświetl w konsoli liczby od 1 do 10 podniesione do potęgi 2. Pamiętaj o odpowiednim dobraniu wartości startowej zmiennej iteracyjnej oraz warunku trwania pętli.

Zadanie 2

Rozwiązanie zadania 2

Zadanie 3

W pliku znajduje się tablica z produktami. Wyświetl w pętli wszystkie produkty w konsoli.

Zadanie 3

Rozwiązanie zadania 3