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

§ 11. Информационные задачи и этапы их решения

"Информатика (базовый уровень)", Гейн А.Г., Юнерман Н.А.

Объяснение темы В оглавлении: § 11. Информационные задачи и этапы их решения

Кратко о теме

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Этапы решения информационной задачи

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

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

Разбор задач

Задача. Нужно найти среднее арифметическое трёх чисел: 6, 9 и 12. Требуется определить, какие данные использовать, задать порядок вычислений и проверить результат. Это небольшая информационная задача: исходные данные — три числа, а результат — одно число.

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

  2. Выделяем данные и строим модель. Обозначим числа a = 6, b = 9 и c = 12; для вычисления достаточно самих чисел и их количества. Предполагаем, что все три числа имеют одинаковое значение при нахождении среднего.

  3. Составляем алгоритм. Сначала складываем числа, затем делим полученную сумму на количество чисел. В общем виде для трёх значений среднее равно (a + b + c) / 3; деление на 3 необходимо, потому что складываются ровно три числа.

  4. Выполняем алгоритм. Получаем 6 + 9 + 12 = 27, затем 27 / 3 = 9. Если бы вместо суммы сразу разделили одно из чисел на 3, это не учитывало бы остальные исходные данные.

  5. Проверяем ответ. Число 9 находится между 6 и 12, а сами значения расположены вокруг него: 6 отстоит на 3 вниз, 12 — на 3 вверх. Проверка подтверждает, что вычисление выглядит правдоподобно; для надёжности можно повторить действия по формуле.

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

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

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

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

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

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

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

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

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

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

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

§ 11. Информационные задачи и этапы их решения

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

Учебник

Оглавление →
Предмет
Информатика
Класс
10 класс
Учебник
"Информатика (базовый уровень)", Гейн А.Г., Юнерман Н.А.