Instrukcja warunkowa jest jednym z najważniejszych elementów programowania. Pozwala podejmować decyzje w programie – wykonywać określony kod tylko wtedy, gdy warunek zostaje spełniony.
W tej lekcji poznasz sposób działania warunków, przeanalizujesz schemat blokowy, zobaczysz odpowiedniki w Scratchu oraz wykonasz serię ćwiczeń utrwalających.


1. Sytuacje warunkowe

Warunek to pytanie, na które odpowiedź brzmi „tak” lub „nie”. Od tej odpowiedzi zależy, którą drogą pójdzie algorytm.

Rys. Przykład sytuacji warunkowej („Czy pada deszcz?”).

Przykłady sytuacji warunkowych:

  • Jeśli liczba jest parzysta, wykonaj działanie.
  • Jeśli temperatura spadnie poniżej zera, włącz ogrzewanie.
  • Jeśli użytkownik ma 18 lat, przyznaj dostęp.

2. Schemat blokowy algorytmu z warunkiem

Poniżej znajduje się schemat blokowy porównujący dwie liczby:

Rys. Schemat blokowy „Czy a > b?” (rys. 4).

Analiza działania schematu:

  • Na początku podawane są wartości a i b.
  • Algorytm sprawdza warunek: czy a > b.
  • Jeśli TAK → wypisywana jest wartość a.
  • Jeśli NIE → wypisywana jest wartość b.
  • Każdy warunek w schemacie ma dwa wyjścia: TAK / NIE.

To ćwiczenie rozwija umiejętność odczytywania logiki algorytmu bez kodu, tylko na podstawie schematu.


3. Instrukcja warunkowa w Pythonie

Instrukcja warunkowa ma postać:

if warunek:
    instrukcja
else:
    instrukcja

Ważne zasady:

  • po if i else znajduje się dwukropek,
  • instrukcje wewnątrz bloków mają wcięcia (4 spacje),
  • warunek musi być wyrażeniem logicznym.

4. Operatory porównania i logiczne

W programowaniu warunki tworzy się za pomocą operatorów porównania i logicznych. Oto fragment tabeli:

Tabela: Operatory logiczne i porównań.


Naciśnij przycisk Run.
Zobacz, co pojawia się w oknie wyników, zapisz sprawdzony kod na swojej chmurze i udostępnij folder nauczycielowi. Opis organizacji plików z lekcji znajduje się w punkcie 6 niniejszej instrukcji.

5. Ćwiczenia

Ćwiczenie 1 – testowanie operatorów pojedynczych

Skopiuj i uruchom:

print(5 == 5)
print(7 != 3)
print(4 < 10)
print(8 > 100)
print(6 <= 6)
print(9 >= 0)

Zastanów się, które wyniki są prawdziwe, a które fałszywe.


Ćwiczenie 2 – testowanie operatorów logicznych and, or, not

print(5 < 10 and 2 < 1)
print(7 > 3 or 7 == 3)
print(not (4 == 4))
print(10 > 0 and 10 < 20)
print(3 < -5 or 3 > -5)

Zinterpretuj wyniki.


Ćwiczenie 3 – analiza schematu blokowego

Na podstawie schematu (powyżej):

  • wskaż, w którym miejscu podejmowana jest decyzja,
  • sprawdź, jakie wyniki otrzymasz dla par liczb (7, 3), (2, 5), (10, 10),
  • wskaż rodzaj bloków użytych w algorytmie,
  • sprawdź, jak zachowa się algorytm, gdy obie liczby są równe.

Opisz swoje spostrzeżenia w sprawozdaniu (MS Word) oraz opublikuj w chmurze.


Ćwiczenie 4 – program „Większa z dwóch liczb”

Zapisz algorytm ze schematu w Pythonie:

a = int(input("Podaj pierwszą liczbę: "))
b = int(input("Podaj drugą liczbę: "))

if a > b:
    print("Większa jest pierwsza liczba:", a)
else:
    print("Większa jest druga liczba:", b)

Możesz go przetestować na różnych parach liczb.


Ćwiczenie 5 – wersja bez else

Spróbuj zapisać program wyłącznie z instrukcją if:

if a > b:
    print("Większa jest pierwsza liczba:", a)
if b >= a:
    print("Większa jest druga liczba:", b)

Obserwuj różnice między obiema wersjami.


Ćwiczenie 6 – liczba dodatnia czy niedodatnia

Program:

x = int(input("Podaj liczbę: "))

if x > 0:
    print("Liczba dodatnia")
else:
    print("Liczba niedodatnia")


Ćwiczenie 7 – liczba parzysta / nieparzysta

n = int(input("Podaj liczbę: "))

if n % 2 == 0:
    print("Liczba parzysta")
else:
    print("Liczba nieparzysta")


Ćwiczenie 8 – sprawdzanie przedziałów (zastosowanie operatorów z tabeli)


Ćwiczenie 9 – trzy warunki pod rząd


Ćwiczenie 10 – wersja ze złożonym warunkiem

x = int(input("Podaj liczbę: "))

if x > 0 and x % 2 == 0:
    print("Liczba dodatnia i parzysta")
else:
    print("Warunek nie został spełniony")


Ćwiczenie 11 – porównywanie trzech liczb (rozszerzenie)

a = int(input("a = "))
b = int(input("b = "))
c = int(input("c = "))

if a >= b and a >= c:
    print("Największa jest:", a)
elif b >= a and b >= c:
    print("Największa jest:", b)
else:
    print("Największa jest:", c)


Ćwiczenie 12 – algorytm oparty o schemat Scratch

Porównaj blok Scratch:

Wstaw grafikę bloczków Scratch „jeżeli… to” oraz „jeżeli… to… w przeciwnym razie”.

Przeanalizuj:

  • jak wygląda odpowiednik bloków w Pythonie,
  • czy schematy działania są takie same,
  • jak Python decyduje, którą instrukcję wykonać.

Zapisz swoją wersję programu w Pythonie odpowiadającą bloczkowi Scratch:

if warunek:
    # instrukcje
else:
    # instrukcje


6. Zadania końcowe, do samodzielnej realizacji

Zapisz program, który:

  1. Wczytuje liczbę i wypisuje „TAK”, jeśli jest podzielna przez 3.
  2. Wczytuje dwie liczby i sprawdza, czy obie są dodatnie (użyj and).
  3. Sprawdza, czy liczba mieści się w przedziale od 1 do 100 (użyj <= i >=).
  4. Sprawdza, czy temperatura jest poniżej 0 lub powyżej 30 (użyj or).
  5. Wprowadza ocenę (1–6) i wypisuje opis słowny (np. 6 – „celująca”).

Każdy program możesz przetestować bezpośrednio w środowisku online.


7. Zapis pracy

Pliki z lekcji, sprawozdanie (zrzuty ekranów z testów) zapisz w formacie MS Word w folderze chmury w swojej lokalizacji:

Dokumenty / 8K_ImięNazwisko / Python / Warunkowe