Как представляется алгоритм в виде блок-схемы?

Блок-схема — это графическое представление алгоритма. Она показывает последовательность действий, условия, ввод, вывод и направление переходов между шагами.

Блок-схемы удобны на этапе проектирования: они помогают увидеть логику алгоритма до написания кода.

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

Начало и конец

Обычно изображаются овалом или скругленным прямоугольником.

Используются для обозначения входа в алгоритм и его завершения.

Действие

Действие изображается прямоугольником.

Внутри пишут команду:

Например:

S = A + B

Ввод и вывод

Ввод и вывод часто изображаются параллелограммом.

Например:

Ввести A, B
Вывести S

Условие

Условие изображается ромбом. Из него обычно выходят две ветви:

Например:

A > B?

Если условие истинно, алгоритм идет по одной ветви. Если ложно — по другой.

Линии потока

Стрелки показывают порядок выполнения шагов. Они связывают блоки и задают направление движения по алгоритму.

Пример словесного алгоритма

Задача: найти большее из двух чисел.

1. Начало.
2. Ввести A и B.
3. Если A > B, то вывести A.
4. Иначе вывести B.
5. Конец.

Та же логика в виде блок-схемы текстом

[Начало]
   ↓
[Ввод A, B]
   ↓
< A > B? >
  да ↓       ↓ нет
[Вывод A] [Вывод B]
      ↓     ↓
     [Конец]

Типовые алгоритмические конструкции

Следование

Блоки идут один за другим. Это самая простая конструкция.

Ветвление

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

Цикл

Цикл изображается с помощью условия и стрелки, которая возвращает выполнение к предыдущим действиям.

Например, для цикла с предусловием сначала проверяется условие, затем выполняется тело, после чего стрелка возвращает к условию.

Требования к хорошей блок-схеме

Хорошая блок-схема должна быть:

Вывод

блок-схема представляет алгоритм как систему стандартных графических блоков и стрелок. Она показывает порядок действий, условия, циклы, ввод и вывод, помогая понять алгоритм до его программной реализации.

Источники

  • Семакин И.Г. Основы программирования и баз данных. Учебник. - М.: Академия, 2014. - 224 с.
  • Симонова Е.В. Структуры данных в C#. Линейные и нелинейные динамические структуры. - Лань, 2018. - 152 с.
  • Бертран Мейер. Почувствуй класс. Учимся программировать хорошо с объектами и контрактами. - М.: Национальный Открытый Университет "ИНТУИТ": БИНОМ. Лаборатория знаний, 2011. - 775 с.
  • Мэтт Вайсфельд. Объектно-ориентированное мышление. - СПб.: Питер, 2014. - 304 с.
  • Ривест Р., Штайн К., Лейзерсон Ч., Кормен Т. Алгоритмы: построение и анализ. - М.: Вильямс, 2007. - 1296 с.
  • Стивенс Род. Алгоритмы. Теория и практическое применение. - М.: Эксмо, 2017. - 544 с.
  • Рублев В.С. Основы теории алгоритмов. - 2-е издание, исправленное. - М.: Научный мир, 2008. - 128 с.
  • Гольдберг Г.Л. Основы алгоритмизации и программирования. - М.: Академия, 2012. - 384 с.
  • Лаврищева И.В. Технология программирования. - М.: Горячая линия - Телеком, 2011. - 400 с.
  • Сергеев И.С., Сухоруков А.И., Шестаков А.А. Программирование: учебник для вузов. - М.: БИНОМ. Лаборатория знаний, 2013. - 512 с.