Рисование ГОСТ блок-схем алгоритмов прямо в отчете (LaTeX и TikZ)

Требования стандарта ГОСТ 19.701-90 (ИСО 5807-85)

В курсовых работах, дипломах и отчетах по практике блок-схемы алгоритмов проверяются на соответствие ГОСТ 19.701-90 («Схемы алгоритмов, программ, данных и систем»). Наряду со скриншотами интерфейса программ по ГОСТ, нормоконтроль строго следит за геометрией элементов схем:

  • Процесс (действие, операция): прямоугольник.
  • Решение (условие, ветвление): ромб. Линии выходов подписываются («Да» / «Нет» или «1» / «0»).
  • Данные (ввод/вывод): параллелограмм.
  • Пуск/останов (терминатор): овал или прямоугольник с закругленными боковыми сторонами.
  • Предопределенный процесс (вызов функции): прямоугольник с двойными вертикальными линиями по бокам.

Блок схемы для лабораторной по госту: шаблон на TikZ

Чтобы получить векторные блок схемы для лабораторной по госту прямо внутри LaTeX-отчета, используйте библиотеки пакета TikZ: shapes.geometric дает ромб и параллелограмм, а shapes.misc — скругленный терминатор rounded rectangle (аналогично строятся диаграммы состояний в конечных автоматах и графах TikZ). Текст в блоках набран прямым шрифтом, как требует правило из раздела о фигурах ниже:

LaTeX
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, shapes.misc, 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 для GitHub, GitLab и Obsidian

Если документация живет в репозитории GitHub или GitLab либо в заметках Obsidian, наглядная схема алгоритма по гост 19.701 онлайн строится блоком диаграмм Mermaid: эти платформы сами рисуют схему по тексту. В Labkeeper рендерера Mermaid нет, и такой блок покажется обычным кодом, поэтому для PDF-отчета используйте TikZ из раздела выше.

Markdown (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([Конец])
```

Синтаксис ([текст]) создает терминатор, [/текст/] — блок ввода/вывода, а {"условие"} — блок проверки ветвления.

Таблица стандартных геометрических фигур и их значение

Общие правила оформления графики:

  • Все линии потока должны быть параллельны границам листа (строго вертикальные и горизонтальные сегменты под прямым углом).
  • Стрелки на линиях обязательны только тогда, когда поток направлен снизу вверх или справа налево (против стандартного чтения).
  • Текст внутри блоков центрируется и пишется шрифтом без курсива.

Правила размещения линий связи и подписей «Да/Нет»

Подписи «Да» и «Нет» размещаются над или сбоку от выходящих из ромба линий связи. Если схема не помещается на одну страницу, используются круглые соединители с цифрами внутри (межстраничные соединители).

Практические советы

1

Единый размер блоков

В TikZ задавайте фиксированный minimum width=3.5cm, чтобы блоки одного смыслового уровня имели одинаковую ширину независимо от длины текста внутри.

2

Подрисуночная подпись по ГОСТ

Обязательно оборачивайте схему в окружение figure с подписью: \caption{Схема алгоритма вычисления корней уравнения}. С babel подпись по умолчанию выходит как «Рис. 1:»; слово «Рисунок» и тире настраиваются пакетом caption, как в статье об оформлении скриншотов по ГОСТ.

Попробуйте прямо сейчас

Верстайте отчеты с блок-схемами в Labkeeper

Онлайн-редактор LaTeX с пакетом TikZ: блок-схемы алгоритмов прямо в коде отчета и PDF после нажатия «Выполнить».

Другие статьи