Алгоритмические структуры

Алгоритмические структуры

Как из кирпичей строят здание, так из базовых структур собирают любой алгоритм. Разберём эти структуры.

Чему ты научишься. различать три базовые алгоритмические структуры — следование, ветвление, цикл — и понимать, что такое рекурсия.

Три базовые структуры и рекурсия

Любой алгоритм строится из трёх алгоритмических структур:

АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ:
  ПОСЛЕДОВАТЕЛЬНАЯ  шаги друг за другом      [1]→[2]→[3]
  ВЕТВЯЩАЯСЯ         выбор по условию         <усл?> да/нет → разные шаги
  ЦИКЛИЧЕСКАЯ        повтор, пока верно усл.  ↺ тело цикла

Особый приём — рекурсия: алгоритм (функция) вызывает сам себя для решения такой же, но меньшей подзадачи (например, факториал n! = n · (n−1)!). Рекурсия обязательно должна иметь условие остановки.

Контрольный вопрос. Структура, в которой действие выбирается в зависимости от условия, называется…

Аветвящаяся
Бпоследовательная
Вциклическая

Подсказка: Да/нет.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Структура, в которой шаги выполняются один за другим по порядку, без выбора и без повторов, называется ______. Впиши слово.

Подсказка: Самая простая из трёх — просто по порядку.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Из скольких базовых алгоритмических структур собирается любой алгоритм?

Аиз трёх
Биз двух
Виз пяти

Подсказка: Их перечисляет схема в начале урока.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Что ОБЯЗАТЕЛЬНО должно быть у рекурсии, чтобы она не работала бесконечно?

Аусловие остановки
Бцикл
Вветвление

Подсказка: Иначе функция будет вызывать сама себя без конца.

Онлайн-проверка ответа появится позже

Контрольный вопрос. n! = n · (n−1)! — пример вычисления, где функция вызывает саму себя для меньшей подзадачи. Это называется ______. Впиши слово.

Подсказка: Функция здесь ссылается сама на себя в правой части равенства.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Структура, в которой действия повторяются, пока верно условие, называется…

Ациклическая
Бпоследовательная

Подсказка: Повтор.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Приём, когда функция вызывает сама себя для меньшей подзадачи, — это…

Арекурсия
Бцикл
Вветвление

Подсказка: Например, факториал.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Алгоритм звучит так: «Пока в корзине есть яблоки — бери одно и клади в пакет». Какая это структура?

Ациклическая
Бветвящаяся
Впоследовательная

Подсказка: Слово «Пока» означает повтор действия, пока условие верно.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Алгоритм факториала звучит так: «если n=0, вернуть 1; иначе вернуть n, умноженное на факториал(n−1)». Какие ДВЕ структуры одновременно использованы здесь?

Аветвление и рекурсия
Бцикл и последовательность
Втолько цикл

Подсказка: Есть проверка условия («если n=0») и функция вызывает сама себя.

Онлайн-проверка ответа появится позже

Задание. Опиши словесно (без кода) алгоритм проверки, является ли число чётным, используя ветвящуюся структуру (если/иначе).
1) Опиши этот алгоритм минимум в 3 шагах.
2) Измени его так, чтобы он проверял чётность для СПИСКА из 5 чисел подряд, используя циклическую структуру — опиши, что повторяется и при каком условии цикл останавливается.
3) Объясни, почему для этой задачи (проверка чётности одного числа) НЕ нужна рекурсия.

Подсказка: Ветвление — выбор по условию (чётное/нечётное); цикл — повтор для каждого из 5 чисел; рекурсия нужна, когда задача сводится к себе же меньшего размера.

Онлайн-проверка ответа появится позже

Итог. Любой алгоритм собирается из трёх структур: последовательной (шаги друг за другом), ветвящейся (выбор по условию) и циклической (повтор, пока верно условие). Особый приём — рекурсия, когда функция вызывает сама себя для меньшей подзадачи и обязательно имеет условие остановки.

Что дальше

Эти структуры записывают на языке программирования. О записи алгоритмов следующий урок.

Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева