Три структуры алгоритма и ветвление
Любой алгоритм собирается из трёх идей: последовательность, ветвление, повторение. Эта глава — про вторую из них.
Три структуры, из которых строится любой алгоритм
Почти любой алгоритм — от рецепта чая до огромной программы — собирается всего из трёх базовых идей:
Последовательность
Команды выполняются одна за другой, без выбора и возврата назад.
Ветвление
Логический вопрос выбирает один из двух путей; после выполнения ветки пути сходятся.
Повторение
После действия логический вопрос решает: повторить действие или завершить цикл.
Когда одной последовательности не хватает
Простой линейный алгоритм — «выйти из дома, идти гулять» — прекрасно работает, пока в реальной жизни не появляется вопрос. Идёт дождь?
Что такое ветвление
Ветвление — это место в алгоритме, где дальнейшие действия зависят от ответа на вопрос. Каждая развилка начинается с условия — вопроса, на который можно ответить «да» или «нет». Программа не выбирает ветку случайно: она вычисляет условие, и результат определяет путь. Какую бы ветку ни выбрала программа, дальше выполнение обычно продолжается с одного и того же следующего шага:
Это уже не чисто последовательный алгоритм — он ветвится, а затем обе ветки снова сходятся к шагу «Выйти из дома».
От «да/нет» к True/False
Человеческие «да» и «нет» в Python превращаются в два особых значения:
| Человек | Python |
|---|---|
| да | True |
| нет | False |
Именно поэтому следующий раздел — про True и
False — теперь не абстрактная тема «из ниоткуда», а прямое
продолжение идеи ветвления.