Как представляется алгоритм в виде блок-схемы?
Блок-схема — это графическое представление алгоритма. Она показывает последовательность действий, условия, ввод, вывод и направление переходов между шагами.
Блок-схемы удобны на этапе проектирования: они помогают увидеть логику алгоритма до написания кода.
Основные элементы блок-схемы
Начало и конец
Обычно изображаются овалом или скругленным прямоугольником.
Используются для обозначения входа в алгоритм и его завершения.
Действие
Действие изображается прямоугольником.
Внутри пишут команду:
- присвоить значение;
- выполнить вычисление;
- вызвать подпрограмму;
- изменить переменную.
Например:
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 с.