Информатика и ИКТ
9 класс

§ 4.3. Программирование как этап решения задачи на компьютере

Ключевые слова:

  • постановка задачи
  • формализация
  • алгоритмизация
  • программирование
  • отладка и тестирование

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

4.3.1. Этапы решения задачи на компьютере

Решение задачи с использованием компьютера включает в себя этапы, показанные на рис. 4.2.

Рис. 4.2.
Этапы решения задачи на компьютере

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

На втором этапе описательная информационная модель формализуется, т. е. записывается с помощью некоторого формального языка. Для этого требуется:

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

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

На четвёртом этапе алгоритм записывается на одном из языков программирования. Вы учитесь записывать программы на языке Паскаль.

На пятом этапе осуществляется отладка и тестирование программы. Этап отладки и тестирования также называют компьютерным экспериментом.

Отладка программы — это процесс проверки работоспособности программы и исправления обнаруженных при этом ошибок. Ошибки могут быть связаны с нарушением правил записи программы на конкретном языке программирования. Их программисту помогает выявить используемая система программирования; она выдаёт на экран сообщения о выявленных ошибках.

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

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

4.3.2. Задача о пути торможения автомобиля

Рассмотрим последовательность прохождения этапов решения задачи на компьютере (см. рис. 4.2) на примере простой задачи.

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

Первый этап. Дано:

v0x — начальная скорость;

vx — конечная скорость (равна нулю, так как автомобиль остановился);

ах — ускорение (равно -5 м/с).

Требуется найти: sx — расстояние, которое автомобиль пройдёт до полной остановки.

Второй этап. В данной ситуации мы имеем дело с прямолинейным равноускоренным движением тела. Формула для перемещения при этом имеет вид:

Упростим эту формулу с учётом того, что конечная скорость равна нулю:

При а = —5 м/с получим:

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

Четвёртый этап. Запишем данный алгоритм на языке программирования Паскаль:

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

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

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

Самое главное

Этапы решения задачи с использованием компьютера:

  1. постановка задачи;
  2. формализация;
  3. алгоритмизация;
  4. программирование;
  5. компьютерный эксперимент.

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

Вопросы и задания

  1. Перечислите основные этапы решения задачи с использованием компьютера.
  2. Что происходит на этапе постановки задачи? Что является результатом этого этапа?
  3. Что происходит на этапе формализации? Что является результатом этого этапа?
  4. Что происходит на этапе алгоритмизации? Что является результатом этого этапа?
  5. Что происходит на этапе программирования? Что является результатом этого этапа?
  6. Что происходит на этапе компьютерного эксперимента? Что является результатом этого этапа?
  7. Какой этап, по вашему мнению, является наиболее трудоёмким?
  8. Как вы считаете, по силам ли одному специалисту реализация всех этапов решения сложной практической задачи? Обоснуйте свою точку зрения.
  9. Как правило, сложные практические задачи решаются большими коллективами разработчиков. Отдельные группы в этих коллективах специализируются на выполнении одного или нескольких этапов решения задачи. Нужно ли в таком случае им иметь представление обо всех этапах решения задачи с использованием компьютера? Обоснуйте свою точку зрения.
  10. Может ли пригодиться в жизни представление об этапах решения задачи с использованием компьютера? Обоснуйте свою точку зрения.
  11. Уличный продавец газет получает а рублей с продажи каждой из первых 50 газет. С продажи каждой из остальных газет он получает на 20% больше.

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

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

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


Рейтинг@Mail.ru