На Горох
Информатика

§ 22. Этапы решения задачи с помощью алгоритма

"Информатика (в 2 частях)", Могилев А.В., Могилева В.Н., Цветкова М.С.

Объяснение темы В оглавлении: § 22. Этапы решения задачи с помощью алгоритма

Кратко о теме

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

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

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

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

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

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

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

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

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

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

Из текста получают формальную модель, когда заменяют слова обозначениями и зависимостями. Например, длину и ширину прямоугольника можно обозначить a и b, а площадь записать как S = ab. Единицы измерения приводят к согласованному виду, чтобы вычисления имели правильный смысл, а ограничения не позволяли использовать недопустимые данные.

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

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

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

Этапы решения задачи с помощью алгоритма

ЭтапЧто выполняютОсновной вопросРезультат этапа
Постановка задачиАнализируют условиеЧто дано и что требуется?Сформулированная задача
Формализация задачиВводят обозначения и зависимостиКак описать условие математически?Формальная модель
Разработка алгоритмаОпределяют порядок действийКакие шаги приведут к ответу?План решения
Запись алгоритма или программыЗаписывают план понятным способом или на языке программированияКак точно выразить каждый шаг?Алгоритм или программа
Тестирование и отладкаПроверяют работу и исправляют ошибкиРаботает ли решение на разных данных?Исправленное решение
Получение и анализ результатаПолучают ответ и сопоставляют его с условиемИмеет ли ответ правильный смысл?Проверенный результат

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

Разбор задач

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

Условие: по известным длине a и ширине b прямоугольника определить площадь и периметр. Здесь данные уже заданы, а ограничения состоят в том, что длина и ширина должны быть положительными. Решение не требует выбора, поэтому используется последовательный алгоритм.

  1. Ввести значения a и b и проверить, что они больше нуля.
  2. Вычислить площадь по формуле S = ab.
  3. Вычислить периметр по формуле P = 2(a + b).
  4. Вывести S и P, указав единицы измерения.

Ответ: алгоритм последовательно получает две величины и по формулам находит оба результата. Например, при a = 5 см и b = 3 см получаются S = 15 см² и P = 16 см. При проверке важно убедиться, что единицы длины одинаковы.

Площадь треугольника по трём сторонам

Условие: по сторонам a, b и c определить, существует ли треугольник, и найти его площадь. Нельзя сразу применять формулу, потому что произвольные три числа не всегда являются сторонами треугольника. Значит, в алгоритме необходимо ветвление.

  1. Ввести a, b и c.
  2. Проверить условия a + b > c, a + c > b и b + c > a.
  3. Если хотя бы одно условие не выполняется, вывести сообщение, что треугольник не существует.
  4. Если все условия выполнены, вычислить p = (a + b + c) / 2.
  5. Найти площадь по формуле S = √(p(p − a)(p − b)(p − c)) и вывести ответ.

Ответ: алгоритм сначала проверяет допустимость данных, а затем считает площадь только в подходящем случае. Тест с равными сторонами помогает проверить обычную ситуацию, а набор 2, 3, 6 — отказ по неравенству треугольника.

Максимум и количество его повторений

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

  1. Прочитать первое число, принять его за максимум и установить счётчик равным 1.
  2. По очереди читать остальные числа.
  3. Если новое число больше максимума, заменить максимум и установить счётчик 1.
  4. Если оно равно максимуму, увеличить счётчик на 1; меньшие числа пропустить.
  5. После окончания ввода вывести максимум и счётчик.

Ответ: для последовательности 4, 7, 2, 7, 5, 7 результатом будут максимум 7 и три повторения. Проверка на одинаковых числах показывает работу счётчика, а проверка на одном элементе — правильность начальной установки.

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

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

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

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

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

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

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

Тема опирается на умение выделять известные и неизвестные величины, записывать математические зависимости и проверять вычисления. Без этих навыков трудно построить точную формальную модель.

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

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

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

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

Можно ли сразу писать программу, не составляя алгоритм?

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

Чем постановка задачи отличается от её формализации?

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

Как подобрать тесты для проверки алгоритма?

Нужно выбрать обычные, граничные и особые случаи, например нулевые, минимальные или повторяющиеся значения. Для каждого теста результат должен быть заранее известен или проверяем другим способом.

Почему программа может работать без ошибок, но выдавать неверный результат?

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

Что делать, если результат алгоритма не соответствует условию задачи?

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

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

§ 22. Этапы решения задачи с помощью алгоритма

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика (в 2 частях)", Могилев А.В., Могилева В.Н., Цветкова М.С.