Основные этапы решения алгоритмических задач на компьютере
Подход многих моих учеников к решению поставленных мной задач по программированию достаточно однообразен, и в народе носит название "метода тыка". Получив задание, такие, с позволения сказать, "программисты" садятся к компьютеру и начинают комбинировать операторы языка Бейсик в различных вариантах, пытаясь достичь требуемого результата. Да, иногда получается. Но чаще – нет. Почему? Потому что отсутствует системный подход к задаче, что, во-первых, разбазаривает самый драгоценный человеческий ресурс – время, а во-вторых, не приносит плодов ни в программировании, ни в жизни.
Предлагаю метод, как, на мой взгляд, надо подходить к решению программистских задач. А вы уж решайте сами. "Это вам не мелочь по карманам тырить", – как говорил незабвенный Остап Бендер, – "тут думать надо!".
Итак, этапы решения алгоритмических задач на компьютере.
- Постановка задачи. Один из самых главных этапов. Вы должны добиться от того, кто дает вам задачу (это можете быть и вы сами) ясной и четкой ее постановки. Вы однозначно и вполне определенно должны понять, что будет результатом решения задачи. Каковы исходные данные? Существуют ли ограничения для этих данных? Можно сказать, что точность и четкость в постановке задачи – это половина дела. Напротив, в случае недопонимания каких-то моментов вероятность непроизводительной траты времени и отрицательного результата резко возрастает.
- Следующий этап – решение вопроса "Как будет реализовываться поставленная задача?". Как достичь требуемых результатов? Каковы способы и методы достижения уясненных на первом этапе целей?
- После первых двух этапов наступает пора еще одного очень важного момента – этапа разработки алгоритма решения поставленной задачи, т. е. структуризация, разбиение задачи на последовательность простых модулей, каждый из которых легко может быть реализован на языке программирования.
- Очередной этап – непосредственный перевод словесного алгоритма или его блок-схемы на выбранный язык программирования и ввод полученной программы в компьютер.
- После ввода программы обычно выясняется, что где-то мы допустили просто синтаксические ошибки, где-то недоработали алгоритм, где-то не хватает исходных данных и т. д. Поэтому теперь начинается отладка программы, иными словами, устранение ошибок и неточностей, допущенных на предыдущих этапах.
- После того как программа заработала, необходимо проверить ее на правильность работы, используя набор контрольных данных (в тех случаях, где это возможно). Так, например, если мы написали программу для расчета корней квадратного уравнения по заданным коэффициентам, то можем проверить работу программы, вводя такие коэффициенты, для которых предварительно были рассчитаны значения корней или их отсутствие. Это так называемый тестовый этап.
- После тестового этапа (если программа его выдержала!), можно применять программу по назначению. Ну и последнее. Страна должна знать своих героев, а потому завершающим этапом работы по решению алгоритмической задачи следует считать документирование, т. е. распечатку листинга программы, снабженную необходимыми комментариями автора. С этого момента разработанная программа становится интеллектуальной собственностью программиста, и им начинает гордиться семья и школа.