Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Вопрос к учащимся. При обучении программированию до сих пор рисуют блок-схемы?

ОбразованиеПрограммирование+2
  · 4,8 K
старший разработчик в pseven.io  · 15 янв 2022
Судя по всему, вопрос исходит из предпосылки, что рисование блок-схем — это какое-то старое упражнение, сейчас уже не нужное. Но это не совсем так, блок-схема (flowchart) — это просто визуальное представление некоего процесса. Она отображает базовые понятия процессов и алгоритмов, такие как шаги и связи между ними. Эти понятия не могут «устареть», так же как не может устареть, например, арифметика.
Единственный элемент блок-схем, который в контексте алгоритмов действительно объявлен устаревшим, но который до сих пор появляется в некоторых учебниках — это передача управления (переход) в произвольную точку.
Вот пример блок-схемы, в которой цикл изображён условным переходом на предыдущий шаг:
А вот как цикл изображают в современных блок-схемах:
Условные переходы раскритиковал Э. Дейкстра в своём эссе "Go To Statement Considered Harmful" ещё в 1968 году. Тогда было математически доказано, что для тьюринг-полноты в языке достаточно трёх управляющих элементов:
  • выполнение одного из двух блоков в зависимости от условия
  • повтор блока, если некое условие выполняется
  • последовательное выполнение команд внутри блока
Такой подход был назван "структурным программированием". Он позволяет производить доказательство корректности выполнения алгоритма и решить т.н. "проблему останова" (для кода с оператором go to проблема останова математически нерешаема).
С тех пор оператор go to и его аналоги практически перестали использовать везде кроме ассемблеров и ассемблероподобных эзотерических языков. В новых языках такой конструкции вообще нет.
Единственно, где такой элемент всё ещё встречается в контексте обучения программированию — это те самые блок-схемы, которые отображают не сам алгоритм, а процесс прохода по нему. Они позволяют ученику понять, как компьютер интерпретирует код, но для отображения структуры программы уже не подходят.
Зато с их помощью можно прекрасно проиллюстрировать переходы между состояниями конечного автомата, поэтому для изучения теории алгоритмов блок-схемы тоже актуальны.
Что-то осталось непонятно? Спроси в нашей группе в Телеграме!Перейти на t.me/jstsmentor
6 экспертов согласны
Согласна с ответом и объяснением. Блок-схемы в различных нотациях и моделях используются повсеместно - и не только... Читать дальше
Научные заметки о жизни: zen.yandex.ru/id/5c43498395753900ac66852d  · 13 янв 2022
Любые схемы очень помогают представить суть дела.
Электрические, гидравлические, алгоритмические.
С одним условием: они должны оставаться обозримыми.
Поэтому как раз при обучении и при решении простеньких задач блок-схемы очень полезны. Но все попытки сделать на их основе инструмент для промышленного производства программ кончились неудачей.
2 эксперта согласны
Согласен
Не всегда при обучении рисуют. И рисуют не только при обучении. Это очень полезный инструмент проектирования, наряду с UML, логическими схемами и другими видами диаграмм.
1 эксперт согласен
Мой диплом на ПОВТиАС был графическим редактором блок-схем с возможностью генерации по ним программы на Паскаль... Читать дальше
Head of the Testing Expertise. Индивидуальное обучение программированию и менторинг...  · 9 нояб 2021
Конечно рисуют. Если их не давать, то обучение программированию становится бессмысленным и появляется новая плеяда джунов, не понимающая разницу между программированием и кодированием.
Недавно проходил курс по программированию на C++. И да блок-схемы рисуют до сих пор, но только при обучении, при практике практически не используем.
Дополняю ответ, при практике, точнее на работе использую чаще, сушествует даже специалист по названию бизнес-аналит... Читать дальше
Программист-кукольник)  · 17 янв 2022
Что за программирование без блок-схем. При обучении без них никак. Опытный программист простые алгоритмы и в уме разложит, а начинающий должен научиться на простых примерах составлять блок-схемы, чтобы потом использовать в сложных случаях.
Автор каналов QA from Zero to Hero, СРТВ Гараж. Любитель олдскульных машин, энтузиаст.   · 9 нояб 2021
Да, рисуют. Если речь про алгоритмы или архитектуру, то диаграммы в том или ином виде никто не отменял.
И не только при обучении рисуют.
А если у тестировщика на руках схема с алгоритмом, то вообще шикарно.
1 эксперт согласен
Это Вы ещё забыли упомянуть про UML... ))