Schemat blokowy to rysunek algorytmu, w którym każdy krok ma swój kształt. Owal oznacza początek i koniec, równoległobok wczytanie lub wypisanie danych, prostokąt obliczenie, a romb pytanie z odpowiedzią “tak” albo “nie”. Kto zna te cztery symbole i zasadę, że strzałki pokazują kolejność, narysuje schemat do każdego zadania ze sprawdzianu z informatyki.
Co to jest algorytm
Algorytm to skończony ciąg jasno określonych kroków, który z danych wejściowych prowadzi do wyniku. Przepis na naleśniki, instrukcja montażu szafki i sposób sprawdzania, czy liczba jest parzysta, są algorytmami, jeśli każdy krok da się wykonać bez zgadywania.
Ten sam algorytm można zapisać na kilka sposobów. Zintegrowana Platforma Edukacyjna, z której korzystają szkoły, obok schematu blokowego pokazuje opis słowny i listę kroków, a jako kolejny sposób wymienia pseudokod. Opis słowny jest najmniej ścisły, lista kroków numeruje polecenia, a pseudokod przypomina już program. Rysunek wygrywa czytelnością, bo rozgałęzienia i powroty pętli widać na pierwszy rzut oka.
W programie algorytm zamienia się w kod. Szerzej o rodzajach algorytmów i strukturach danych piszemy w przewodniku po algorytmach i strukturach danych.
Symbole schematu blokowego
Schemat składa się z pięciu podstawowych elementów. Kształty i ich znaczenie podajemy za materiałem ZPE dla klas IV-VIII:
| Symbol | Nazwa | Do czego służy | Przykład wpisu |
|---|---|---|---|
| owal (elipsa) | blok graniczny | początek albo koniec algorytmu | START, STOP |
| równoległobok | blok wejścia-wyjścia | wczytanie danych albo wypisanie wyniku | Wczytaj liczbę, Wypisz suma |
| prostokąt | blok operacyjny | obliczenie albo zmiana wartości | suma = suma + i |
| romb | blok decyzyjny (warunkowy) | pytanie z dwiema odpowiedziami, każda prowadzi inną drogą | a > b? |
| strzałka | linia przepływu | kierunek i kolejność kroków | → |
Blok decyzyjny ma jedno wejście i dwa wyjścia, opisane zwykle “TAK” i “NIE” albo “prawda” i “fałsz”. Bloki graniczne bywają rysowane jako elipsa, okrąg albo prostokąt z mocno zaokrąglonymi rogami. Na sprawdzianie liczy się to, żeby START i STOP wyraźnie różniły się od reszty bloków.
Symbole schematów opisuje międzynarodowa norma ISO 5807 z 1985 roku. Oprócz pięciu podstawowych zna też symbole rzadziej spotykane w szkole, na przykład łącznik, którym przenosi się linię na drugą stronę kartki, i proces zdefiniowany, czyli odwołanie do osobnego podprogramu.
Frontend Master 2026 · Kodożercy
Wreszcie rozumiesz, dlaczego kod od AI raz działa, a raz nie
Frontend Master 2026 to pakiet sześciu kursów Kodożerców, który daje Ci język do prowadzenia kodu od AI: poprawiania, łączenia, rozszerzania i szybkiego znajdowania linijki, którą trzeba zmienić. Bez teorii dla samej teorii.
Wchodzę w to →

Jak narysować schemat blokowy krok po kroku
Schemat rysuje się najłatwiej wtedy, gdy najpierw rozpisze się algorytm słowami, a dopiero potem dobiera kształty. Ta kolejność działa na kartce, w zeszycie i w programie:
- Zapisz, jakie dane algorytm dostaje na wejściu i jaki wynik ma oddać.
- Rozpisz rozwiązanie jako listę kroków, każdy krok w osobnej linijce.
- Przy każdym kroku zdecyduj, czy to wczytanie lub wypisanie (równoległobok), obliczenie (prostokąt) czy pytanie (romb).
- Narysuj blok START na górze kartki i dodawaj kolejne bloki z góry na dół.
- Z każdego rombu poprowadź dwie strzałki i podpisz je “TAK” i “NIE”.
- Jeśli kroki mają się powtarzać, poprowadź strzałkę z powrotem do rombu z warunkiem. Tak rysuje się pętlę.
- Zakończ wszystkie drogi blokiem STOP.
- Sprawdź schemat “na sucho”: weź konkretną liczbę i przejdź palcem po strzałkach, zapisując wartości zmiennych.
Ostatni krok wyłapuje większość błędów. Jeśli przy jakiejś liczbie palec utknie albo pętla nie ma wyjścia, schemat trzeba poprawić, zanim zamienisz go na kod.
Przykłady schematów blokowych z kodem w Pythonie
Pięć przykładów ułożyliśmy od najprostszego do najtrudniejszego. Każdy kod uruchomiliśmy w Pythonie 3 i sprawdziliśmy na kilku danych, a schematy odpowiadają kodowi krok w krok.
Przykład 1: czy liczba jest parzysta
Algorytm wczytuje liczbę i sprawdza resztę z dzielenia przez 2. Reszta 0 oznacza liczbę parzystą. Na tym samym przykładzie ZPE pokazuje budowanie schematu krok po kroku.


