2.1 Основы алгоритмизации#
Для решения той или иной задачи, как правило, недостаточно выполнения только одной инструкции. Практически всегда нам приходится выстраивать целую последовательность взаимосвязанных инструкций. Всю эту последовательность, совокупность выполняемых инструкций, используемых для решения, можно назвать алгоритмом решения этой задачи, а сам процесс составления такого алгоритма - алгоритмизацией. В реальных практических задачах не всегда будет хватать таких линейных алгоритмов, подразумевающих просто поочередное выполнение всех инструкций подряд. Для более сложных задач алгоритмы будут также усложняться и становиться не линейными, а разветвленными, когда та или иная инструкция может выполняться в зависимости от определенного условия, и циклическими, когда некоторая последовательность инструкций будет повторяться.
В Python для реализации ветвления могут использоваться две управляющие конструкции:
Условная конструкция (и тернарный оператор) - исполнение блока инструкций в случае выполнения указанного условия
Сопоставление по шаблонам - надстройка над условной конструкцией, упрощающая форму записи в некоторых случаях
Для циклов также две управляющие конструкции:
Условный цикл - повторение блока инструкций пока не выполнится указанное условие
Счетный цикл - повторение блока инструкций для каждого элемента в указанной последовательности
Данных инструкций уже достаточно для решения любой практической задачи. Вся сложность заключается в том, чтобы суметь декомпозировать задачу на более простые и свести к использованию отдельных инструкций, условий и циклов. В текущем модуле мы рассмотрим синтаксис перечисленных управляющих конструкций и примеры их применения.