Lekcja 4: Struktury Sterujące – Jak Podejmować Decyzje (I Wskazywać Programowi, Co Robić!)


Lekcja 4

Lekcja 4: Struktury Sterujące – Jak Podejmować Decyzje (I Wskazywać Programowi, Co Robić!)


Witaj ponownie, śmiały odkrywco kodu! 🗺️

Do tej pory nauczyłeś się już przechowywać liczby, wykonywać podstawowe operacje matematyczne i nawet sprawić, że twoje zmienne czują się ważne. Ale teraz czas podnieść poprzeczkę i przejąć kontrolę nad przepływem swojego programu. Bo, powiedzmy sobie szczerze, jeśli twój kod nie może podejmować decyzji ani powtarzać zadań, to jest jak GPS, który nie umie przeliczyć trasy — kompletnie zgubiony!

Przygotuj się na odkrywanie tajemniczego świata struktur sterujących. Od warunków if do pętli — za chwilę przejmiesz stery i zdecydujesz, co twój program ma robić i kiedy. Więc zapnij pasy, weź kubek kawy (najlepiej podwójny dzisiaj) i zaczynamy!


Warunki If – Naucz Swój Kod Myśleć

Zacznijmy od podstaw: warunek if. Pomyśl o nim jak o bramkarzu w nocnym klubie — wpuszcza tylko tych, którzy spełniają odpowiednie warunki.

Składnia jest prosta:

if (warunek) {
    // kod do wykonania, jeśli warunek jest prawdziwy
}

Wyobraź sobie, że masz program, który sprawdza, czy masz wystarczająco dużo kawy w kubku:

#include <stdio.h>

int main() {
    int kawa = 3;

    if (kawa > 0) {
        printf("Programuj dalej, kawa jeszcze jest!\n");
    }

    return 0;
}

Wyjaśnienie: Jeśli wartość kawa jest większa niż 0, program wypisze “Programuj dalej, kawa jeszcze jest!”. W przeciwnym razie — cisza, jak barista, który zamilknie, gdy skończy się kofeina.

Instrukcja else – Radzenie Sobie z „Oj, Niedobrze!” Scenariuszami

Ale co, jeśli kawa się skończy? Nie chcesz, żeby twój program po prostu siedział i gapił się na ciebie. W grę wchodzi instrukcja else:

if (kawa > 0) {
    printf("Programuj dalej, kawa jeszcze jest!\n");
} else {
    printf("Kawa się skończyła! Czas na uzupełnienie zapasów.\n");
}

Teraz, dzięki else, twój program wie, jak radzić sobie z obiema sytuacjami. To jak plan “B” — bo nikt nie chce programować bez kawy!


Instrukcja else if – Dodawanie Więcej Warunków

A co, jeśli masz za dużo kawy? (Tak, to się zdarza!) Dodajmy jeszcze jeden warunek za pomocą else if:

if (kawa > 5) {
    printf("Hej, nie przesadzaj z kawą! Czas trochę zwolnić.\n");
} else if (kawa > 0) {
    printf("Programuj dalej, kawa jeszcze jest!\n");
} else {
    printf("Kawa się skończyła! Czas na uzupełnienie zapasów.\n");
}

Teraz twój program obsługuje trzy scenariusze:

  1. Jeśli masz więcej niż 5 kubków — program radzi ci przystopować.
  2. Jeśli masz trochę kawy — podtrzymuje cię na duchu.
  3. Jeśli kawy brak — wysyła cię do kuchni.

Instrukcja switch – Kiedy Masz Wiele Opcji

Jeśli if, else i else if są jak znaki drogowe, to switch jest bardziej jak sygnalizacja świetlna — wiele dróg i jedno warunkowe polecenie. Używaj switch, gdy masz jedną wartość i wiele możliwych wyników.

Wyobraź sobie, że chcesz sprawdzić dzień tygodnia:

#include <stdio.h>

int main() {
    int dzien = 4; // Załóżmy, że 4 to czwartek

    switch (dzien) {
        case 1:
            printf("Poniedziałek… ugh.\n");
            break;
        case 2:
            printf("Wtorek… jakoś przetrwamy!\n");
            break;
        case 3:
            printf("Środa, jesteśmy na półmetku!\n");
            break;
        case 4:
            printf("Czwartek, prawie weekend!\n");
            break;
        case 5:
            printf("Piątek, czas na imprezę!\n");
            break;
        case 6:
        case 7:
            printf("Weekend! Czas na relaks.\n");
            break;
        default:
            printf("Niepoprawny dzień...\n");
    }

    return 0;
}

Typowe Błędy w Pętlach

  1. Nieskończone Pętle: Zapomniałeś zaktualizować zmienną? Gratulacje, właśnie zawiesiłeś program! Zawsze przemyśl sposób wyjścia.

  2. Błędy o Jeden (Off-By-One): for (int i = 0; i <= 5; i++) wykona się 6 razy, a nie 5. Uważaj na warunki!

  3. Break i Continue: Użyj break, aby przedwcześnie przerwać pętlę, i continue, aby przejść bezpośrednio do kolejnej iteracji.


Ostatnie Myśli

Dziś opanowałeś struktury sterujące — prawdziwą podstawę każdego skomplikowanego programu. Ale nie odkładaj jeszcze swojego programistycznego płaszcza! Dołącz do mnie w Lekcji 5, gdzie zagłębimy się w fascynujący świat funkcji. Przygotuj się na porządkowanie kodu, unikanie powtórzeń i stawanie się prawdziwym mistrzem funkcji! 🧙‍♂️✨


Zobacz też