Современные информационные технологии / 2. Вычислительная техника и программирование

 

Краюшкина А.Ю., Надобенко Е.А.

Карагандинский государственный технический  университет, Казахстан

Философия программирования, заложенная в языке С++

 

Поскольку язык C++ вносит в язык С новую филосо­фию программирования, следует сначала рассмот­реть более старую философию языка С. Вообще, языки программирования имеют дело с двумя основными по­нятиями: данными и алгоритмами. Данные представля­ют собой информацию, которую программа обрабаты­вает. А алгоритмы — это методы, которые программа использует (для обработки данных). Язык С, как и большинство основных языков программирования нашего времени, является процедурным. Это означает, что основное внимание в нем уделяется алгоритмам. Теоре­тически процедурное программирование заключается в том, что сначала определяется последовательность дей­ствий, которая должна быть выполнена компьютером, а затем эти действия реализуются с помощью языка про­граммирования. Программа содержит набор процедур, которые компьютер должен выполнить, чтобы получить требуемый результат. Это во многом похоже на то, как кулинарный рецепт предписывает последовательность действий (процедур), следуя которым повар печет пирог.

По мере того как программы становились все боль­ше, первые процедурные языки, такие как FORTRAN и BASIC, столкнулись с проблемами организационного плана. Например, в программах часто используются инструкции ветвления, которые направляют ход выпол­нения программы в сторону того или иного набора опе­раторов в зависимости от результатов некоторой провер­ки. У многих старых программ такой запутанный ход выполнения (их называют "программы-спагетти"), что понять их, читая, по существу, невозможно, а модифи­кация такой программы может привести к настоящей катастрофе. В ответ на это ученые раз­работали более упорядоченный стиль программирования, который называется структурное программирование. Язык С включает ряд элементов, облегчающих примене­ние структурного программирования. Например, структур­ное программирование ограничивает возможности ветвле­ния (выбора следующего выполняемого оператора) небольшим набором хорошо функционирующих конст­рукций. Эти конструкции (циклы for, while, do while и оператор if else) входят в словарь языка С.

Еще одним из новых принципов программирования было проектирование программ сверху вниз.

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

Важной вехой в развитии программирования явилось создание и широкое распространение языка С++. Этот язык, сохранив средства ставшего общепризнанным стандартом для написания системных и прикладных программ языка С (процедурно-ориентированный язык), ввел в практику программирования возможности нового технологического подхода к разработке программного обеспечения, получившего название «объектно-ориентированное программирование».

Язык программирования C++ - это C, расширенный введением классов, inline-функций, перегруженных операций, перегруженных имен функций, константных типов, ссылок, операций управления свободной памятью, проверки параметров функций.

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

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

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

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

Перечислим некоторые существенные особенности языка С++:

- С++ обеспечивает полный набор операторов структурного программ-мирования;

- Многие операции С++ соответствуют машинным командам и поэтому допускают прямую трансляцию в машинный код;

- С++ поддерживает указатели на переменные и функции;

- С++ поддерживает арифметику указателей, и тем самым позволяет осуществлять непосредственный доступ и манипуляции с адресами памяти.

Литература:

1. Бочков С.О., Субботин Д.М. «Язык программирования С для персонального компьютера», М.:  Радио и связь 2002. -  448 с., в электронном виде;

2. Джехани Н. «Программирование на языке С++», Пер. с англ. – М.: Радио и связь;                             

3. Керниган Б., Ритчи Д., Фьюэр А. «Язык программирования С. Задачи по языку СИ»  Пер. с англ. – М.: Финансы и статистика., в электронном виде;