Файл: Анализ методов современного программирования.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 23.05.2023

Просмотров: 256

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

Актуальность исследования. В последние годы в программировании четко прослеживалось становление и развитие объектноориентированного проектирования (ООП) программных систем (ПС). Определилась не только технологическая база разработки разных видов ПС, но и инструментальные поддержки (Rational Rose, Rational Software, RUP, Demral , OОram и др.).

Совершенствование ООП достигло такого уровня, что он стал базисом генерирующего (порождающего) программирования, в котором определены пути его развития и устранения ряда недостатков, связанных не только с особенностью проектирования уникальных ООП ПС, но и с отсутствием механизмов использования готовых компонентов, свойств изменчивости, взаимодействия, синхронизации и др.[3] В данном программировании объединены и другие концепции и методы программирования с целью обеспечения инженерии предметной области (ПрО), ориентированной на проектирование семейств ПС из объектов, компонентов, аспектов, сервисов, повторного использования компонентов (ПИК), систем, характеристик и т.п. Все это расширило рамки всех концепций и положило начало объединенной целостной и стройной технологии генерации как отдельных ПС, так и их семейств. Порождающее программирование заложило базис будущего программирования, основанный на современных методах программирования, новых формализмах и объединяющих моделях, посредством которых новое поколение программистов будут создавать более долговечные и качественные программные изделия семейств ПС с использованием конвейерной автоматизации.

Целью данной работы является анализ методов современного программирования, для достижения поставленной цели, были выделены следующие задачи:

- рассмотреть теоретические аспекты систем и языков программирования;

- изучить современные методы программирования.

Объект исследования - методы программирования.

Предмет исследования - современные методы программирования.

Структура работы состоит из введения, основной части, заключения и списка литературы.

Теоретической и методологической базой данной работы послужили труды российских и зарубежных авторов в области информатики, материалы периодических изданий и сети Интернет.


ГЛАВА 1 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ СИСТЕМ И ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

1.1 Определение и назначение языков и систем программирования

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

Таким образом, любой язык программирования – это формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (компьютера).

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

Алфавит – фиксированный для данного языка набор основных символов, допускаемых для составления текста программы на этом языке.

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


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

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

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

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

В общем состав систем программирования представляют:

  • трансляторы с языков высокого уровня;
  • специализированные средства, предназначенные для редактирования, компоновки и загрузки программ;
  • макроассемблеры (машинно-ориентированные языки);
  • средства отладки программ.

В состав современных систем программирования входят:

  • Текстовый редактор (меню Edit), осуществляет функции записи и редактирования исходного текста программы;
  • Загрузчик программ (меню File – Open …), позволяет выбирать из директории нужный текстовый файл программы;
  • «Запускатель» программ (меню Run);
  • Компилятор (меню Compile), предназначен для компиляции или интерпретации исходного текста программы в машинный код с диагностикой синтаксических и логических ошибок;
  • Отладчик (меню Debug), выполняет сервисные функции по отладке и тестированию программы;
  • Диспетчер файлов (меню File), предоставляет возможность выполнения операций с файлами: сохранение, поиск, уничтожение и т.д.

Помимо перечисленных традиционных сервисов систем программирования многие системы программирования включают в себя:


  • Search – поиск и замена фрагментов в тексте;
  • Tools – набор инструментальных программных средств;
  • Options – установка опций интегрированной среды;
  • Window – работа с окнами.

Современные системы программирования (среды программирования) являются по своей функциональности интегрированными средами разработки IDE - integrated development environment. Самая первая среда разработки была создана для работы с языком программирования Basic.

Различают два класса систем программирования:

  1. системы программирования общего назначения;
  2. языково-ориентированные системы (среды) программирования.

Системы программирования

Системы программирования общего назначения

Языково-ориентированные системы программирования

Интерпретирующие и компилирующие системы программирования

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

Рис. 1 Классификация систем программирования

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

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

  1. Интерпретирующие и компилирующие системы;
  2. Синтаксически-управляемые системы программирования.

Интерпретирующие и компилирующие системы программирования имеют встроенный текстовый редактор и обеспечивают трансляцию (интерпретацию или компиляцию) программы, записанной в редакторе, на данном языке программирования.

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


1.2 Классификация и история развития языков программирования

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

Для того чтобы облегчить общение человека с ЭВМ были созданы машинно-ориентированные языки программирования типа Ассемблер. Переменные величины стали изображаться символическими именами. Числовые коды операций заменились на мнемонические (символьные) обозначения, которые легче запомнить. Язык программирования приблизился к человеческому языку, и отдалился от языка машинных команд.

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

Принципиальными отличиями языков программирования высокого от языков низкого уровня являются:

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

Одновременно с развитием универсальных языков программирования высокого уровня стали развиваться:

    1. проблемно-ориентированные языки программирования, которые решали экономические задачи (COBOL), задачи реального времени (Modula-2, Ada), символьной обработки (Snobol), моделирования (GPSS, Simula, SmallTalk), численно-аналитические задачи (Analitic) и другие.
    2. языки сверхвысокого уровня (непроцедурные), при использовании которых программист задает отношения между объектами в программе, например систему линейных уравнений, и определяет, что нужно найти, но не задает, как получить результат.