"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович
Получение решения задачи — это выполнение готовой программы на компьютере для конкретных исходных данных. На этом этапе алгоритм превращается в практический результат: программа обрабатывает введённые значения и выдаёт ответ. Но одного запуска недостаточно, чтобы считать задачу решённой. Нужно проверить порядок и формат ввода, сопоставить ответ с условием и испытать программу на нескольких тестах, в том числе на особых случаях.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Получение решения задачи — выполнение разработанной программы на компьютере для конкретных исходных данных и получение результата. Иными словами, программу запускают, чтобы она выполнила алгоритм не в теории, а для заданных значений. Этот этап нужен, чтобы получить ответ на поставленный в задаче вопрос.
Исходные данные — значения, которые вводят в программу или задают перед её запуском для решения задачи. Например, если программа складывает числа, исходными данными будут два числа. Их нужно подготовить заранее и вводить так, как предусмотрено программой, иначе она может обработать значения не в том порядке.
Результат — выходные данные, полученные после выполнения программы и соответствующие условию задачи. Результат может быть числом, текстом или другим ответом, предусмотренным задачей. Это понятие помогает не путать сам факт вывода с правильным решением: ответ ещё нужно сопоставить с вопросом.
Тестовый пример — набор исходных данных, для которого заранее можно определить или проверить ожидаемый результат. Например, для сложения 3 и 5 заранее ясно, что ответ должен быть 8. Тесты нужны, чтобы проверить, правильно ли программа работает на разных входных значениях.
Получение решения следует за разработкой программы: алгоритм уже записан на языке программирования и готов к выполнению. Пока программа не запущена, у нас есть только описание действий, но нет ответа для конкретных значений. Поэтому запуск связывает готовый алгоритм с практической задачей и её данными. Если программа ещё не подготовлена, получать решение на компьютере пока нечем.
Перед запуском подготавливают исходные данные и проверяют, в каком порядке их нужно вводить. Программа ожидает определённый формат: например, сначала одно число, затем другое, или значения, разделённые пробелом. Если изменить порядок, программа может выполнить вычисление, но ответ будет относиться к другим данным. Соблюдение формата помогает избежать ошибок ввода и делает результат осмысленным.
Во время выполнения программа обрабатывает введённые данные по заданному алгоритму и формирует выходные данные. Компьютер последовательно выполняет команды: получает значения, применяет к ним операции и выводит предусмотренный ответ. Поэтому на этом этапе важно дать программе именно те значения, для которых нужно решить задачу. На экране или в файле появляются выходные данные, которые затем можно изучить.
Полученный результат сопоставляют с условием задачи, потому что сам по себе вывод ещё не доказывает, что задача решена. Нужно проверить, отвечает ли он на поставленный вопрос и соответствует ли ожидаемому смыслу. Например, если требуется найти большее число, программа должна вывести одно из введённых чисел, а не их сумму. Для теста с известным ответом сравнение можно выполнить напрямую.
Проверку проводят на разных тестовых примерах, включая простые и граничные случаи. Один обычный пример показывает, как программа работает в типичной ситуации, а особый тест помогает обнаружить ошибку в условии или обработке необычных значений. Если ожидаемый и фактический результаты не совпали, возвращаются к проверке данных, алгоритма и программы. После исправления проверку повторяют, чтобы убедиться, что решение стало верным и на других тестах.
| Этап проверки | Что сделать | На что обратить внимание |
|---|---|---|
| Подготовка исходных данных | Выбрать значения для задачи и выяснить формат ввода. | Порядок значений, допустимые типы и ограничения. |
| Запуск программы | Ввести данные и выполнить программу. | Нет ли сообщения об ошибке; введены ли все нужные значения. |
| Получение выходных данных | Записать или прочитать ответ программы. | Соответствует ли вывод ожидаемому виду результата. |
| Проверка результата | Сравнить вывод с условием и известным ответом. | Отвечает ли результат на вопрос задачи и верен ли по смыслу. |
| Повторная проверка на тестах | Запустить программу на других наборах данных. | Работает ли решение в обычных и граничных случаях. |
Пользуйтесь таблицей как последовательным планом: переходите к следующему этапу после проверки предыдущего. Если ошибка появилась при вводе, сначала исправьте данные; если ответ не совпал с ожидаемым, проверьте алгоритм и программу. Повторный запуск на разных тестах помогает убедиться, что исправление не решило только один частный случай.
Задача 1. Программа вычисляет сумму двух чисел; проверьте её на входных данных 3 и 5. Сначала определим ожидаемый результат вручную, чтобы было с чем сравнить вывод. Затем выполним проверку по шагам.
Ответ: ожидаемая сумма равна 8. Если программа вывела другое значение, одного теста недостаточно для поиска причины, но уже ясно, что результат надо перепроверить.
Задача 2. Программа находит большее из двух чисел; проверьте пары 4 и 9, 7 и 7. Первая пара проверяет обычную ситуацию, когда одно число больше другого. Вторая нужна потому, что одинаковые значения могут потребовать отдельной проверки условия сравнения.
Ответ: для пары 4 и 9 программа должна выдать 9, а для пары 7 и 7 — 7. Второй тест особенно полезен: он помогает заметить ошибку, если программа учитывает только случай строгого превосходства одного числа.
Задача 3. Программа вычисляет частное двух чисел; подберите тесты для обычного деления, деления на ноль и отрицательных значений. Здесь нужно проверить не только вычисление, но и то, предусмотрена ли реакция на недопустимые исходные данные. Сначала отделим допустимые примеры от случая, который нельзя обрабатывать как обычное деление.
Ответ: тесты 8 и 2, а также −8 и 2 проверяют корректность вычисления частного. Пара 8 и 0 проверяет обработку недопустимого случая; программа должна реагировать на него так, как предусмотрено при разработке.
Считать запуск доказательством правильности. Программа может выполниться без сообщения об ошибке, но использовать неверный алгоритм или выдать не тот ответ. Так думают, потому что успешный запуск заметен сразу, а смысл вывода требует отдельной проверки. Проверьте результат на примере с заранее известным ответом и сравните его с условием задачи.
Ограничиться одним набором данных. Программа может правильно решить один пример и ошибиться на других значениях или в граничной ситуации. Это происходит, когда тест выбирают только для удобства и считают его достаточным. Проверьте несколько разных случаев, в том числе простые и особые значения.
Ввести данные в неверном порядке или формате. Тогда программа может обработать значения не так, как задумано, или завершиться с ошибкой. Причина часто в том, что порядок ввода кажется несущественным, хотя команды программы рассчитаны на конкретную последовательность. Сверьте ввод с тем, что ожидает программа, и повторите запуск.
Не сверять вывод с условием и ожидаемым ответом. Формально полученные выходные данные могут не отвечать на поставленный вопрос. Так случается, если внимание сосредоточено на выводе компьютера, а не на смысле задачи. Спросите себя, решает ли ответ задачу, и сравните его с результатом, который должен получиться на выбранном тесте.
Для получения решения нужны условие задачи, исходные и выходные данные, алгоритм решения и программа, записанная на языке программирования. Условие помогает понять, какой ответ требуется, а алгоритм задаёт порядок действий. Программа превращает алгоритм в команды, которые компьютер может выполнить; введённые данные позволяют применить эти команды к конкретному случаю.
Получение решения связано с отладкой программ, проверкой алгоритмов и решением задач с помощью компьютера. Отладка помогает обнаруживать и исправлять ошибки, а тестирование показывает, как программа ведёт себя на разных входах. Этот этап полезен каждый раз, когда нужно убедиться, что компьютерная программа действительно выполняет поставленную задачу.
Чем получение решения отличается от составления программы?
При составлении программы алгоритм записывают на языке программирования. Получение решения происходит позже: программу запускают с конкретными данными и получают результат.
Какие данные нужно подготовить перед запуском программы?
Нужно подготовить исходные данные, которые требуются для решения задачи. Их вводят в том порядке и формате, которые предполагает программа.
Как понять, что полученный результат верен?
Сравните результат с вопросом задачи и ожидаемым ответом для выбранных исходных данных. Для уверенности проверьте программу на нескольких тестовых примерах.
Зачем проверять программу на нескольких тестовых примерах?
Один тест может не выявить ошибку, которая проявляется при других значениях. Несколько примеров, включая граничные случаи, помогают проверить разные ситуации.
Что делать, если программа выполнилась, но выдала неверный ответ?
Проверьте, верно ли введены данные и соответствует ли их порядок формату программы. Затем пересмотрите алгоритм и программу, найдите причину ошибки и повторите проверку на тестах.
23.7. Получение решения задачи (этап 5)