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

24.6. Получение решения задачи (этап 5)

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

Объяснение темы В оглавлении: 24.6. Получение решения задачи (этап 5)

Кратко о теме

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Действия при получении решения задачи

ДействиеЧто выполняютЧто проверяют
Подготовка входных данныхВыбирают и вводят значения по условию задачи.Соответствуют ли данные вопросу и ограничениям задачи.
Запуск программыВыполняют программу с подготовленными значениями.Запустилась ли программа и обработала ли введённые данные.
Получение и запись результатаСчитывают выходные данные и фиксируют их.Понятно ли, какой ответ выдала программа.
Проверка результатаСравнивают фактический ответ с ожидаемым.Совпадает ли ответ с результатом независимой проверки.
Действия при обнаружении ошибкиИщут причину, исправляют её и повторяют выполнение.Устранена ли ошибка и верен ли ответ на повторных тестах.

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

Разбор задач

Сумма двух чисел

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

  1. Подготовим входные данные: первое число равно 3, второе — 5. Они подходят условию, потому что программа должна складывать именно два числа. Порядок их ввода должен соответствовать тому, как программа принимает значения.
  2. Запустим программу с этими данными. Она выполняет предусмотренное действие — складывает введённые числа. Проверим, что в ответе показано значение суммы, а не одно из исходных чисел.
  3. Вычислим ожидаемый результат независимо: 3 + 5 = 8. Сравним его с выходными данными программы. Совпадение показывает, что этот тест пройден.

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

Проверка чётности

Условие. Программа определяет, является ли число чётным. Проверим её для числа 12, заранее указав ожидаемый ответ. Число чётное, если делится на 2 без остатка, поэтому ожидаем сообщение о чётности. Это правило даёт независимый способ проверить результат.

  1. Введём число 12 как входные данные. Убедимся, что задача просит проверить именно его, а не другое значение. По правилу делимости 12 делится на 2 без остатка.
  2. Запустим программу и прочитаем выходные данные. Она должна сообщить, что число чётное. Если программа выводит противоположный ответ, результат не соответствует проверке.
  3. Сравним фактический ответ с ожидаемым. Совпадение означает, что тест для числа 12 пройден. Оно не исключает ошибки на других числах, поэтому при проверке полезны и другие примеры.

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

Наибольшее из трёх чисел

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

  1. Подготовим обычный набор, например 2, 7 и 4. Ожидаемый ответ — 7, поскольку оно больше каждого из двух других значений. Запустим программу и сравним с ним полученный ответ.
  2. Проверим равные значения, например 5, 5 и 5. Ожидаемый наибольший результат — 5, хотя наибольших чисел в наборе несколько. Посмотрим, не выдаёт ли программа ошибку из-за равенства.
  3. Возьмём отрицательные значения, например −8, −3 и −6. Наибольшее здесь −3: оно ближе к нулю, чем остальные. Сравнение ответа с этим значением проверяет обработку отрицательных чисел.

Ответ: правильные результаты для выбранных тестов — 7, 5 и −3. Если хотя бы один ответ отличается, зафиксируйте, на каком наборе возникло расхождение. Это поможет сузить поиск ошибки и повторить проверку после исправления.

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

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

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

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

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

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

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

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

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

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

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

Что означает этап получения решения задачи?

Это выполнение программы на заданных входных данных с последующим получением результата. Полученный ответ нужно записать и проверить.

Почему недостаточно просто написать программу?

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

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

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

Зачем проверять программу на нескольких наборах данных?

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

Что делать, если программа выдаёт неверный ответ?

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

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

24.6. Получение решения задачи (этап 5)

Эта же тема в других учебниках

21.6. Получение решения задачи (этап 5) "Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович 22.6. Получение решения задачи (этап 5) "Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович 23.7. Получение решения задачи (этап 5) "Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович 25.8. Получение решения задачи (этап 5) "Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович 28.6. Получение решения задачи (этап 5) "Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович

Учебник

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