СОДЕРЖАНИЕ
1.ОСНОВНЫЕ ПОНЯТИЯ О ЯЗЫКАХ ПРОГРАММИРОВАНИЯ
Основы теории языков программирования
1.2. Классификации языков программирования
2. ОСНОВЫ ОБЪЕКТНО_ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ В С++
3. СОЗДАНИЕ ПРОГРАММНОГО ПРОДУКТА С ПОМОЩЬЮ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ЯЗЫКА ПРОГРАММИРОВАНИЯ С++
3.1.Практическое применение шаблонов классов в С++
3.2. Реализация программного продукта «Матричная арифметика» с помощью шаблонного класса
С развитием компьютерной техники появился машинный язык,
с помощью которого программист мог задавать команды, оперируя
с ячейками памяти, полностью используя возможности машины.
Однако использование большинства компьютеров на уровне машинного языка затруднительно, особенно это касается ввода-вывода. Поэтому от его использования пришлось отказаться.
На современном этапе появилось множество языков, которые позволяют выполнять самые различные по свой структуре и возможностям функции.
В дальнейшем, с развитием языков программирования, появилась возможность адаптировать обработку данных с помощью созданных программных продуктов, что являлось очень удобным, поскольку программисты могут написать программу для конкретной предметной области.
Вместе с этим начали создаваться программы с объектно-ориентированным подходом. Эффективность и необходимость создания таких программ является актуальными в наше время, поскольку основой для удобного пользования программой является, например, дружественный графический интерфейс пользователя, который без знания указанной парадигмы программирования - невозможен.
Целью работы является рассмотрения принципов объектно-ориентированного программирования на языке С++.
Исходя из поставленной цели в работе необходимо решить следующие основные задачи:
– рассмотреть основные определения и классификацию языков программирования;
– охарактеризовать объектно-ориентированный язык программирования С++;
Объект исследования – инструментальное программное обеспечение.
Предмет исследования – объектно-ориентированные языки программирования.
По мере развития вычислительной техники возникали разные методики программирования. На каждом этапе создавался новый подход, который помогал программистам с растущим усложнением программ.
Рассмотрим понятия языка программирования.
Языком программирования называется система обозначений, которая служит для точного описания алгоритмов или инструкций программ для ЭВМ. Стоит отметить, что языки программирования – это искусственные языки. Они отличаются от естественных языков ограниченным числом служебных слов и строгими правилами записи операторов (команд). При их применении по назначению
не допускается свободное толкование выражений (что характерно для естественных языков).[10]
Можно сформулировать перечень требований, которые выставляются
к языкам программирования.
Основные требования, которые предъявляются к языкам программирования, следующие:
– единство - использование одинаковых символов для обозначения родственных или одинаковых понятий в различных частях алгоритма. Количество данных символов должно быть минимальным;
– наглядность – это использование в языке программирования уже существующих символов, которые хорошо известны и понятны как пользователям ЭВМ, так и программистам;[2]
– модульность - описания сложных алгоритмов с помощью совокупности простых модулей, что могут быть составлены в разных частях программы
и использованы в более сложных алгоритмах;
– гибкость - возможность удобного и несложного описания распространенных методов математических вычислений с помощью набора изобразительных средств конкретного языка программирования;[1]
– однозначность - запись любого алгоритма должна быть однозначной и не допускать двойственных трактовок. Отсутствие указанного требования может привести к неправильным результатам функционирования программы.
Язык программирования определяет совокупность лексических, семантических и синтаксических правил, которые используются для составления компьютерной программы. Он дает возможность программисту точно определять, на какие именно события будут реагировать персональные компьютеры при выполнении программы, как будут организованы хранение и передача данных,
а также какие действия нужно выполнять над данными при разных условиях. [6]
Со времени создания первых ЭВМ человечество придумало более 2,5 тысяч языков программирования. Их число пополняется каждый год новыми, зачастую специализированными, языками. Некоторыми из них умеет пользоваться лишь небольшое число разработчиков, другие – известны миллионам людей. Профессиональные разработчики иногда применяют более десятка различных языков программирования в своей работе.[7]
Машинный вид команды программы, состоящий из символов «0»
и «1», указывает, какое действие должен выполнять центральный процессор. Значит для того, чтобы задать ЭВМ последовательность инструкций, которые ему надо выполнить, нужно описать последовательность двоичных кодов для соответствующих команд.
Программы, отображенные в машинном коде, состоят из тысяч команд,
а их создание является занятием сложным и утомительным. Программисту необходимо помнить комбинацию единиц и нулей двоичного кода
для каждой программы, а также бинарные коды адресов данных, которые используются при её выполнении. [1]
Намного проще писать программу на языке программирования, который более близок к естественному языку, а работу по «переводу» данной программы
в машинный код поручить компьютеру.
Рассмотрим краткую поэтапную историю языков программирования.
С конца 50-ых гг. XX ст. начали создаваться первые машинно-независимые языки программирования, но для каждого из них были разработаны компиляторы.
Примерами таких языков являются:
– FORTRAN – для технических и научных расчетов;
– COBOL – для коммерческих приложений;
– BASIC – универсальный язык для начинающих.
С конца 70-ых г. XX ст. начали создаваться такие языки программирования, что позволяли перейти программисту к структурному программированию (применение операторов выбора, ветвления, цикла и отказ от использования операторов перехода (например, goto). К таким языкам относятся:
– Pascal;
–Си.
В основу таких языков положены программные структуры, которые объединяют методы и данные их обработки. В объектно-ориентированных языках сохранялись алгоритмические методы программирования. Для них разработаны IDE - интегрированные среды программирования, которые позволяли визуально проектировать графический интерфейс приложений. К языкам рассматриваемого этапа относяться: [2]
– С++ – усовершенствование алгоритмического языка Си;
– Object Pascal – создан на основе Pascal.
– Visual Basic – для создания приложений с оконным интерфейсом для ОС Windows.
В начале 90-х годов XX ст. в связи с быстрым развитием Интернета созданы языки программирования, обеспечивающие кроссплатформенную совместимость. На подключенных компьютерах к Интернету с различными ОС могли запускаться одни и те же программные продукты. Исходная программа компилировалась
в промежуточный код, который обрабатывался на компьютере встроенной виртуальной машиной. К таким языкам относяться:[4]
– Java - объектно-ориентированный язык, разработан для создания сетевого ПО;
– JavaScript – язык сценариев для Web-страниц.
IDE Visual Studio .Net разработана корпорацией Microsoft и позволяет создавать графические приложения на разных объектно-ориентированных языках программирования:[5]
– Visual Basic .Net;
– C# и J;
– Visual J#.
Все языки программирования классифицируются по четырём основным признакам: процедурные, объектно-ориентированные, логические
и функциональные. [2]
Процедурным программированием называется такой вид программирования, при котором программа состоит из последовательности инструкций и отделена
от данных
Декларативные языки программирования – языки построения и объявлений структур. К ним относят логические и функциональные языки программирования.
В данных языках явно не производятся алгоритмические действия, алгоритм не задается программистом, а проектируется самой программой.
В декларативных языках программирования производится построение какой-либо системы или структуры, то есть объявляются (декларируются) некоторые свойства создаваемого объекта. Такие языки получили широкое использование
в системах автоматизированного проектирования, в моделировании, в CAD-пакетах, системах искусственного интеллекта.[1]
К объектно-ориентированным языкам программирования относятся
языки, в которых функции и переменные группируются в специальные конструкции – классы. Благодаря этому программисты достигают более высокого уровня структуризации программ. Экземпляры, порождённые от созданных классов, вызывают методы (процедуры или функции), которые меняют некоторые свойства (переменные) объектов. С формальной стороны объектно-ориентированный метод написания программ основан на процедурной модели. [7]
Сетевые языки – это языки, которые предназначены для организации взаимодействия компьютеров, которые подключены в локально-вычислительную сеть. Они построены на так называемых принципах интерпретации – интерактивной, построчной обработки строк кода программы, описывающего сценарий сетевого взаимодействия компьютеров.
Машинно-ориентированные языки – языки, изобразительные средства
и наборы операторов которых существенно зависят от архитектуры ЭВМ (структуры памяти, внутреннего языка и т.д.). Такие языки программирования позволяют использовать все особенности и возможности машинно-зависимых языков: [8]
Машинно-независимые языки – средство описания алгоритмов задач
и информации, которые подлежат обработке. Их удобно использовать для широкого круга программистов, они не требуют знания особенностей архитектуры ЭВМ
и ВС.[7]
Такие языки называют высокоуровневыми языками программирования. Также командные последовательности (подпрограммы, процедуры), которые часто используются в машинных программах, представляются отдельными операторами
в высокоуровневых языках. Программист получил возможность сосредоточиться
на особенностях алгоритма, а не расписывать на уровне машинных команд вычислительный процесс.
С расширением области применения вычислительной техники возникает необходимость формализовать постановку и решение различных классов задач. Необходимо создавать такие языки программирования, которые позволили
бы описать требуемые алгоритмы, ориентированные на решение конкретных проблем.[4]
Например, к проблемным языкам относятся следующие:
– Алгол, Фортран – языки для решения математических задач;
– Слэнг, Simula – для моделирования процессов;
– Снобол, Лисп – для работы с использованием списочных структур.
Универсальные языки создаются для широкого круга заданий: научных, коммерческих, моделирования и т.д. Самый первый универсальный язык разработан фирмой IBM – Алгол-68. Он позволяет выполнять работу с разрядами, символами, числами с плавающей и фиксированной запятой, имеет систему операторов управления форматам. Язык учитывает возможности прерывания, имеет соответствующие для этого операторы. Так же предусмотрена возможность параллельного программирования. [7]
| 2020-10-23 Курсовая работа |