История развития языков программирования.



Введение

 

 

API – описание способов, набор классов, процедур, функций, структур или констант, которыми одна компьютерная программа может взаимодействовать с другой программой. Обычно данная программа входит в описание какого-либо интернет-протокола, программного каркаса или стандарта вызовов функций операционной системы. Часто API реализуется отдельной программной библиотекой или сервисом операционной системы. И используется программистами при написании всевозможных приложений.

Хотя API-программирование не предполагает использование каких-либо библиотек, кроме тех, которые поставляются вместе с операционной системой Windows.

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

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

Целью является создание приложение с помощью API-функций на базе визуальной среды Builder C++.

Объектом исследования в курсовой работе является визуальная среда программирования Builder C++.

Builder C++ является одной из широко используемых RAD-систем, которая позволяет создавать различные программы: от простейших однооконных приложений до программ управления распределенными базами данных. В качестве языка программирования в визуальной среде Borland C++ Builder- используется С++.

Builder C++ объединяет в себе комплекс объектных библиотек, таких как: STL, VCL, CLX, MFC и др. А также компилятор и отладчик, редактор кода и многие другие компоненты.

Builder C++ содержит инструменты, которые при помощи drag-and-drop делают разработку программных продуктов визуальной, упрощает программирование за счет встроенного редактора интерфейса WYSIWYG.

Предметом исследования является использование API-функций в приложении визуальной среды Builder C++.

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

- исследование и анализ API-функций;

- разработка и создание конкретного приложение на базе Builder C++;

- документирование всей информации о программе и ее тонкости применения.

 


Теоретическая часть

Понятие языков программирования.

Язык программирования — это система обозначений, служащая для точного описания программ или алгоритмов для ЭВМ. Языки программирования являются искусственными языками. От естественных языков они отличаются ограниченным числом «слов» и очень строгими правилами записи команд (операторов). Поэтому при применении их по назначению они не допускают свободного толкования выражений, характерного для естественного языка.

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

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

- наглядность - использование в языке по возможности уже существующих символов, хорошо известных и понятных как программистам, так и пользователям ЭВМ;

- единство - использование одних и тех же символов для обозначения одних и тех же или родственных понятий в разных частях алгоритма. Количество этих символов должно быть по возможности минимальным;

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

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

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

В настоящее время в мире существует несколько сотен реально используемых языков программирования. Для каждого есть своя область применения.

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

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

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

 

 

История развития языков программирования.

Программа – алгоритм, записанный на языке программирования. Программа – последовательность операторов языка. Языки программирования – искусственные языки, строго формализованные; существует правила записи операторов языка – синтаксис языка.

Машинный язык. Машинный язык появился в 40-50 годы ХХ века. Программы на машинном языке- очень длинные последовательности единиц и нулей, являлись машинно-зависимыми, т.е. для каждой ЭВМ необходимо было составлять свою программу. На рисунке приведено содержимое памяти, являющееся программой на машинном языке. Эта программа начинается с адреса 2000Н с содержимым КОП 0011 1110 в двоичной системе счисления и оканчивается адресом 2006Н с содержимым 0111 0110 в двоичной системе счисления. Человеку практически невозможно понять программу,

 

представленную в такой форме.

 

Рисунок 1 – Программа на машинном языке

 

Программа на машинном языке на рисунке становится несколько проще для восприятия, когда она представлена в 16-м коде (Н-коде), как показано на рисунке другом. Однако даже если двоичные данные приведены в 16-м коде, эта часть программы всегда рассматривается как заданная на машинном языке и будет казаться трудной для понимания.

                              

Рисунок 2 – Программа, представленная в 16-м коде

Ассемблер. Появился в начале 50-х годов ХХ века. Вместо 1 и 0 программисты теперь могли пользоваться операторами, которые похожи на английские слова. Программы на ассемблере также являются машинно-зависимыми. Для преобразования в машинный код использовался компилятор, который являлся специальной программой – переводчик в машинный код.

Первые языки программирования высокого уровня. С середины 50-ых гг. XX в. начали создавать первые языки программирования высокого уровня. Эти языки были Машино независимыми, т.е. не привязаны к определенному типу ЭВМ. Но для каждого языка были разработаны собственные компиляторы.

Примеры таких языков: FORTRAN – 1954 года выпуска, предназначен для научных и технических расчетов; COBOL 1959 года выпуска, был предназначен в основном для коммерческих приложений, обрабатывал большие объемы нечисловых данных; язык BASIC – универсальный язык символьных инструкций для начинающих, 1964 года выпуска.

