ŚredniWaga: 3-6 pkt

Śledzenie pseudokodu i złożoność obliczeniowa

Naucz się rozwiązywać zadania z pseudokodu bez komputera! Opanuj tworzenie tabelek śledzenia (dry run) oraz błyskawiczne szacowanie złożoności O(n).

  1. Śledzenie algorytmu (Zostań ludzkim kompilatorem)

Na maturze często spotkasz się z zadaniem, w którym CKE rzuca Ci krótki pseudokod i pyta: "Jaki wynik wypisze ten algorytm dla n=5n = 5?". Nie masz do dyspozycji komputera, więc musisz polegać na kartce i własnym umyśle.

💡 Twoja tajna broń: Tabelka śledzenia (Dry Run)

Najskuteczniejszą, całkowicie bezbłędną metodą analizy jest tabelka śledzenia zmiennych. Polega ona na wypisaniu wszystkich zmiennych z algorytmu w postaci nagłówków kolumn. Następnie przechodzisz linijka po linijce przez kod i aktualizujesz ich wartości, wykreślając stare.

  1. Jak to wygląda w praktyce?

Najlepiej nauczyć się tego na konkretnym przykładzie z arkusza maturalnego.

Zadanie

Przeanalizuj poniższy pseudokod:
n ← 4
wynik ← 1
DOPÓKI n > 0 WYKONUJ:
  wynik ← wynik * n
  n ← n - 1
WYPISZ wynik
Zbuduj tabelkę śledzenia i podaj ostateczny wynik wypisany przez program.
💡 Pokaż rozwiązanie krok po kroku
  • 1

    Krok 1: Inicjalizacja (Przed pętlą)

    Zapisujemy stan początkowy naszych zmiennych. Mamy n=4n = 4 oraz wynik=1wynik = 1. Sprawdzamy warunek pętli: 4>04 > 0 jest prawdą, więc wchodzimy do środka.

  • 2

    Krok 2: Pierwszy obrót pętli

    Wykonujemy pierwszą instrukcję: wynik ← wynik * n, czyli 14=41 \cdot 4 = 4. Nasza zmienna wynik to teraz 4.
    Następnie: n ← n - 1, co daje nam n=3n = 3. Warunek dalej jest spełniony (3>03 > 0).

  • 3

    Krok 3: Kompletna tabelka (Aż do fałszu)

    Powtarzamy ten proces, aż warunek pętli przestanie być spełniony. Gotowa tabelka na Twojej karcie egzaminacyjnej powinna wyglądać tak:

    Krok pętlinnwynikWarunek (n>0n > 0)
    Start41Prawda (4>04 > 0)
    134Prawda
    2212Prawda
    3124Prawda
    4024Fałsz (Koniec)

    Odpowiedź: Dzięki tabelce widzimy wyraźnie, że algorytm po zakończeniu wypisze wartość 24 (jest to klasyczny algorytm silni: 4!4!).

  1. Złożoność obliczeniowa (Notacja Big O)

Złożoność obliczeniowa określa, jak bardzo wydłuża się czas działania algorytmu w zależności od rozmiaru danych wejściowych (oznaczanych w informatyce jako nn).

Na maturze rzadko musisz liczyć każdą matematyczną operację – wystarczy oszacować rząd wielkości. Twoim głównym celem podczas analizy pseudokodu powinno być poszukiwanie pętli.

  1. Jak błyskawicznie rozpoznać złożoność?

🚀 Liniowa: O(n)O(n)

Najczęstsza na maturze. Pojawia się, gdy mamy tylko jedną pętlę przechodzącą przez elementy. Jeśli ilość danych wzrośnie 10 razy, czas wykonania również wzrośnie 10 razy.

DLA i = 1 DO n WYKONUJ...

🐢 Kwadratowa: O(n2)O(n^2)

Typowa dla np. sortowania bąbelkowego. Rozpoznasz ją po dwóch zagnieżdżonych w sobie pętlach. Jeśli dane wzrosną 10 razy, czas wzrośnie aż 100 razy!

DLA i = 1 DO n:
  DLA j = 1 DO n...

⚡ Logarytmiczna: O(logn)O(\log n)

Ekstremalnie szybka złożoność! Występuje, gdy z każdym krokiem pętli zbiór danych zmniejsza się o połowę (np. wyszukiwanie binarne).

DOPÓKI lewy < prawy:
  srodek = (lewy + prawy) / 2

💎 Stała: O(1)O(1)

Święty Graal programowania. Kod wykonuje się zawsze w tym samym czasie, niezależnie od tego, czy przetwarza 5 elementów, czy 5 miliardów.

if (tablica[0] % 2 == 0):
  WYPISZ "Parzysta"

Nadal czujesz się niepewnie?

To tylko jeden z pewniaków. Na kursie przechodzimy przez nie wszystkie, krok po kroku, aż poczujesz ten spokój.

Pomóżcie mi zdać maturę!