Файл: Интегрированные среды разработки программ (теории языков программирования).pdf

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

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

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

Добавлен: 22.04.2023

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

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

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

Всяческие операции, которые превышают уже установленные полномочия программ (к примеру, попытка несанкционированного доступа данным или соединения с ПК) вызывают немедленное прерывание программы.

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

В последнее время также был внесен ряд новых усовершенствований, которые увеличили несколько скорость выполнения программ:

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

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

Такие идеи нашли также выражение в общеязыковой инфраструктуре CLI.[1]

Основные возможности ЯП:[12]

  • богатый набор средств по фильтрации ввода/вывода;
  • автоматическое управление памятью;
  • унифицированный доступ к БД:
  • набор стандартных коллекций;
  • наличие разных классов, позволяющих выполнить HTTP-запросы;
  • параллельное выполнение программных продуктов.

По сравнению с другими средами IDE среда IDE NetBeans обеспечивает высококлассную комплексную поддержку новейших технологий Java и последних усовершенствований стандартов Java. Это первая бесплатная среда IDE, поддерживающая JDK 8, JDK 7, Java EE 7, включая соответствующие усовершенствования HTML5 и JavaFX 2. 

Благодаря постоянно совершенствующемуся редактору Java, разнообразным возможностям и широкому спектру инструментов, шаблонов и образцов, IDE NetBeans устанавливает стандарт разработки с помощью новейших готовых технологий (рисунок 4).

Рисунок 4 – Пример редактирования кода в NetBeans

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


Редактор поддерживает множество языков - от Java, C / C++, XML и HTML до PHP, Groovy, Javadoc, JavaScript и JSP. Редактор является расширяемым, поэтому можно подключить поддержку для множества других языков. 

2.3. Описание языка программирования C# и среды Visual Studio

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

Процесс написания приложения на ЯП С++ зачастую занимает намного больше времени, нежели разработка эквивалентного приложения, к примеру, на Visual Basic.

Уже сейчас существуют языки, которые увеличивающие продуктивность разработки вовсе за счет потери в самой гибкости, которая так привычна и очень необходима программистам на ЯП С/С++.

Традиционным средством по отладке программ на стадии выполнения разработки в C++ – это маркировка обширных частей программного кода директивами типа #ifdef и т.п.

В языке C#, используя атрибуты, что ориентированы на условные слова, а программист может намного быстрее написать свой отлаживаемый программный код.

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

ЯП C#, являясь последним с широко распространенных ЯП, должен впитать в себя полностью весь имеющийся опыт, вобрать лучшие стороны всех существующих ЯП, при этом являясь полностью созданным для работы в среде .NET.

Сама архитектура платформы .NET продиктовала ему объектно-ориентированную направленность. Но, это не является каким-то правилом, возможно создание разных компиляторов даже функциональных ЯП по .NET, а на эту тему также существуют специальные работы. [17]

Свой синтаксис ЯП C# во многом унаследовал с C++ и Java. Все разработчики, имеющие опыт по написанию приложений на таких языках, найдут в ЯП C# много знакомых параметров.

Но вместе с этим он является и во многом новаторским – атрибуты, делегаты, события, прекрасно вписанные в идеологию языка, прочно заняли свое место в сердцах многих .NET - разработчиков.


Их введение позволило применить принципиально новые приемы для программирования. [16]

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

Если комментарии отвечают описанной структуре, то компилятор по ним генерирует единый XML-файл для документации.

Интегрированная среда разработки Visual Studio — это оригинальная среда запуска, которая позволяет редактировать, отлаживать и создавать код, а затем публиковать приложения. Интегрированная среда разработки (IDE) — это многофункциональная программа, которую можно использовать для различных аспектов разработки программного обеспечения. Помимо стандартного редактора и отладчика, которые существуют в большинстве сред IDE, Visual Studio включает в себя компиляторы, средства выполнения кода, графические конструкторы и многие другие функции для упрощения процесса разработки программного обеспечения.

Обобщенный визуальный обзор Visual Studio приведен на снимке экрана ниже (рисунок 5). На нем показана среда Visual Studio с открытым проектом и несколькими окнами основных инструментов, которые вы, скорее всего, будете использовать.

