Программирование и компьютерная программа. Общие сведения

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

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

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

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

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

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

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

 

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

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

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

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

Другой задачей практикума является совершенствование навыков непосредственно программирования:

· ознакомление с современными средствами разработки;

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

· получение опыта создания более-менее крупных многомодульных программ,

· отработка приемов отладки программного кода,

· формирование «хорошего стиля» программирования.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: