Zaloguj sięZarejestruj się
background

Jak działają pętle

INF.03

25.02.2025

Pętle są kluczowe w programowaniu, umożliwiając powtarzanie czynności w kodzie. W JavaScript, C++ i PHP możemy spotkać różne konstrukcje pętli, jak for, while, do-while oraz foreach, które pozwalają automatyzować zadania. Dzięki nim możemy łatwo operować na zbiorach danych i uprościć procesy w programach. Celem tego artykułu jest szybkie wprowadzenie do pętli, by w praktyce były łatwiejsze do zaimplementowania.

SPIS TREŚCI

Jak działają popularne pętle

Pętla for

Pętla for ma trzy argumenty oddzielone średnikami ;

for (pierwszy argument; drugi; trzeci) { // ciało pętli }

Pierwszy argument (inicjalizacja): Służy do ustawienia początkowych wartości zmiennych, które będą sterować przebiegiem pętli. Wykonywany jest jednorazowo przed rozpoczęciem pętli.

Drugi argument (warunek): Określa warunek, który musi być spełniony, aby pętla kontynuowała działanie. Przed każdą iteracją sprawdzany jest ten warunek. Jeśli jest prawdziwy, wykonywane jest ciało pętli; w przeciwnym razie pętla zostaje zakoń

Trzeci argument (modyfikacja): Służy do aktualizacji zmiennych sterujących (np. inkrementacja lub dekrementacja) po każdej iteracji. Wykonywany jest po wykonaniu ciała pętli, przed kolejnym sprawdzeniem warunku.

Pętla while

Pętla while wykonuje ciało pętli dopóki warunek jest spełniony. Warunek jest sprawdzany przed każdą iteracją, co oznacza, że jeśli już na początku jest fałszywy, ciało pętli nie zostanie wykonane ani razu.

while (warunek) { // ciało pętli }

Jeśli warunek przestanie być spełniony w trakcie wykonywania pętli, wykonywanie zostanie przerwane i program przejdzie do kolejnych instrukcji.

Pętla do...while

Pętla do...while gwarantuje wykonanie ciała pętli przynajmniej jeden raz, ponieważ warunek jest sprawdzany po wykonaniu kodu.

do { // ciało pętli } while (warunek);

Nawet jeśli warunek jest fałszywy już od początku, ciało pętli zostanie wykonane przynajmniej raz, a następnie, przy niespełnieniu warunku, pętla się zakończy.

Pętla foreach

Pętla foreach służy do iteracji po elementach tablicy (lub obiektu implementującego interfejs Traversable). Ułatwia przeglądanie elementów bez konieczności zarządzania indeksem.

Przykład (dla wartości)
foreach ($tablica as $wartosc) { // ciało pętli }
Przykład (dla kluczy i wartości)
foreach ($tablica as $klucz => $wartosc) { // ciało pętli }

Pętla ta pozwala na łatwy dostęp do poszczególnych elementów tablicy, co czyni ją idealną do przeglądania struktur danych, gdzie ważne są zarówno klucze, jak i odpowiadające im wartości.

Pętle w JavaScript

JavaScript: Pętla for

Przykład
for (let i = 0; i < 10; i++) { // ciało pętli }
Opis

Pętla for w JavaScript jest używana, gdy znana jest liczba iteracji. Składa się z części inicjalizacji, warunku oraz modyfikatora, które sterują przebiegiem pętli.

JavaScript: Pętla while

Przykład
while (warunek) { // ciało pętli }
Opis

Pętla while wykonuje kod dopóki warunek jest spełniony. Warunek jest sprawdzany przed każdą iteracją, co oznacza, że jeśli od początku jest fałszywy, pętla nie wykona się ani razu.

JavaScript: Pętla do...while

Przykład
do { // ciało pętli } while (warunek);
Opis

Pętla do...while gwarantuje wykonanie ciała pętli przynajmniej jeden raz, gdyż warunek jest sprawdzany po wykonaniu kodu.

JavaScript: Pętla for...in

Przykład
for (let key in obiekt) { // ciało pętli }
Opis

Pętla for...in iteruje po wszystkich enumerowalnych właściwościach obiektu. Należy jednak zachować ostrożność przy iterowaniu po tablicach, ponieważ może iterować także po właściwościach dziedziczonych.

JavaScript: Pętla for...of

Przykład
for (let value of iterable) { // ciało pętli }
Opis

Pętla for...of (wprowadzona w ES6) jest przeznaczona do iteracji po elementach iterowalnych obiektów, takich jak tablice, ciągi znaków, mapy czy zbiory.

Pętle w C++

C++: Pętla for

Przykład
for (int i = 0; i < 10; i++) { // ciało pętli }
Opis

Pętla for w C++ składa się z części inicjalizacji, warunku oraz modyfikatora. Jest idealna, gdy znamy liczbę iteracji. Każdy z tych elementów może być pominięty, jednak zazwyczaj wykorzystuje się je wszystkie dla przejrzystości kodu.

C++: Pętla while

Przykład
while (warunek) { // ciało pętli }
Opis

Pętla while wykonuje kod dopóki warunek jest spełniony. Warunek jest sprawdzany przed każdą iteracją, więc jeśli jest fałszywy od początku, pętla nie wykona żadnej iteracji.

C++: Pętla do...while

Przykład
do { // ciało pętli } while (warunek);
Opis

Pętla do...while gwarantuje wykonanie ciała pętli przynajmniej raz, ponieważ warunek jest oceniany po wykonaniu bloku kodu.

C++: Pętla zasięgowa (range-based for)

Przykład
for (auto element : kontener) { // ciało pętli }
Opis

Pętla zasięgowa, wprowadzona w C++11, umożliwia łatwą iterację po elementach kontenera bez potrzeby korzystania z iteratorów czy indeksów, co znacząco poprawia czytelność kodu.

Pętle w PHP

Pętla for

Przykład
for ($i = 0; $i < 10; $i++) {
    // ciało pętli
}
Opis

Pętla for jest używana, gdy znana jest liczba iteracji. Składa się z trzech części: inicjalizacji (np. ustawienie zmiennej licznikowej), warunku (określającego, kiedy zakończyć pętlę) oraz modyfikatora (np. inkrementacja lub dekrementacja zmiennej licznikowej). Każdy z tych elementów jest opcjonalny, ale zazwyczaj używa się ich wszystkich dla czytelności.

Pętla while

Przykład
while ($warunek) {
    // ciało pętli
}
Opis

Pętla while wykonuje się tak długo, jak długo warunek pozostaje prawdziwy. Warunek jest sprawdzany przed wykonaniem ciała pętli, co oznacza, że pętla może się nie wykonać ani razu, jeśli warunek od początku jest fałszywy.

Pętla do while

Przykład
do {
    // ciało pętli
} while ($warunek);
Opis

Pętla do...while działa podobnie do pętli while, z tą różnicą, że warunek jest sprawdzany po wykonaniu ciała pętli. Dzięki temu ciało pętli zostanie wykonane przynajmniej jeden raz, nawet jeśli warunek jest fałszywy od samego początku

Pętla do foreach

Składnia (dla wartości)
foreach ($tablica as $wartosc) {
    // ciało pętli
}
Składnia (dla kluczy i wartości)
foreach ($tablica as $klucz => $wartosc) {
    // ciało pętli
}
Opis

Pętla foreach jest przeznaczona do iteracji po tablicach (oraz obiektach implementujących interfejs Traversable). Ułatwia przeglądanie elementów bez konieczności zarządzania indeksem. Można łatwo uzyskać zarówno klucz, jak i wartość elementu.

Tagi

Pętla for
Pętla while
Pętla do-while
Sterowanie pętlami
Instrukcja break
Instrukcja continue
Nieskończona pętla
Optymalizacja pętli
Iteracja
Iterator
Iterowalność
Zagnieżdżone pętle
Rekurencja a pętle
Niezmienniki pętli
Warunek zakończenia
Błąd off-by-one
Zmienna pętli
Licznik pętli
Wczesne wyjście z pętli
Pętla forEach
Pętla zakresowa
Rozszerzona pętla for
Pętle w Pythonie
Pętle w JavaScript
Pętle w Javie
Pętle w C++
Pętle w C#
Pętle w PHP