Сделал блок-схему на tikz и не знаю, как:
1. Выровнять последние блоки, чтобы они были на одном уровне без расчета расстояния below = xcm of
2. Как вствить текст "да" и "нет" рядом с границей ближайшего узла на расстоянии 2мм для нижнего и 3 мм - для левого. Свойства "very near start" и "near start" неудобно подбирать.
Код:
\documentclass{article}
\usepackage[a4paper,landscape]{geometry}
\usepackage[cm]{fullpage}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,backgrounds,calc,positioning}
\begin{document}
\begin{tikzpicture}[node distance = 1cm, auto]
\tikzset{
line/.style = {draw},
block/.style = {rectangle, draw, text width=3em, text centered, rounded corners, minimum height=2em},
comment/.style = {rectangle, draw, text centered, rounded corners, minimum height=2em,fill=white},
question/.style = {shape=chamfered rectangle, chamfered rectangle xsep=2cm, draw},
terminator/.style = {shape=rounded rectangle, draw, inner sep=2mm},
}
\node[terminator] (node-1) {\parbox{4.1cm}{Определение платы\\ за коммунальные услуги\\ в многоквартирном доме}};
\node [comment, below = of node-1.south] (node-15) {В конце указаны пункты 307 ПП};
\begin{scope}[on background layer]
\draw[fill=gray!10] ($(node-15.south west)+(-2mm,-2mm)$) rectangle ($(node-15.north east)+(2mm, 2mm)$);
\end{scope}
\path [line] (node-1) -- ($(node-15.north)+(0mm,+2mm)$);
\node [question, below = of node-15.south] (node-2) {ОПУ установлены?};
\path [line] ($(node-15.south)+(0mm,-2mm)$) -- (node-2);
\node [question, below = of node-2] (node-3) {ИПУ установлены?};
\node [block, below = of node-3.south] (node-4) {23};
\path [line] (node-3) -- node [near start] {да} (node-4);
\node [question, right = of node-4] (node-5) {Жилое помещение?};
\path [line] (node-3) -| node [very near start] {нет} (node-5);
\node [right = of node-5, inner sep=0pt,minimum size=0pt] (node-5-1) {};
\node [block, below= of node-5.south] (node-6) {21};
\node [block, below = of node-5-1] (node-7) {20};
\path [line] (node-5) -- node [near start] {да} (node-6);
\path [line] (node-5) -| node [near start] {нет} (node-7);
\path [line] (node-2) -- node [near start] {да} (node-3);
\node [question, right = 10 cm of node-3] (node-8) {ИПУ установлены?};
\node [block, below = of node-8] (node-9) {16};
\path [line] (node-8) -- node [near start] {да} (node-9);
\node [question, right = of node-9, node distance=4cm] (node-10) {Жилое помещение?};
\node [right = of node-10, inner sep=0pt,minimum size=0pt] (node-10-1) {};
\path [line] (node-8) -| node [very near start] {нет} (node-10);
\node [block, below = of node-10] (node-11) {19};
\node [block, below = of node-10-1, node distance=3cm] (node-12) {20};
\path [line] (node-10) -- node [near start] {да} (node-11);
\path [line] (node-10) -| node [near start] {нет} (node-12);
\path [line] (node-2) -| node [pos=0.03] {нет} (node-8);
\node[coordinate, below = 3 cm of node-4] (node-13) {};
\path [line] (node-4) -- (node-13);
\path [line] (node-6) |- (node-13);
\path [line] (node-7) |- (node-13);
\path [line] (node-9) |- (node-13);
\path [line] (node-11) |- (node-13);
\path [line] (node-12) |- (node-13);
\node[terminator, below = of node-13, node distance=1.5cm] (node-14) {конец};
\path [line] (node-13) -- (node-14);
\end{tikzpicture}
\end{document}