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

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

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

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

Кратко о теме

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

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

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

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

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

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

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

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

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

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

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

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

Формулировку проверяют на однозначность: должно быть понятно, какие данные вводить и какой ответ считать правильным. Это необходимо, поскольку расплывчатое условие разные люди могут истолковать по-разному. Например, слово «стоимость» само по себе не сообщает, надо ли учитывать скидку. Чтобы ответы можно было сравнить, все существенные правила нужно назвать заранее.

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

Описание задачи на этапе постановки

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

Элемент постановкиЧто указатьВопрос для проверки
Цель решенияКакую задачу нужно решить и для чегоЧто требуется сделать?
Исходные данныеКакие значения известны и вводятсяЧто получает программа на вход?
Требуемый результатКакие сведения нужно найти или вывестиЧто должно быть получено?
Ограничения и дополнительные условияКакие значения допустимы и какие правила учитыватьДля каких случаев действует решение?

Разбор задач

Задача 1. Даны два числа. Требуется определить их сумму. Укажите исходные данные и результат. Разберём условие, не переходя к способу сложения: здесь важно сначала распределить сведения по ролям. Тогда станет понятно, что поступает в программу и что требуется сообщить в ответе.

  1. Найдём то, что известно до начала решения: условие сообщает о двух числах. Значит, входными данными будут первое и второе число, обозначим их a и b.

  2. Определим, что требуется получить: нужно сложить эти значения. Следовательно, программа должна вычислить и выдать сумму a + b.

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

Ответ: исходные данные — два числа a и b; результат — их сумма a + b. Здесь результат не является третьим заранее известным числом: его находят при решении. Такое различение не позволяет перепутать вход и выход.

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

  1. Выпишем исходные данные: длина прямоугольника и его ширина. Обозначим их a и b; обе величины должны быть положительными.

  2. Назовём требуемый результат: площадь прямоугольника S. Для вычисления применяют зависимость S = a × b, поскольку площадь равна произведению длины на ширину.

  3. Соединим части в постановку: по положительным значениям длины a и ширины b требуется определить площадь S прямоугольника. Указание «положительные» задаёт допустимые входные значения.

Ответ: исходные данные — положительные длина a и ширина b; результат — площадь S = a × b. Если бы ограничение забыли, постановка допускала бы, например, нулевые или отрицательные значения, хотя условие задачи этого не разрешает. Поэтому проверяем, что в формулировке сохранены и цель, и требование к данным.

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

  1. Выделим исходные данные: цена одного товара и количество купленных товаров. Если считать, что скидки нет, стоимость можно найти умножением цены на количество.

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

  3. Уточним недостающие сведения: нужно сообщить, есть ли скидка, а если есть — указать её размер или правило расчёта. После этого можно однозначно определить стоимость покупки.

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

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

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

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

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

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

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

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

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

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

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

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

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

Чем исходные данные отличаются от результата?

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

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

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

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

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

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

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

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

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

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

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

Учебник

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