Алгоритмы и блок-схемы

Понятие алгоритма, свойства, способы записи. Блок-схемы по ГОСТ 19.701-90. Основные алгоритмические структуры: следование, ветвление, цикл.

Алгоритмы и блок-схемы

1. Понятие алгоритма

Алгоритм — конечная последовательность точных, понятных исполнителю команд (инструкций), выполнение которых приводит к решению поставленной задачи.

Свойства алгоритма

СвойствоОписание
ДискретностьАлгоритм разбивается на отдельные шаги (команды)
ПонятностьКаждая команда понятна исполнителю
Определённость (детерминированность)Каждая команда однозначно определяет действие, нет неоднозначности
РезультативностьВыполнение алгоритма завершается за конечное число шагов с получением результата
МассовостьАлгоритм применим к некоторому классу входных данных

Исполнитель алгоритма

Исполнитель — некоторый объект (человек, робот, компьютер), способный выполнять определённый набор команд. Каждый исполнитель имеет свою систему команд (СКИ — совокупность команд, которые он понимает и может выполнить).

Способы записи алгоритмов

  1. Словесный — на естественном языке
  2. Графический — блок-схемы
  3. Программный — на языке программирования
  4. Псевдокод — на условном алгоритмическом языке

2. Блок-схемы (ГОСТ 19.701-90)

Блок-схема — графическое представление алгоритма с использованием стандартных геометрических фигур (блоков), соединённых линиями потока управления.

Основные элементы блок-схем

ФигураНазваниеНазначение
ОвалНачало/конецОбозначает начало или завершение алгоритма
ПараллелограммВвод/выводВвод исходных данных или вывод результатов
ПрямоугольникПроцесс (действие)Выполнение операции или вычисления
РомбУсловие (решение)Проверка условия, выбор одной из двух ветвей
ШестиугольникПодготовкаОрганизация циклических конструкций (заголовок цикла)
КругСоединительСвязывание частей блок-схемы на разных листах

Правила построения

3. Базовые алгоритмические структуры

Следование (линейный алгоритм)

Команды выполняются последовательно, одна за другой.

[Начало] → [Действие 1] → [Действие 2] → ... → [Действие N] → [Конец]

Пример: вычисление площади круга по радиусу

Начало → Ввод R → S = π·R² → Вывод S → Конец

Ветвление (развилка)

Выбор одного из двух путей в зависимости от условия.

Полное ветвление:

[Условие] —да—→ [Действие 1] → [Продолжение]
     |
    нет
     ↓
[Действие 2] → [Продолжение]

Неполное ветвление (обход):

[Условие] —да—→ [Действие] → [Продолжение]
     |
    нет
     ↓
[Продолжение]

Цикл (повторение)

Многократное выполнение последовательности команд.

Цикл с предусловием (пока):

[Условие] —да—→ [Тело цикла] → [Возврат к проверке]
     |
    нет
     ↓
[Продолжение]

Тело цикла выполняется 0 или более раз. Может не выполниться ни разу.

Цикл с параметром (для):

[Начальные значения] → [Тело цикла] ← (проверка условия: повторить или выйти)
                           ↓
                     [Продолжение]

Тело цикла выполняется заранее известное количество раз.

Примеры вопросов из тренажёра

  1. Q: Какая фигура в блок-схеме обозначает начало или конец алгоритма?

    A: верный ответ — Овал

    Объяснение: Овал (эллипс) по ГОСТ 19.701-90 обозначает начало или конец алгоритма.

  2. Q: Какая фигура в блок-схеме обозначает проверку условия?

    A: верный ответ — Ромб

    Объяснение: Ромб обозначает проверку условия с двумя выходами: «да» и «нет».

  3. Q: Какая фигура обозначает ввод или вывод данных?

    A: верный ответ — Параллелограмм

    Объяснение: Параллелограмм по ГОСТ обозначает операции ввода или вывода данных.

  4. Q: Какое свойство НЕ относится к обязательным свойствам алгоритма?

    A: верный ответ — Красота

    Объяснение: Обязательные свойства: дискретность, понятность, определённость, результативность, массовость. Красота — не свойство.

  5. Q: Что означает свойство массовости алгоритма?

    A: верный ответ — Работает для класса задач

    Объяснение: Массовость — алгоритм применим к разным входным данным из одного класса задач.

Пройти тему «Алгоритмы и блок-схемы» в приложении