Instrukcje Warunkowe i Pętle

INF.03.6 (1) — Kontrola przepływu programu w JavaScript

Definicja Kontrola Przepływu

Instrukcje kontroli przepływu decydują o tym, które bloki kodu zostaną wykonane i ile razy. Bez nich kod wykonywałby się linia po linii, bez możliwości podejmowania decyzji czy powtarzania czynności.

  • Instrukcje Warunkowe: Umożliwiają podjęcie decyzji na podstawie wartości logicznej (true / false).
  • Pętle: Umożliwiają wielokrotne wykonanie tego samego bloku kodu.

Warunki Instrukcje Decyzyjne

1. Instrukcja if...else if...else (Podstawowa)

Najczęściej używany mechanizm. Kod w nawiasach klamrowych {...} wykona się, jeśli warunek w nawiasach okrągłych (...) jest true.

let ocena = 4;
if (ocena === 5) {
    console.log("Doskonale!");
} else if (ocena >= 3) {
    console.log("Wystarczająco.");
} else {
    console.log("Wymagana poprawa.");
}

2. Instrukcja switch (Podstawowa)

Używana, gdy musimy sprawdzić zmienną pod kątem wielu konkretnych wartości. Wymaga użycia słowa kluczowego break, aby uniknąć przejścia do następnego bloku case.

let dzienTygodnia = 3;
switch (dzienTygodnia) {
    case 1:
        console.log("Poniedziałek");
        break; // WAŻNE!
    case 5:
        console.log("Piątek!");
        break;
    default:
        console.log("Inny dzień.");
}
// W tym przypadku wyświetli "Inny dzień."

Pętle Powtarzanie Czynności

1. Pętla for (Podstawowa)

Idealna, gdy znamy z góry, ile razy kod ma się wykonać (np. iteracja po liście, powtórzenie 10 razy).

Składnia: for (inicjalizacja; warunek_kontynuacji; inkrementacja)

// Pętla wykonuje się 5 razy (i=0, 1, 2, 3, 4)
for (let i = 0; i < 5; i++) {
    console.log("Licznik: " + i);
}
// Ostatnie wyjście: Licznik: 4

2. Pętla while (Podstawowa)

Używana, gdy nie wiemy dokładnie, ile razy kod się wykona. Powtarza się, dopóki warunek pozostaje true. Uwaga: Zapomnienie o zmianie warunku w ciele pętli spowoduje pętlę nieskończoną!

let energia = 100;
while (energia > 0) {
    console.log("Pozostało: " + energia);
    energia -= 10; // Zmiana warunku
}
// Wykona się 10 razy, aż energia spadnie do 0.

Ćwiczenie Zadania Praktyczne

Zadanie 1: Klasyfikacja Ocen (Podstawowe)

Napisz instrukcję if...else if...else, która sprawdza zmienną let punkty = 75; i wyświetla:

let punkty = 75;

if (punkty >= 60) {
    console.log("Zaliczony"); // Wykona się to
} else if (punkty >= 50 && punkty < 60) {
    console.log("Warunkowo");
} else {
    console.log("Niezaliczony");
}

Zadanie 2: Obliczanie Silni (Ponadpodstawowe)

Silnia liczby n (oznaczana jako n!) to iloczyn wszystkich liczb naturalnych mniejszych lub równych n. Użyj pętli for do obliczenia silni liczby let n = 6;.

let n = 6;
let wynik = 1; // Zaczynamy od 1, bo mnożymy

for (let i = 1; i <= n; i++) {
    wynik = wynik * i; // Można zapisać: wynik *= i;
}

console.log("Silnia z " + n + " wynosi: " + wynik); // Wynik: 720

Zadanie 3: Zagnieżdżone Pętle (Wyzwanie)

Użyj dwóch zagnieżdżonych pętli for, aby wyświetlić w konsoli prostokąt o wymiarach 4x5, używając symbolu #. (Pętla zewnętrzna kontroluje wiersze, wewnętrzna kolumny).

// Zewnętrzna pętla: 4 wiersze
for (let wiersz = 0; wiersz < 4; wiersz++) {
    let linia = ""; // Linia przechowuje cały wiersz
    // Wewnętrzna pętla: 5 kolumn
    for (let kolumna = 0; kolumna < 5; kolumna++) {
        linia += "#";
    }
    console.log(linia);
}

/* Oczekiwany wynik w konsoli:
#####
#####
#####
#####
*/

Materiały Narzędzia i Linki

Materiały: Instrukcje Warunkowe i Pętle · Opracowanie na podstawie wymagań INF.03