Понятие о программах и программировании
Программировать работу компьютера - это значит сделать так, чтобы компьтер совершил действие, которое вы для него предполагали. Программа - это полный набор инструкций, позволяющих компьютеру в каждой ситуации однозначно и правильно выполнить следующее действие. Весь процесс программирования в общем случае подразумевает формулировку цели программы, анализ содержания задачи с целью ее решения, создание программы в том виде, в котором она может быть воспринята компьютером, отладку программы и обеспечение функционирования программы в рабочем режиме.
В самой общей постановке программа должна преобразовывать набор входной информации в набор выходной информации. Для получения результата необходимо представить процесс вычисления в виде последовательности элементарных операций. Однако сам процесс написания программы далеко не прост. Формулировка желаемого результата некоторого действия редко включает описание самого действия. Очень часто получение нужного результата является очень сложной задачей, требующей оригинальных решений. Проблема здесь в том, что при обычном описании на естественном языке многие детали как очевидные остаются за кадром. Однако если мы формулируем формальное предписание, которое должно быть истолковано компьютером однозначно и не содержать неопределенности, мы должны предусмотреть все возможные варианты развития событий, все варианты возможных данных и правильно на них реагировать.
При этом существует много нюансов, связанных с тем, что при формулировке решения на естественном языке многие вещи опускаются за очевидностью. Между тем для того, чтобы компьютер мог их учесть, их надо формализовать. Процесс формулировки задачи таким образом, чтобы ее можно было описать числовой и текстовой информацией, а также составление самого описания называется математическим моделированием. Этап математического моделирования предшествует этапу непосредственного программирования. При этом многие авторы ставят на первое место не разработку алгоритмов, а разработку структурной организации информации, описывающей задачу. Такие авторы утверждают, что после удачного выбора структур данных построение алгоритмов работы с данными не представляет никаких трудностей. Конечно, как строгое правило это не верно, но в применении к большинству задач обработки информации, в-частности, для большинства экономических задач, мы склонны с ним согласиться.