Instrukcje Warunkowe i Pętle
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.
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.
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)
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ą!
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
- MDN Web Docs: Kontrola przepływu i obsługa błędów (Sekcje o warunkach i pętlach).
- W3Schools: JavaScript Loops (Wprowadzenie i przykłady).
- Ćwiczenia online: Wyszukaj "JavaScript loops exercises" lub "JS conditional statements quiz".