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

§ 19. Использование основных алгоритмических конструкций для решения практических задач

"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо и Ю.А. Быкадоров, Е.Н. Войтехович

Объяснение темы В оглавлении: § 19. Использование основных алгоритмических конструкций для решения практических задач

Кратко о теме

Алгоритмические конструкции помогают описать порядок действий так, чтобы получить нужный результат. Линейная конструкция выполняет команды по очереди, ветвление выбирает действия по условию, а цикл повторяет команды. Чтобы решить практическую задачу, сначала определяют исходные данные и результат, а затем выбирают подходящую конструкцию или соединяют несколько. Знание этих правил помогает составлять понятные алгоритмы и программы.

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

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

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

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

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

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

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

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

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

Линейной конструкции достаточно, если все действия выполняются в заданном порядке, а число действий заранее известно. Например, для периметра прямоугольника нужно получить длины сторон, подставить их в формулу P = 2(a + b) и вывести ответ. Выбор между вариантами не требуется, и повторять вычисление несколько раз не нужно. Поэтому ветвление или цикл здесь только усложнили бы алгоритм.

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

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

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

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

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

Чтобы выбрать конструкцию, сравни задачу с описанием в столбце «Когда применяется». Примеры помогают увидеть, какие исходные данные и действия соответствуют каждому виду. Если задаче подходят несколько конструкций, можно соединить их или вложить одну в другую.

Разбор задач

Периметр прямоугольника

Условие. Даны длины двух сторон прямоугольника a и b. Нужно вычислить и вывести его периметр. Поскольку формула одна и дополнительных проверок не требуется, подойдёт линейная конструкция.

  1. Обозначим исходные данные: a и b — длины сторон. Проверим, что обе величины заданы в одинаковых единицах, например в сантиметрах.

  2. Используем формулу P = 2(a + b). Сначала складываем длины двух соседних сторон, затем удваиваем сумму, потому что у прямоугольника по две стороны каждой длины.

  3. Выводим найденное значение P. Здесь все команды выполняются по порядку и каждый шаг нужен для получения ответа.

Ответ. Алгоритм: ввести a и b, вычислить P = 2(a + b), вывести P. Например, если a = 3, а b = 5, то P = 2 · (3 + 5) = 16 единиц длины.

Знак числа

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

  1. Введём число x. Сначала проверим условие x > 0; если оно истинно, выведем сообщение «положительное».

  2. Если первая проверка ложна, проверим x < 0. При истинном условии число отрицательное, потому что оно меньше нуля.

  3. Если обе проверки ложны, остаётся случай x = 0. Выведем сообщение «равно нулю».

Ответ. Алгоритм проверяет условия x > 0 и x < 0, а при двух отрицательных результатах сообщает, что x равно нулю. Например, для x = −4 будет выведено «отрицательное», а для x = 0 — «равно нулю».

Сумма чисел от 1 до N

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

  1. Создадим переменную S для суммы и присвоим ей начальное значение 0. Также зададим счётчик i: он будет последовательно принимать значения от 1 до N.

  2. Для каждого значения i прибавим его к сумме: S = S + i. После этого увеличим счётчик на 1 и продолжим, пока не обработаны все значения, включая N.

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

Ответ. Алгоритм: S = 0; для i от 1 до N выполнять S = S + i; вывести S. Например, при N = 4 получим S = 1 + 2 + 3 + 4 = 10.

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

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

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

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

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

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

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

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

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

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

Как понять, какая алгоритмическая конструкция нужна для задачи?

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

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

Ветвление выбирает один из возможных вариантов действий после проверки условия. Цикл возвращается к командам и выполняет их повторно, пока действует заданное правило или не наступит завершение.

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

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

Когда в алгоритме используют вложенные конструкции?

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

Как проверить, что алгоритм решает задачу для всех допустимых исходных данных?

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

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

§ 19. Использование основных алгоритмических конструкций для решения практических задач

Учебник

Оглавление →
Предмет
Информатика
Класс
8 класс
Учебник
"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо и Ю.А. Быкадоров, Е.Н. Войтехович