На Горох
Информатика, 11 класс

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

"Информатика. Базовый уровень", Босова Л.Л., Босова А.Ю.

Объяснение темы В оглавлении: § 6. Алгоритмические структуры

Кратко о теме

Алгоритмические структуры — способы организовать команды так, чтобы исполнитель получил нужный результат. Основу большинства алгоритмов составляют последовательность действий, ветвление и цикл. Последовательность задаёт порядок команд, ветвление выбирает путь по условию, а цикл повторяет действия. Эти структуры можно сочетать и вкладывать друг в друга, поэтому с их помощью описывают как простые вычисления, так и сложные процессы. Умение различать структуры помогает составлять алгоритмы и находить ошибки в программах.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Линейная алгоритмическая структура — команды выполняются последовательно, одна за другой, без выбора и повторения. Порядок действий заранее задан в алгоритме: сначала исполнитель выполняет первую команду, затем следующую. Такая структура нужна для задач, где шаги не зависят от условий и не должны повторяться.

Ветвление — структура, в которой дальнейшие действия выбираются в зависимости от истинности условия. Условие — проверяемое утверждение, которое может быть истинным или ложным, например «число делится на 2 без остатка». Ветвление нужно, когда алгоритм должен по-разному действовать в разных ситуациях.

Цикл — структура, в которой одна или несколько команд повторяются. Повторения могут продолжаться заданное число раз или до тех пор, пока соблюдается условие. Цикл нужен, чтобы не записывать одинаковые действия много раз и обрабатывать последовательности данных.

Вложенная структура — алгоритмическая структура, помещённая внутрь другой структуры, например цикл внутри ветвления. Внутренняя часть выполняется в соответствии с правилами внешней: например, цикл сработает только в выбранной ветви. Вложение нужно для описания ситуаций, где одного выбора или повторения недостаточно.

Как это устроено

Сложный алгоритм строят из небольшого числа базовых структур: последовательности, ветвления и цикла; их можно соединять и вкладывать друг в друга. Это удобно, потому что любую задачу можно разбить на отдельные действия, проверки и повторяющиеся шаги. Сначала определяют, какие операции нужны, затем выбирают для каждой подходящую структуру. Например, вычисления могут идти последовательно, а проверка результата — определять дальнейший путь.

В линейной структуре порядок команд задаёт порядок выполнения: каждая следующая команда начинается после завершения предыдущей. Поэтому результат одной команды может стать исходными данными для следующей. Если перепутать порядок, алгоритм может использовать ещё не полученное значение или выдать неверный ответ. Линейная запись подходит, когда все действия нужны и выполняются ровно один раз.

Ветвление начинается с проверки условия: при истинном условии выполняется одна последовательность действий, при ложном — другая или ни одна из них. Проверка нужна, чтобы алгоритм мог учитывать разные входные данные, а не выполнять одинаковый набор команд во всех случаях. В полной форме заданы обе ветви, в неполной — только действия для истинного условия. После выполнения выбранной части алгоритм обычно продолжает работу дальше.

В цикле команды повторяются; число повторений может определяться заранее либо зависеть от условия, которое проверяется до или после выполнения тела цикла. Повторение избавляет от необходимости копировать однотипные команды и позволяет обрабатывать данные по шагам. При проверке до выполнения тела цикл может не запуститься, если условие сразу ложно. При проверке после выполнения тело сработает хотя бы один раз, поскольку условие оценивают уже после первого прохода.

Вложение структур позволяет описывать сложные алгоритмы, но для корректной работы важно, чтобы условия и повторения были организованы так, чтобы алгоритм завершался и выполнял нужные действия. Например, внутри цикла может находиться ветвление, которое выбирает способ обработки очередного значения. Границы каждой структуры задают, к каким командам относится условие и что именно повторяется. Если границы или изменения данных выбраны неверно, алгоритм может пропустить нужное действие, повторить лишнее или не остановиться.

Основные алгоритмические структуры

Таблица помогает сопоставить структуру с тем, как исполнитель проходит команды и принимает решение о следующем шаге. При выборе структуры сначала спросите себя: все ли действия обязательны, нужно ли выбирать путь или повторять команды. Примеры показывают типичные задачи, но один алгоритм может сочетать несколько структур.

СтруктураКак выполняются командыКак определяется дальнейший ходПример применения
ЛинейнаяПоследовательно, каждая команда один раз после предыдущейПорядок заранее задан, проверки выбора нетВычислить периметр прямоугольника по длине и ширине
ВетвлениеВыполняется одна из последовательностей действий или ни однаПо результату проверки условияОпределить, чётное ли введённое число
Цикл с условиемКоманды повторяются, пока условие допускает продолжениеПо условию, проверяемому до или после тела циклаПовторять обработку значений до достижения заданного условия
Цикл с заданным числом повторенийТело выполняется указанное количество разПо счётчику и заданным границам повторенияНайти сумму целых чисел от 1 до n

Разбор задач

Задача 1. Составить алгоритм вычисления периметра прямоугольника по его длине и ширине. Здесь не требуется ни выбора, ни повторения: нужно получить два значения, выполнить вычисление и показать результат. Значит, подходит линейная структура. Формула периметра — P = 2(a + b), где a и b обозначают длину и ширину.

  1. Ввести значения a и b.
  2. Вычислить P = 2(a + b), то есть сложить длину и ширину, а сумму умножить на 2.
  3. Вывести значение P.