Рисунок 5 – Интерфейс Visual Studio

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. 

Глава 3. СОЗДАНИЕ ГРАФИЧЕСКОГО ПРИЛОЖЕНИЕ С ПОМОЩЬЮ ЯП С++ BUILDER

3.1. Описание алгоритма программы

Рассмотрим методику разработки графической программы – алгоритма Крамера для вычисления корней СЛАУ.

Приведем описание алгоритма.[3]

Рассмотрим систему линейных уравнений и неизвестными, то есть, систему вида[18]


Обозначим с помощью матрицу:

.

Матрицу часто называют основной матрицей СЛАУ.

Пусть – это матрица-столбец неизвестных, а – матрица-столбец свободных членов:[10]

и .

Тогда систему можно записать так:

.

Данный метод применятся для выполнения решения СЛАУ, в которых число уравнений и число неизвестных совпадают и матрица системы – невырожденная.[2]

Если в СЛАУ число уравнений , а число неизвестных будет совпадать и , то такая система совместна и имеет только единственное решение: [1]

(),

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

Приведенные формулы называют формулами Крамера.

3.2.Создание графической программы

Написания графической программы состоит из этапов.

Первым шагом является разработка интерфейса программного продукта.[4]

Для этого откроем C++ Builder и создадим пустой проект с оконным интерфейсом.

После размещения визуальных компонентов на форме, их настройки с использованием окна Object Inspector, весь интерфейс программы примет вид (рисунок 4):[16]

Рисунок 4 – Интерфейс

Вторым этапом для проектирования является написание кода для компонентов (или их событий). Рассмотрим главные функции программы.

Кнопка с названием Автоматически заполнить имеет код:

{

int i1,j1;

{

for (i1=1;i1<=StrToInt(Edit1->Text);i1++)

for (j1=1;j1<=StrToInt(Edit1->Text);j1++)


{

StringGrid1->Cells[i1][j1]=rand()%30-2;StringGrid1->Cells[UpDown1->Position+2][j1]=rand()%30-2;

}

}

}

Функция предназначена для заполнения компонента StringGrid1, числовыми значениями с отрезка [-2; 29].

При этом при каждом нажатию на компонент UpDown1 увеличивается количество строк или столбцов, а также изменяется название столбцов и строк в таблице.

Нажав на кнопку Вычислить матрицу выполнится код:

int n1 = StrToInt(Edit1->Text);

float** a1 = mtx(n1);

for(int i1=1;i<UpDown1->Position+1;i1++

{

for(int j1=1;j1<UpDown1->Position+1;j1++)

a[i1-1][j1-1]=StrToFloat(StringGrid1->Cells[j1][i1]);

b[i1-1]=StrToFloat(StringGrid1->Cells[StringGrid1->ColCount-1][i1]);

}

float dd1 = det(a1,n1)

Edit14->Text=dd1;

if(dd1==0)

{

ShowMessage("Определитель = нулю");

return;

}

for(int i1=0;i1<n;i1++)

{

d[i1] = det(Swap(a1,b,i1,n1),n1);

x[i1] = d[i1]/dd1;

D[i1]->Text=FloatToStrF(d[i1],ffGeneral,6,4);

X[i1]->Text=FloatToStrF(x[i1],ffGeneral,6,4);

}

AnsiString s="",p;

del(a1,n1);

Этот код предназначен для вычисления корней методом Крамера.

Запустим программу на выполнение, введем размерность СЛАУ. В результате имеем (рисунок 5):

Рисунок 5 – Ввод данных

Далее нажимаем кнопку Вычислить матрицу. И в результате использования программы имеем следующий результат (рисунок 6):[7]

Рисунок 6 – Результат

При нажатии на Выход графическое приложение закроется.

В третьей главе описана практическая реализация метода Крамера для решения СЛАУ, детально рассмотрены основные теоретические элементы этого алгоритма, создан программный продукт в С++ Builder.

ЗАКЛЮЧЕНИЕ

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

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

Например, сегодня разные программисты комментируют свои созданные программы для объяснения, какие именно классы реализуют какой-то абстрактный бизнес-объект. К примеру, язык C# позволяет применять типизированные, расширяемые метаданные, что могут быть использованы к объекту.

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