liczba = int(input("Podaj liczbę: "))
if liczba % 2 == 0:
print("Liczba jest parzysta")
else:
print("Liczba jest nieparzysta")
Romb w schemacie to instrukcja if w kodzie, a dwa wyjścia rombu to gałęzie if i else. Dla liczby 0 program wypisze, że jest parzysta, i to jest poprawny wynik. Warunek złożony z kilku porównań łączy się operatorami and i or, które działają jak bramki logiczne AND i OR.
Przykład 2: większa z dwóch liczb
Tu algorytm nie tylko wypisuje komunikat, ale zapamiętuje wynik w zmiennej. Obie drogi z rombu prowadzą do tego samego bloku wypisania.


a = int(input("Podaj a: "))
b = int(input("Podaj b: "))
if a > b:
wieksza = a
else:
wieksza = b
print("Większa liczba:", wieksza)
Gdy obie liczby są równe, warunek a > b jest fałszywy i program wybierze b. Wynik jest poprawny, bo obie wartości są takie same.
Przykład 3: suma liczb od 1 do n (pętla)
To pierwszy schemat z pętlą. Strzałka wraca z bloku obliczeń do rombu i algorytm powtarza dodawanie, dopóki warunek i <= n jest prawdziwy. Na tej samej zasadzie pętla liczy kolejne wyrazy ciągu Fibonacciego, tylko zamiast sumy trzyma w pamięci dwa ostatnie wyrazy.


n = int(input("Podaj n: "))
suma = 0
i = 1
while i <= n:
suma = suma + i
i = i + 1
print("Suma:", suma)
Dla n = 5 program wypisze 15, a dla n = 100 wynik 5050. Gdyby w bloku obliczeń zabrakło i = i + 1, warunek nigdy nie stałby się fałszywy i pętla działałaby bez końca. To najczęstszy błąd w schematach z pętlą. Tę samą zasadę powtarzania kroków w JavaScripcie opisujemy w tekście o pętlach w JavaScript.
Przykład 4: NWD, czyli algorytm Euklidesa
Algorytm Euklidesa liczy największy wspólny dzielnik dwóch dodatnich liczb całkowitych. Dopóki druga liczba nie jest zerem, zastępuje parę (a, b) parą (b, reszta z dzielenia a przez b).


a = int(input("Podaj a: "))
b = int(input("Podaj b: "))
while b != 0:
reszta = a % b
a = b
b = reszta
print("NWD:", a)
Dla 48 i 18 program wypisze 6, dla 17 i 5 wynik 1. Dla liczb dodatnich kolejność nie ma znaczenia: przy 18 i 48 pierwszy obrót pętli po prostu je zamieni. Ten sam algorytm da się zapisać rekurencyjnie, o czym piszemy w tekście o algorytmach rekurencyjnych.
Przykład 5: sortowanie bąbelkowe
Sortowanie bąbelkowe porównuje sąsiednie elementy listy i zamienia je miejscami, jeśli stoją w złej kolejności. Po każdym przebiegu największa z nieposortowanych liczb trafia na koniec, dlatego wewnętrzna pętla jest coraz krótsza.


liczby = [5, 1, 4, 2, 8]
n = len(liczby)
for i in range(n - 1):
for j in range(n - 1 - i):
if liczby[j] > liczby[j + 1]:
liczby[j], liczby[j + 1] = liczby[j + 1], liczby[j]
print(liczby)
Program wypisze [1, 2, 4, 5, 8]. Pętla for w Pythonie sama zwiększa licznik, więc w schemacie odpowiadają jej trzy bloki: ustawienie licznika, romb z warunkiem i blok i = i + 1. Inne sposoby sortowania i ich szybkość porównujemy w tekście o rodzajach algorytmów sortowania.
Schemat blokowy online: gdzie narysować go za darmo
Do szkolnego schematu wystarczy kartka, ale w programie łatwiej poprawiać błędy i wkleić wynik do pracy domowej. Dwa darmowe narzędzia pokrywają większość potrzeb.
draw.io (diagrams.net)
draw.io działa w przeglądarce bez zakładania konta, a jego kod jest udostępniony na licencji Apache 2.0. Schemat rysuje się, przeciągając kształty na kartkę i łącząc je strzałkami. Gotowy rysunek wyeksportujesz do PNG, SVG albo PDF. Program ma też integracje między innymi z Dyskiem Google, OneDrive i Visual Studio Code.
Mermaid: schemat zapisany tekstem
Mermaid zamienia tekst na rysunek. Zamiast przeciągać kształty, piszesz kod, a narzędzie samo rozmieszcza bloki. Schematy z tego artykułu powstały właśnie tak. Pierwszy przykład wygląda w Mermaidzie następująco:
flowchart TD
A([START]) --> B[/Wczytaj liczbę/]
B --> C{liczba % 2 == 0?}
C -->|TAK| D[/Wypisz: Liczba jest parzysta/]
C -->|NIE| E[/Wypisz: Liczba jest nieparzysta/]
D --> F([STOP])
E --> F
Według dokumentacji Mermaid nawiasy decydują o kształcie: ([ ]) daje blok o zaokrąglonych końcach na START i STOP, [/ /] równoległobok, [ ] prostokąt, a { } romb. Zapis -->|TAK| dodaje podpis na strzałce, a TD ustawia schemat z góry na dół. Kod wkleisz do darmowego edytora Mermaid Live Editor i od razu zobaczysz rysunek. GitHub wyświetla takie schematy w plikach Markdown, a draw.io przyjmuje kod Mermaid przez menu Arrange > Insert > Mermaid.
Jak poprosić AI o schemat blokowy w Mermaidzie
Czatboty AI piszą kod Mermaid dobrze, bo to zwykły tekst. Opisz algorytm i poproś o konkretny format, na przykład tak:
Narysuj schemat blokowy w składni Mermaid (flowchart TD) dla algorytmu,
który wczytuje n i liczy sumę liczb od 1 do n.
Użyj kształtów: ([ ]) dla START i STOP, [/ /] dla wczytania i wypisania,
[ ] dla obliczeń, { } dla warunków. Podpisz wyjścia warunków TAK i NIE.
Zwróć tylko kod.
Wynik wklej do Mermaid Live Editora i sprawdź go tak samo jak własny schemat: przejdź po strzałkach z konkretną liczbą. Jeśli AI ma Ci pomóc w nauce, narysuj schemat najpierw sam, a czatbota poproś o porównanie z jego wersją.
Najczęstsze błędy w schematach blokowych
Większość błędów na sprawdzianach wynika z kilku powtarzalnych potknięć:
- romb z jednym wyjściem albo z niepodpisanymi strzałkami, a przecież każdy warunek ma dwie odpowiedzi,
- wczytywanie danych w prostokącie zamiast w równoległoboku,
- pętla bez zmiany zmiennej, od której zależy warunek, przez co algorytm nigdy się nie kończy,
- droga, która urywa się w połowie kartki i nie prowadzi do bloku STOP,
- strzałki bez grotów, przy których nie wiadomo, w którą stronę czytać schemat,
- kilka czynności wpisanych do rombu, który powinien zawierać tylko pytanie.
Materiał ZPE zaleca też jeden blok STOP na cały schemat. Kilka bloków końcowych dopuszcza tylko wtedy, gdy algorytm jest tak złożony, że jeden STOP zaciemniłby rysunek.
Najczęstsze pytania
Czym różni się schemat blokowy od pseudokodu?
Schemat zapisuje algorytm rysunkiem, a pseudokod tekstem podobnym do programu, ale bez ścisłej składni konkretnego języka. Schemat lepiej pokazuje rozgałęzienia i pętle, pseudokod szybciej się pisze i łatwiej go przepisać na prawdziwy kod.
Jak w schemacie blokowym oznaczyć pętlę?
Pętlę tworzy romb z warunkiem i strzałka, która z bloku obliczeń wraca do tego rombu. Jedno wyjście rombu prowadzi do kolejnego obrotu pętli, drugie wyprowadza z niej dalej. Norma ISO 5807 zna też osobny symbol granicy pętli, ale w szkole rysuje się pętle rombem.
Czy programista rysuje schematy blokowe w pracy?
Pełne schematy rzadko, ale diagramy przepływu już tak. Zespoły szkicują nimi logikę przed pisaniem kodu, procesy biznesowe i ścieżki użytkownika w aplikacji. Mermaid jest popularny właśnie dlatego, że diagram żyje jako tekst obok kodu. Jeśli dopiero wchodzisz w programowanie, kolejnym krokiem po algorytmach jest programowanie obiektowe.
Podsumowanie
Schemat blokowy budujesz z pięciu elementów: owalu na START i STOP, równoległoboku na wejście i wyjście, prostokąta na obliczenia, rombu na warunki i strzałek wyznaczających kolejność. Najłatwiej narysować go po rozpisaniu algorytmu na listę kroków. Każdy krok dostaje wtedy właściwy kształt, a każdy romb dwa podpisane wyjścia. Pętlę rysuje się strzałką wracającą do warunku i trzeba pamiętać o zmianie zmiennej, która ten warunek kończy. Schemat warto sprawdzić na konkretnej liczbie, zanim zamieni się go na kod. Do rysowania wystarczą darmowe draw.io i Mermaid, a kod Mermaid potrafi napisać czatbot AI, choć wynik trzeba zawsze przejść palcem po strzałkach.
Newsletter · DevstockAcademy & Kodożercy
Bądź na bieżąco ze światem IT, AI i automatyzacji
Co wtorek: newsy z branży, praktyczne tipy i narzędzia które warto znać. Zero spamu.



