Блок-схема из кода на Rust по ГОСТ 19.701-90

Вставьте функцию на Rust — ГОСТграф построит блок-схему алгоритма по ГОСТ 19.701-90. Поддерживаются if/else, циклы for, while и loop, match и ранние return. Подходит для функций библиотек и утилит.

Пример: блок-схема из кода на Rust

fn factorial(n: i32) -> i32 {
    let mut result = 1;
    let mut i = 2;
    while i <= n {
        result *= i;
        i += 1;
    }
    return result;
}
Да Нет Start let mut result = 1;let mut i = 2; i <= n result *= i;i += 1; return result; End
Блок-схема функции на Rust по ГОСТ 19.701-90, построенная ГОСТграфом из кода слева.

Особенности разбора Rust

  • Для надёжного отображения финального шага лучше использовать явный return вместо хвостового выражения.
  • match разворачивается в последовательность решений по веткам.
  • Заимствования и времена жизни не влияют на схему — она строится по структуре управления.

Частые вопросы

Распознаётся ли хвостовое выражение без return?

Явный return надёжнее: хвостовое выражение как возвращаемое значение может не попасть в финальный блок схемы.

Как отображается match?

match превращается в лестницу решений — по одной ветке на образец.

Блок-схемы из кода на других языках