Алгоритмические языки программирования. С начала 80-ых г. XX в. начали создаваться языки программирования, которые позволили перейти к структурному программированию т.е. использование операторов ветвления, выбора, цикла и практически отказ от частого использования операторов перехода. Так же алгоритмический язык - формальный язык, используемый для записи, реализации или изучения алгоритмов. Всякий императивный язык программирования является алгоритмическим языком, но не всякий алгоритмический язык пригоден для использования в качестве языка программирования. К этим языкам относятся: язык Pascal, который назван его создателем Николаусом Виртом в честь великого физика Блеза Паскаля в 1970 году; язык Си, позволяющий быстро и эффективно создавать программный код, написанный Деннисом Ритчи в 1971 году.

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

- Язык С++ - продолжение алгоритм. языка Си, написанный Бьёрном Страуструпом в 1983 году;

- Язык ObjectPascal был создан на основе языка Pascal Николаусом Виртом в 1968—1969 годах. После создания среды программирования – Delphi;

- Язык VisualBasic. Используемый в нем принцип связи языка и графического интерфейса был разработан Аланом Купером в 1991 году и был реализован в прототипе Tripod в 1998 году.

Языки программирования для компьютерных сетей. В 90-ые годы XX в. в связи с бурным развитием Интернета были созданы языки, обеспечивающие межплатформенную совместимость. На подключенных к Интернету компьютерах с различными ОС, таких как Windows, Linux, MacOS могли выполняться одни и те же программы. Исходная программа компилируется в промежуточный код, который исполняется на компьютере встроенной в браузер виртуальной машиной:

- Язык Java – объектно-ориентированный язык был разработан фирмой SunMicrosystems для создания сетевого программного обеспечения в 1995 году;

- Язык JavaScript – язык сценариев Web-страниц, разработан компанией Netscape в 1995 году.

Языки программирования на платформе .NET. Интегрированная среда программирования VisualStudio.Net, разработанная корпорацией Microsoft, позволяет создавать приложения на различных языках объектно-ориентированного программирования, в том числе на языке Visual Basic .Net на основе таких программ как: Visual Basic, VisualC, С++, VisualJ, Java, JavaScript в 2003 году.

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

Выполнение программ на платформе .NET выполняется непосредственно в среде .NET Framework – надстройкой над операционной системой. Данная среда состоит из официальных языков программирования, таких как С++, JavaScript, VB.NET; среды выполнения CLR; библиотеки для доступа к основным средствам .NEТ.

Трансляция. Для перевода кода с языка программирования высокого уровня на более простой по типу машинного языка требуется специальная программа под названием транслятор.

Заложенный в транслятор алгоритм такого перевода сложен. Но чтобы работа над переводом кода была успешно необходимо знать два основных способа трансляции – компиляция программы или ее интерпретация.

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

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

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

 1.3 Понятие API и его функции.

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

В процессе работы элементы механизма API организуют многоуровневую иерархию. При этом подчиненные компоненты также получают подобную структуру. Внутри стандартной сетевой модели OSI выделяют как минимум 7 внутренних уровней. Они классифицируются от физического уровня трансляции бит до приложений, таких как протоколы HTTP и IMAP. Таким образом API верхнего использует функциональность нижнего.

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

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

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

Эти компоненты дают возможность компилятору опознать функцию в языке C++. В тех случаях, когда она является методом определенного класса, ее сигнатура включается в имя этого класса.

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

 

 

1.4 Среда разработки Builder C ++.

Builder C++ первоначально создавалась только для платформы Microsoft Windows. Поздние версии, содержащие кроссплатформенную компонентную библиотеку Borland, поддерживают и Windows, и Linux.

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

Builder C++ представляет собой SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель и палитру компонентов. Помимо этого, по умолчанию при запуске Builder C++ появляются окно инспектора объектов и форма нового приложения. Под окном формы приложения находится окно редактора кода.

Формы являются основой приложений Builder C++. Создание пользовательского интерфейса приложения заключается в добавлении в окно формы элементов объектов Builder C++, называемых компонентами. Компоненты Builder C++ располагаются на палитре компонентов, выполненной в виде многостраничного блокнота. Важная особенность Builder C++ состоит в том, что он позволяет создавать собственные компоненты и настраивать палитру компонентов, а также создавать различные версии палитры компонентов для разных проектов.

Компоненты Builder C++. Компоненты разделяются на видимые, т.е. визуальные и невидимые, т.е. не визуальные. Визуальные компоненты появляются во время выполнения точно так же, как и во время проектирования. Примерами являются кнопки и редактируемые поля. Не визуальные компоненты появляются во время проектирования как пиктограммы на форме. Они никогда не видны во время выполнения, но обладают определенной функциональностью, например, обеспечивают доступ к данным, вызывают стандартные диалоги Windows 7 и др.

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

