Программирование Печать

Вернуться к оглавлению

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

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

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

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

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

Программирование за время существования компьютеров настолько усложнилось, расширилось и разрослось, что стало самой настоящей индустрией. Даже термин утвердился - «индустрия программирования».

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

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

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

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

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

Современное программирование - дело очень сложное. Им занимаются и в особых математических и вычислительных центрах, и в отраслевых научно-исследовательских институтах.

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

Программистов классифицируют так: программист-аналитик, он же программист-математик, системный программист, просто программист, программист-оператор. К ним еще относятся и программирующие пользователи, которых часто вместе с непрограммирующими пользователями называют конечными пользователями.

В программировании выделяют несколько самостоятельных разделов.

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

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

Именно системные программы переводят программы пользователей в программы на машинном языке.

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

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

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

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

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

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

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

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

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

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

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

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

- Опеть этого грубияна плохо запрограммировали!