Рисование ГОСТ блок-схем алгоритмов прямо в отчете (Markdown/LaTeX)
Требования стандарта ГОСТ 19.701-90 (ИСО 5807-85)
В курсовых работах, дипломах и отчетах по практике блок-схемы алгоритмов проверяются на соответствие ГОСТ 19.701-90 («Схемы алгоритмов, программ, данных и систем»). Наряду со скриншотами интерфейса программ по ГОСТ, нормоконтроль строго следит за геометрией элементов схем:
- Процесс (действие, операция): прямоугольник.
- Решение (условие, ветвление): ромб. Линии выходов подписываются («Да» / «Нет» или «1» / «0»).
- Данные (ввод/вывод): параллелограмм.
- Пуск/останов (терминатор): овал или прямоугольник с закругленными боковыми сторонами.
- Предопределенный процесс (вызов функции): прямоугольник с двойными вертикальными линиями по бокам.
Блок схемы для лабораторной по госту: шаблон на TikZ
Чтобы получить идеальные векторные блок схемы для лабораторной по госту прямо внутри LaTeX-отчета, используйте библиотеку shapes.geometric пакета TikZ (аналогично тому, как строятся диаграммы состояний в конечных автоматах и графах TikZ):
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, arrows.meta, positioning}
% Определение стилей блоков по ГОСТ
\tikzstyle{startstop} = [draw, rounded rectangle, minimum width=3cm, minimum height=1cm, align=center, thick]
\tikzstyle{process} = [draw, rectangle, minimum width=3.5cm, minimum height=1cm, align=center, thick]
\tikzstyle{decision} = [draw, diamond, aspect=2, minimum width=3.5cm, minimum height=1cm, align=center, thick]
\tikzstyle{io} = [draw, trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=3cm, minimum height=1cm, align=center, thick]
\tikzstyle{arrow} = [-{Latex[length=3mm]}, thick]
\begin{tikzpicture}[node distance=1.8cm]
\node (start) [startstop] {Начало};
\node (in) [io, below=of start] {Ввод $A, B$};
\node (dec) [decision, below=of in] {$A > B$?};
\node (p1) [process, below left=1.5cm and 0.5cm of dec] {$Max = A$};
\node (p2) [process, below right=1.5cm and 0.5cm of dec] {$Max = B$};
\node (out) [io, below=3.5cm of dec] {Вывод $Max$};
\node (stop) [startstop, below=of out] {Конец};
\draw [arrow] (start) -- (in);
\draw [arrow] (in) -- (dec);
\draw [arrow] (dec) -| node[above left] {Да} (p1);
\draw [arrow] (dec) -| node[above right] {Нет} (p2);
\draw [arrow] (p1) |- (out);
\draw [arrow] (p2) |- (out);
\draw [arrow] (out) -- (stop);
\end{tikzpicture}
Схема алгоритма по гост 19.701 онлайн: быстрый синтаксис Mermaid
Если вы ведете отчет в Markdown-редакторе, наглядная схема алгоритма по гост 19.701 онлайн строится буквально за пару минут с помощью блоков диаграмм Mermaid:
```mermaid
flowchart TD
Start([Начало]) --> Input[/Ввод массива A/]
Input --> Loop{"i < N"}
Loop -- Да --> Calc["Сумма = Сумма + A[i]"]
Calc --> Step["i = i + 1"]
Step --> Loop
Loop -- Нет --> Output[/Вывод Суммы/]
Output --> Stop([Конец])
```
Синтаксис ([текст]) создает терминатор, [/текст/] — блок ввода/вывода, а {"условие"} — блок проверки ветвления.
Таблица стандартных геометрических фигур и их значение
Общие правила оформления графики:
- Все линии потока должны быть параллельны границам листа (строго вертикальные и горизонтальные сегменты под прямым углом).
- Стрелки на линиях обязательны только тогда, когда поток направлен снизу вверх или справа налево (против стандартного чтения).
- Текст внутри блоков центрируется и пишется шрифтом без курсива.
Правила размещения линий связи и подписей «Да/Нет»
Подписи «Да» и «Нет» размещаются над или сбоку от выходящих из ромба линий связи. Если схема не помещается на одну страницу, используются круглые соединители с цифрами внутри (межстраничные соединители).
Практические советы
Единый размер блоков
В TikZ задавайте фиксированный minimum width=3.5cm, чтобы блоки одного смыслового уровня имели одинаковую ширину независимо от длины текста внутри.
Подрисуночная подпись по ГОСТ
Обязательно оборачивайте схему в окружение figure с подписью: \caption{Схема алгоритма вычисления корней уравнения}.