как нарисовать блок-схему ветвления и цикла (если и пока)?
Понял, как читать блок-схемы, а вот рисовать самому пока не получается. Особенно где есть условие if (если) и цикл while (пока).
Как правильно изобразить ветвление и цикл на блок-схеме? Куда стрелки рисовать, чтобы было правильно? Запутался, где они должны возвращаться назад.
2 ответа
Тут весь фокус в ромбе и в том, куда идут стрелки после него. Разберём оба случая.
Ветвление (if / если): Ромб с вопросом, из него две стрелки — «да» и «нет». Обе ветки делают что-то своё, а потом СНОВА сходятся в одну точку и идут дальше.
<условие?>
/ \
да нет
| |
[действие1] [действие2]
\ /
\ /
(сходятся, идём дальше)
Главное: ветки расходятся, делают своё, потом снова соединяются.
Цикл (while / пока): Тут стрелка ВОЗВРАЩАЕТСЯ назад к проверке. Логика: проверяем условие → если «да», делаем действие и возвращаемся к проверке снова → если «нет», выходим из цикла.
--> <условие?> --нет--> (выход, идём дальше)
| | да
| [тело цикла]
|________| (стрелка назад к условию)
Запомни разницу:
- в ветвлении стрелки расходятся и больше назад не возвращаются
- в цикле одна стрелка обязательно идёт НАЗАД, к условию — именно это и создаёт повтор
Если руками рисовать лень или хочется проверить, что схема правильная — собери её в конструкторе блок-схем на сайте (/flowchart), он сам покажет, куда ведут стрелки.
Короткое правило, которое всё решает:
- если (ветвление) — ромб, две стрелки да/нет, ветки потом снова сливаются в одну. Назад НЕ возвращаемся.
- пока (цикл) — ромб, и после тела цикла стрелка идёт ОБРАТНО к ромбу. Эта стрелка назад = повтор.
Если видишь стрелку, ведущую вверх к условию — это цикл. Нет такой стрелки — обычное ветвление.