Добавлен: 17.06.2023
Просмотров: 954
Скачиваний: 4
СОДЕРЖАНИЕ
Основы теории языков программирования
1.2. Классификации языков программирования
2. Характеристика современных языков программирования
2.1. Язык программирования С++
2.2. Язык программирования Java
3. Создание графического приложение на языке программирования высокого уровня
3.1. Интегрированная среда разработки C++ Builder
ВВЕДЕНИЕ
С быстрым развитием вычислительной техники в середине ХХ ст. появился специальный машинный язык, который давал возможность программистам вводить команды для выполнения их процессором, напрямую – оперируя ячейками памяти - Ассемблер.
До 60-х годов персональные компьютеры были очень дорогими устройствами, которые использовались только для отдельных и очень сложных задач, выполняли лишь одну задачу в определенный момент времени.
Языки программирования тех годов, как и компьютеры, были созданы для специфичных таких задач: научные вычисления, экономические и математические расчеты и т.д. Поскольку ЕОМ были дорогостоящими и однозадачными, то и, так называемое, «машинное время» было дорогим – поэтому скорость выполнения инструкций программы стояла на первом месте.
Со временем компьютерная техника стала усовершенствоваться и дешеветь, программное обеспечение разрабатывалось в более широких масштабах и приобретало более дружественный оконный вид.
В нынешнее время актуальной проблемой является создания программных продуктов с помощью современных языков программирования с оконным интерфейсом, чем и обеспечивается удобность использования интерфейса «пользователь-система».
Целью написания курсовой работы является характеристика современных языков программирования, создания с их помощью графического приложения.
Исходя из цели работы необходимо решить такие основные задачи:
– рассмотреть историю возникновения алгоритмических языков программирования;
- описать основы классификации языков программирования;
- раскрыть теоретические понятия современных языков программирования высокого уровня;
- рассмотреть интегрированную среду разработки программных продуктов C++ Builder;
- создать оконное приложение для демонстрации методов разработки графических программ с помощью современных языков программироания.
Объектом исследования является инструментальное ПО персонального компьютера.
Предмет исследования – современные языки программирования.
В связи с развитием вычислительной техники возникали различные методики создания программ: структурный, объектно-ориентированный, функциональный подходы. Развитием теоретических и практических основ языков программирования занимались отечественные и зарубежные программисты: Королюк В.С., П.Голдинг, Б.Стауструп, С.Прата и многие другие.
Основы теории языков программирования
Языком программирования называется система обозначений, которая служит для точного описания алгоритмов или инструкций программ для ЭВМ. Стоит отметить, что языки программирования – это искусственные языки. Они отличаются от естественных языков ограниченным числом служебных слов и строгими правилами записи операторов (команд). При их применении по назначению не допускается свободное толкование выражений (что характерно для естественных языков).
Можно сформулировать перечень требований, которые выставляются к языкам программирования.
Основные требования, которые предъявляются к языкам программирования, следующие:
– единство - использование одинаковых символов для обозначения родственных или одинаковых понятий в различных частях алгоритма. Количество данных символов должно быть минимальным;
– наглядность – это использование в языке программирования уже существующих символов, которые хорошо известны и понятны как пользователям ЭВМ, так и программистам;
– модульность - описания сложных алгоритмов с помощью совокупности простых модулей, что могут быть составлены в разных частях программы и использованы в более сложных алгоритмах;
– гибкость - возможность удобного и несложного описания распространенных методов математических вычислений с помощью набора изобразительных средств конкретного языка программирования;
– однозначность - запись любого алгоритма должна быть однозначной и не допускать двойственных трактовок. Отсутствие указанного требования может привести к неправильным результатам функционирования программы.
Язык программирования определяет совокупность лексических, семантических и синтаксических правил, которые используются для составления компьютерной программы. Он дает возможность программисту точно определять, на какие именно события будут реагировать персональные компьютеры при выполнении программы, как будут организованы хранение и передача данных, а также какие действия нужно выполнять над данными при разных условиях.
Со времени создания первых ЭВМ человечество придумало более 2,5 тысяч языков программирования. Их число пополняется каждый год новыми, зачастую специализированными, языками. Некоторыми из них умеет пользоваться лишь небольшое число разработчиков, другие – известны миллионам людей. Профессиональные разработчики иногда применяют более десятка различных языков программирования в своей работе.
Машинный вид команды программы, состоящий из символов «0» и «1», указывает, какое действие должен выполнять центральный процессор. Значит для того, чтобы задать ЭВМ последовательность инструкций, которые ему надо выполнить, нужно описать последовательность двоичных кодов для соответствующих команд.
Программы, отображенные в машинном коде, состоят из тысяч команд, а их создание является занятием сложным и утомительным. Программисту необходимо помнить комбинацию единиц и нулей двоичного кода для каждой программы, а также бинарные коды адресов данных, которые используются при её выполнении.
Намного проще писать программу на языке программирования, который более близок к естественному языку, а работу по «переводу» данной программы в машинный код поручить компьютеру.
Рассмотрим краткую поэтапную историю языков программирования.
- Машинный язык (начало 50-х годов XX ст.). Программы на машинном языке являлись очень длинными последовательностями двоечных цифр и машинно-зависимыми (для каждой ЭВМ нужно было составлять свою программу, которая подходила бы под ее архитектуру).
- Ассемблер (середина 50-ых годов XX ст.). Вместо написание программ на бинарном коде программисты могли пользоваться операторами языка Ассемблер (ADD, MOV, SUB и прочими), которые похожи на аббревиатуры английских слов. Программы на этом языке также являются машинно-зависимыми. В тот период для преобразования написанного кода в машинный использовался компилятор – специальная программа для перевода инструкций Ассемблера в машинный код.
- Языки типа Fortran.
С конца 50-ых гг. XX ст. начали создаваться первые машинно-независимые языки программирования, но для каждого из них были разработаны компиляторы.
Примерами таких языков являются:
– FORTRAN – для технических и научных расчетов;
– COBOL – для коммерческих приложений;
– BASIC – универсальный язык для начинающих.
- Алгоритмические языки программирования.
С конца 70-ых г. XX ст. начали создаваться такие языки программирования, что позволяли перейти программисту к структурному программированию (применение операторов выбора, ветвления, цикла и отказ от использования операторов перехода (например, goto). К таким языкам относятся:
– Pascal;
–Си.
- Языки объектно-ориентированного направления.
В основу таких языков положены программные структуры, которые объединяют методы и данные их обработки. В объектно-ориентированных языках сохранялись алгоритмические методы программирования. Для них разработаны IDE - интегрированные среды программирования, которые позволяли визуально проектировать графический интерфейс приложений. К языкам рассматриваемого этапа относяться:
– С++ – усовершенствование алгоритмического языка Си;
– Object Pascal – создан на основе Pascal.
– Visual Basic – для создания приложений с оконным интерфейсом для ОС Windows.
- Языки программирования, использующиеся в компьютерных сетях.
В начале 90-х годов XX ст. в связи с быстрым развитием Интернета созданы языки программирования, обеспечивающие кроссплатформенную совместимость. На подключенных компьютерах к Интернету с различными ОС могли запускаться одни и те же программные продукты. Исходная программа компилировалась в промежуточный код, который обрабатывался на компьютере встроенной виртуальной машиной. К таким языкам относяться:
– Java - объектно-ориентированный язык, разработан для создания сетевого ПО;
– JavaScript – язык сценариев для Web-страниц.
- Языки программирования платформы .NET.
IDE Visual Studio .Net разработана корпорацией Microsoft и позволяет создавать графические приложения на разных объектно-ориентированных языках программирования:
– Visual Basic .Net;
– C# и J;
– Visual J#.
1.2. Классификации языков программирования
Все языки программирования классифицируются по четырём основным признакам: процедурные, объектно-ориентированные, логические и функциональные.
Процедурным программированием называется такой вид программирования, при котором программа состоит из последовательности инструкций и отделена от данных
Декларативные языки программирования – языки построения и объявлений структур. К ним относят логические и функциональные языки программирования. В данных языках явно не производятся алгоритмические действия, алгоритм не задается программистом, а проектируется самой программой.
В декларативных языках программирования производится построение какой-либо системы или структуры, то есть объявляются (декларируются) некоторые свойства создаваемого объекта. Такие языки получили широкое использование в системах автоматизированного проектирования, в моделировании, в CAD-пакетах, системах искусственного интеллекта.
К объектно-ориентированным языкам программирования относятся языки, в которых функции и переменные группируются в специальные конструкции – классы. Благодаря этому программисты достигают более высокого уровня структуризации программ. Экземпляры, порождённые от созданных классов, вызывают методы (процедуры или функции), которые меняют некоторые свойства (переменные) объектов. С формальной стороны объектно-ориентированный метод написания программ основан на процедурной модели.
Сетевые языки – это языки, которые предназначены для организации взаимодействия компьютеров, которые подключены в локально-вычислительную сеть. Они построены на так называемых принципах интерпретации – интерактивной, построчной обработки строк кода программы, описывающего сценарий сетевого взаимодействия компьютеров.
Машинно-ориентированные языки – языки, изобразительные средства и наборы операторов которых существенно зависят от архитектуры ЭВМ (структуры памяти, внутреннего языка и т.д.). Такие языки программирования позволяют использовать все особенности и возможности машинно-зависимых языков:
- возможность использования определенных аппаратных ресурсов;
- высокое качество программ (скорость выполнения и компактность);
- предсказуемость заказов памяти и объектного кода;
- трудоемкость составления программ;
- для составления эффективно работающих программ необходимо знать перечень команд и особенности архитектуры данной ЭВМ;
- низкая скорость программирования;
- невозможность использования программ на ЭВМ других типов.
Машинно-независимые языки – средство описания алгоритмов задач и информации, которые подлежат обработке. Их удобно использовать для широкого круга программистов, они не требуют знания особенностей архитектуры ЭВМ и ВС.
Такие языки называют высокоуровневыми языками программирования. Также командные последовательности (подпрограммы, процедуры), которые часто используются в машинных программах, представляются отдельными операторами в высокоуровневых языках. Программист получил возможность сосредоточиться на особенностях алгоритма, а не расписывать на уровне машинных команд вычислительный процесс.
С расширением области применения вычислительной техники возникает необходимость формализовать постановку и решение различных классов задач. Необходимо создавать такие языки программирования, которые позволили бы описать требуемые алгоритмы, ориентированные на решение конкретных проблем.
Например, к проблемным языкам относятся следующие:
– Алгол, Фортран – языки для решения математических задач;
– Слэнг, Simula – для моделирования процессов;
– Снобол, Лисп – для работы с использованием списочных структур.
Универсальные языки создаются для широкого круга заданий: научных, коммерческих, моделирования и т.д. Самый первый универсальный язык разработан фирмой IBM – Алгол-68. Он позволяет выполнять работу с разрядами, символами, числами с плавающей и фиксированной запятой, имеет систему операторов управления форматам. Язык учитывает возможности прерывания, имеет соответствующие для этого операторы. Так же предусмотрена возможность параллельного программирования.