Каждый компонент Builder C++имеет три разновидности характеристик: свойства, события и методы.

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

 Свойства компонентов. Свойства являются атрибутами компонента, определяющими его внешний вид и поведение. Многие свойства компонента в колонке свойств имеют значение, устанавливаемое по умолчанию (например, высота кнопок). Свойства компонента отображаются на странице свойств – Properties. Инспектор объектов отображает опубликованные – published-свойства компонентов. Помимо published-свойств, компоненты могут и чаще всего имеют общие – public, опубликованные свойства, которые доступны только во время выполнения приложения. Инспектор объектов используется для установки свойств во время проектирования. Список свойств располагается на странице свойств инспектора объектов. Можно определить свойства во время проектирования или написать код для видоизменения свойств компонента во время выполнения приложения.

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

События. Страница событий инспектора объектов показывает список событий, распознаваемых компонентом. Программирование для операционных систем с графическим пользовательским интерфейсом, в частности, для Windows 7 предполагает описание реакции приложения на те или иные события, а сама операционная система занимается постоянным опросом компьютера с целью выявления наступления какого-либо события. Каждый компонент имеет свой собственный набор обработчиков событий. В Builder C++ следует писать функции, называемые обработчиками событий, и связывать события с этими функциями. Создавая обработчик того или и ого события, программист поручает программе выполнить написанную функцию, если это событие должно произойти.

Для того, чтобы добавить обработчик событий, нужно выбрать на форме с помощью мыши компонент, которому необходим обработчик событий, затем открыть страницу событий инспектора объектов и дважды щелкнуть левой клавишей мыши на колонке значений рядом с событием, чтобы заставить Builder C++ сгенерировать прототип обработчика событий и показать его в редакторе кода. При этом автоматически генерируется текст пустой функции, и редактор открывается в том месте, где следует вводить код. Курсор позиционируется внутри операторных скобок { ... }. Далее нужно ввести код, который должен выполняться при наступлении события. Обработчик событий может иметь параметры, которые указываются после имени функции в круглых скобках.

Создание приложений в Builder С++. Первым шагом в разработке приложения Builder C++ является создание проекта. Файлы проекта содержат сгенерированный автоматически исходный текст, который становится частью приложения, когда оно скомпилировано и подготовлено к выполнению. Чтобы создать новый проект, нужно выбрать пункт меню File/New Application.

Builder C++ создает файл проекта с именем по умолчанию Project1.cpp, как представлено на рисунке 1, а также make-файл с именем по умолчанию Project1.mak. При внесении изменений в проект, таких, как добавление новой формы, Builder C++ обновляет файл проекта.

 

Рисунок 3 – Файл проекта

 

 

Проект или приложение обычно имеют несколько форм. Добавление формы к проекту создает следующие дополнительные файлы:

- Файл формы с расширением .DFM, содержащий информацию о ресурсах окон для конструирования формы

- Файл модуля с расширением.CPP, содержащий код на C++.

- Заголовочный файл с расширением .H, содержащий описание класса формы.

Когда программист добавляет новую форму, файл проекта автоматически обновляется.

Для того чтобы добавить одну или более форм к проекту, необходимо выбрать пункт меню File/New Form. Появится пустая форма, которая будет добавлена к проекту. Так же можно воспользоваться пунктом меню File/New, выбрать страницу Forms и выбрать подходящий шаблон из репозитория объектов. На рисунке 2 предоставлены виды шаблонных форм.

Для того, чтобы просто откомпилировать текущий проект, из меню Compile нужно выбрать пункт меню Compile. Для того, чтобы откомпилировать проект и создать исполняемый файл для текущего проекта, из меню Run нужно выбрать пункт меню Run. Компоновка проекта является инкрементной, выполнив это действие перекомпилируются только изменившиеся модули.

 

Рисунок 4 – Шаблоны форм

 

Если при выполнении приложения возникает ошибка времени выполнения, Builder C++ делает паузу в выполнении программы и показывает редактор кода с курсором, установленным на операторе, являющемся источником ошибки. Прежде чем делать необходимую коррекцию, следует перезапустить приложение, выбирая пункт меню Run из контекстного меню или из меню Run, закрыть приложение и лишь затем вносить изменения в проект. В этом случае уменьшится вероятность потери ресурсов Windows.

 

 


Дата добавления: 2021-07-19; просмотров: 91; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!