Ответ: алгоритм состоит из ввода длины и ширины, вычисления по формуле и вывода периметра. Для проверки можно подставить, например, a = 3 и b = 5: тогда P = 2 · 8 = 16.

Задача 2. По введённому числу определить, является ли оно чётным. Нужны разные ответы для двух случаев, поэтому выбираем ветвление. Признак чётности целого числа — остаток от деления на 2 равен нулю. Проверка n mod 2 = 0 задаёт условие, а ветви выводят подходящие сообщения.

  1. Ввести целое число n.
  2. Вычислить остаток от деления n на 2 и проверить условие n mod 2 = 0.
  3. Если условие истинно, вывести «число чётное»; иначе вывести «число нечётное».

Ответ: для n = 8 остаток равен 0, поэтому алгоритм сообщает, что число чётное; для n = 7 остаток равен 1, и ответ будет «нечётное». Проверка использует обе ветви и показывает, что результат зависит именно от значения условия.

Задача 3. Найти сумму всех целых чисел от 1 до n. Количество слагаемых заранее задаётся числом n, поэтому удобно использовать цикл со счётчиком. Чтобы не потерять первое слагаемое, начнём с суммы 0 и счётчика 1. На каждом шаге добавим счётчик к сумме и увеличим его на единицу.

  1. Ввести n, присвоить сумме S значение 0, а счётчику i — значение 1.
  2. Пока i ≤ n, прибавлять i к S и увеличивать i на 1.
  3. После завершения цикла вывести S.

Ответ: при n = 4 цикл последовательно добавит 1, 2, 3 и 4, поэтому S = 10. Условие i ≤ n включает последнее число, а увеличение i гарантирует переход к следующему слагаемому и завершение цикла.

Типичные ошибки

Считать, что ветвление обязательно содержит две ветви. В неполном ветвлении действия задаются только для истинного условия, а при ложном алгоритм просто продолжает работу. Ошибку допускают, когда смешивают ветвление с обязательным выбором между двумя командами. Проверьте запись: если для одного из исходов никаких специальных действий не нужно, вторая ветвь не обязательна.

Не изменять в цикле счётчик или данные, от которых зависит условие. Тогда условие может оставаться истинным, и цикл будет выполняться бесконечно. Обычно это происходит, если забыли увеличить счётчик или изменить обрабатываемое значение. Проследите за одной итерацией: переменная, влияющая на остановку, должна меняться так, чтобы условие в итоге стало ложным.

Проверять условие цикла не в тот момент. При проверке до выполнения тела цикл может не выполнить его ни разу, а при проверке после — выполнить как минимум один раз. Ошибка возникает, когда выбирают вид цикла, не учитывая, нужно ли действие при изначально ложном условии. Проверьте начальное значение и спросите, должен ли алгоритм обработать хотя бы один элемент.

Неправильно располагать границы вложенных структур. Из-за этого команда может оказаться вне нужной ветви или выполняться не на каждом повторении цикла. Такое случается, когда неясно, какие команды относятся к телу цикла или к ветви условия. Для самопроверки проследите выполнение на одном примере и отметьте, какие команды запускаются при каждом возможном исходе.

Связь с другими темами

Для работы с алгоритмическими структурами нужны понятия алгоритма, команды, исполнителя и условия, а также умение читать алгоритм на выбранном языке. Эти знания помогают определить, какие действия исполнитель может выполнить и как описать проверку. Структуры применяются при программировании, разработке моделей и описании процессов решения задач. Далее они пригодятся при изучении языков программирования, процедур и алгоритмов обработки данных.

Что запомнить

  • Базовые структуры алгоритма — следование, ветвление и цикл.
  • В линейной структуре команды выполняются по порядку.
  • Ветвление выбирает действия по результату проверки условия.
  • Цикл повторяет команды, пока выполняется заданное правило.
  • Циклы бывают с проверкой условия до или после выполнения тела.
  • Базовые структуры можно соединять и вкладывать друг в друга.
  • Условие цикла и изменение данных должны обеспечивать его завершение.

Частые вопросы по теме

Какие алгоритмические структуры называют базовыми?

К базовым структурам относят следование, ветвление и цикл. Из них можно составлять более сложные алгоритмы, соединяя структуры и помещая одни внутрь других.

Чем ветвление отличается от цикла?

Ветвление выбирает, какие действия выполнить, в зависимости от условия. Цикл повторяет команды, а условие или заданное число повторений определяет, когда остановиться.

В чём разница между циклом с предусловием и циклом с постусловием?

В цикле с предусловием условие проверяют до выполнения тела, поэтому тело может не выполниться ни разу. В цикле с постусловием проверка происходит после тела, которое выполнится как минимум один раз.

Можно ли вкладывать один цикл в другой?

Да, один цикл можно поместить внутрь другого. Тогда для каждого повторения внешнего цикла выполняются повторения внутреннего, если это предусмотрено его условием.

Почему цикл может выполняться бесконечно?

Цикл может не завершиться, если его условие всегда остаётся истинным. Например, внутри цикла не меняется счётчик, от которого зависит условие остановки.

Спросить по теме параграфа

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

Учебник

Оглавление →
Предмет
Информатика
Класс
11 класс
Учебник
"Информатика. Базовый уровень", Босова Л.Л., Босова А.Ю.