\documentclass[border=5pt]{standalone}

\usepackage{tikz}
\usetikzlibrary{arrows.meta,calc,positioning,shapes.geometric}

\begin{document}
\begin{tikzpicture}[
  font=\sffamily,
  >=latex,
  node distance=2cm,
  every node/.style={align=center},
  block/.style={
    rectangle, 
    draw,
    rounded corners,
    text width=6em,
    text centered,
    minimum height=3em,
    fill=blue!10
  },
  line/.style={draw, -Latex},
]

% --- Węzły (bloki) ---
\node[block] (start) {Początek};
\node[block, right=2.5cm of start] (ws_wo) {Określenie\\ WS i WO};
\node[block, right=2.5cm of ws_wo] (zadania) {Konstrukcja\\ zadań};
\node[block, below=1.5cm of zadania] (pktZad) {Oblicz $P^{\max}_{\text{zad}}$\\ \textit{(i ew. minima)}};
\node[block, below=1.5cm of pktZad] (sumDzial) {Sumowanie\\ punktów w dziale};
\node[block, below=1.5cm of sumDzial] (minmaxDzial) {Wylicz $P^{\min}_{\text{dział}}$\\ i $P^{\max}_{\text{dział}}$};
\node[block, below=1.5cm of minmaxDzial] (sumPoziom) {Sumowanie\\ punktów w poziomie};
\node[block, below=1.5cm of sumPoziom] (minmaxPoziom) {Wylicz $P^{\min}_{\text{poziom}}$\\ i $P^{\max}_{\text{poziom}}$};
\node[block, left=2.5cm of minmaxPoziom] (ocena) {Przeliczanie\\ punktów na oceny};
\node[block, below=1.5cm of minmaxPoziom] (koniec) {Ocena\\ końcowa};

% --- Połączenia (strzałki) ---
\draw[line] (start) -- (ws_wo);
\draw[line] (ws_wo) -- (zadania);
\draw[line] (zadania) -- (pktZad);
\draw[line] (pktZad) -- (sumDzial);
\draw[line] (sumDzial) -- (minmaxDzial);
\draw[line] (minmaxDzial) -- (sumPoziom);
\draw[line] (sumPoziom) -- (minmaxPoziom);
\draw[line] (minmaxPoziom) -- (koniec);

% Dodajemy rozgałęzienie do bloku „Przeliczanie ocen”.
\draw[line] (minmaxPoziom) -- ++(-2.5,0) -- (ocena);
\draw[line] (ocena) -- ++(0,-1.5) -- ++(2.5,0) -- (koniec);

\end{tikzpicture}
\end{document}

