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

27.1. Постановка задачи (этап 1)

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

Объяснение темы В оглавлении: 27.1. Постановка задачи (этап 1)

Кратко о теме

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Состав постановки задачи

Элемент постановкиКакой вопрос нужно выяснитьЧто указать в условии
Предметная областьКакая ситуация рассматривается?Объекты, их существенные свойства и связи
Цель решенияЧто требуется сделать?Действие, которое должно привести к ответу
Входные данныеЧто известно заранее?Значения, их типы и назначение
Выходные данныеЧто должен получить пользователь?Результат и его форма представления
Ограничения и допустимые значенияКакие значения разрешены?Диапазоны, единицы измерения, особые случаи
Условия корректности результатаКак понять, что ответ правильный?Правила, которым должен соответствовать результат

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

Разбор задач

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

  1. Предметная область — прямоугольник, его длина и ширина.
  2. Входные данные — длина a и ширина b. Они должны быть заданы в одинаковых единицах измерения и быть положительными: a > 0, b > 0.
  3. Цель — вычислить площадь по формуле S = a · b. Выходные данные — значение площади S с указанием соответствующих квадратных единиц.

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

Задача 2. По трём оценкам ученика определить средний балл и вывести сообщение о выполнении условия допуска к экзамену. Пусть условие допуска задано как средний балл не ниже порога P; само значение порога должно быть известно из условия.

  1. Входные данные — три оценки и порог P; нужно уточнить шкалу и допустимые значения оценок.
  2. Вычисляем числовой результат: M = (x₁ + x₂ + x₃) / 3.
  3. Сравниваем M с P. Выходные данные — средний балл M и логическое сообщение: «допуск выполнен» или «допуск не выполнен».

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

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

  1. Объекты — варианты поездки; для каждого известны стоимость билета, багажа и дополнительных услуг.
  2. Для каждого варианта складываем эти расходы и получаем полную стоимость. Критерий выбора — наименьшая сумма; ограничения могут задавать допустимые варианты или обязательные услуги.
  3. Выход — выбранный вариант и его полная стоимость. Если минимальные суммы равны, следует заранее указать, вывести все варианты или применить дополнительный критерий.

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

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

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

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

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

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

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

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

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

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

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

Зачем формулировать задачу, если её условие уже дано в учебнике?

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

Как отличить входные данные от выходных?

Входные данные известны до запуска алгоритма и передаются ему для обработки. Выходные данные — это то, что алгоритм должен вычислить или сообщить пользователю. Спросите себя: «Что дано?» и «Что требуется найти?».

Нужно ли указывать ограничения, если они не приведены явно?

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

Что делать, если условие задачи допускает несколько толкований?

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

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

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

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

27.1. Постановка задачи (этап 1)

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

21.1. Постановка задачи (этап 1) "Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович 22.1. Постановка задачи (этап 1) "Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович 23.1. Постановка задачи (этап 1) "Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович 24.1. Постановка задачи (этап 1) "Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович 25.4. Постановка задачи (этап 1) "Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович 28.1. Постановка задачи (этап 1) "Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович

Учебник

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