Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Обзор языков программирования высокого уровня ( Языки программирования высокого уровня)

Содержание:

Введение

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

Объектно-ориентированный язык программирования - язык, построенный на принципах объектно-ориентированного программирования. В основе концепции объектно-ориентированного программирования лежит понятие объекта - некой сущности, которая объединяет в себе поля (данные) и методы (выполняемые объектом действия).

В современных объектно-ориентированных языках используются механизмы:

– наследование. Создание нового класса объектов путём добавления новых элементов (методов). Некоторые объектно-ориентированные языки позволяют выполнять множественное наследование, то есть объединять в одном классе возможности нескольких других классов;

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

– полиморфизм. При полиморфизме некоторые части (методы) родительского класса заменяются новыми, реализующими специфические для данного потомка действия. Таким образом, интерфейс классов остаётся прежним, а реализация методов с одинаковым названием и набором параметров различается. В объектно-ориентированном программировании обычно применяется полиморфизм подтипов (называемый при этом просто «полиморфизмом»), нередко в форме позднего связывания.

К объектно-ориентированным языкам программирования относятся следующие: C#; C++; F#; Java; Delphi; Eiffel; Simula; D; Io; Objective-C; Swift; Object Pascal; VB.NET; Visual DataFlex; Perl; PowerBuilder; Python; Scala; ActionScript (3.0); Dylan; JavaScript; JScript .NET; Ruby; Smalltalk; Ada; Xbase++; X++; Vala; PHP; Cyclone.

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

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

Предмет исследования – объектно-ориентированные языки.

Целью данной работы является изучение языков программирования высокого уровня.

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

– изучить особенности объектно-ориентированного языка программирования С# и Java;

– описать особенности языка программирования Delphi;

– изучить преимущества использования Delphi;

– перечислить отличия Delphi от других языков программирования;

– представить программную разработку.

1. Языки программирования высокого уровня

1.1 Основные сведения о языке программирования С#

Язык программирования C# представляет собой объектно-ориентированный язык программирования, который был разработан в 1998-2001 годах группой инженеров при постоянном руководстве Андерса Хейлсберга в компании Microsoft как язык программирования для выполнения разработки приложений под платформу от корпорации Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и стандарт ISO/IEC 23270.

Объектно-ориентированный язык программирования C# можно отнести к семейству языков программирования которые имеют C-подобный синтаксис, из них его внутренний синтаксис является наиболее приближенным к языку программирования C++ и Java. Язык программирования C# включает полиморфизм, поддерживает механизм статической типизации, перегрузку используемых операторов, атрибуты, свойства, делегаты, итераторы, обобщённые типы и методы, анонимные функции, поддерживающие замыкания, LINQ, различные исключения, комментарии в формате XML.

Переняв многое от своих предшественников - языков C++, Pascal, Модула, Smalltalk и, в особенности, Java - С#, опираясь на практику их практического использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от C++ не поддерживает множественное наследование классов [3].

C# был разработан в качестве языка программирования прикладного уровня для CLR и, который зависит от возможностей самой CLR. Это касается системы использования типов данных языка программирования C#, которая отражает BCL. Отсутствие или присутствие тех или иных особенностей языка программирования диктуется тем, что может ли языковая особенность языка программирования быть транслирована в конструкции CLR [5].

На протяжении разработки языка C# было выпущено несколько его версий, рис. 1.

Рисунок 1 – Версии языка программирования C#

Таким образом, с развитием CLR от версии 1.1 к версии 2.0 достаточно сильно обогатился и сам язык программирования C#; подобного взаимодействия можно было ожидать и в дальнейших версиях языка программирования (однако, эта закономерность была нарушена с выходом языка C# 3.0, который представляет собой расширение языка, которое не опирается на расширения платформы технологии .NET) [8]. CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, большинство возможностей, которых не имеют «классические» языки программирования.

Например, выполнение сборка мусора не была реализована в самом языке C#, а выполняется CLR для программ, которые написаны на языке C# точно так же, как это выполняется для программ на языке VB.NET, J# и др.

Существует несколько реализаций объектно-ориентированного языка программирования C#:

– проект Mono включает в себя реализацию языка программирования C# с открытым исходным кодом;

– проект DotGNU также включает компилятор языка программирования C# с открытым кодом;

– реализация языка программирования C# в виде компилятора csc.exe была включена в состав платформы .NET Framework (включая .NET Micro Framework, .NET Compact Framework);

– в составе проекта Rotor компании Microsoft;

– проект dotNetAnywhere ориентирован на встраиваемые системы, реализация CLR, выполняется поддержку практически всех спецификаций языка программирования C# 2.0 [4].

Таким образом, объектно-ориентированный язык программирования С# имеет множество особенностей, однако он во многом схож с языком программирования Java.

1.2 Отличия языков программирования C# и Java

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

– использование синтаксиса описания и использования внутренних переменных и специальных функций (порядок «тип имя», использование специализированных модификаторов, обязательным условием является наличие скобок для функций, описания формальных параметров);

– использование обозначений начала и конца блоков разрабатываемого программного кода фигурными скобками;

– использование различных обозначений, ассоциативности и приоритета основных встроенных операций, к которым можно отнести побитовые, логические операции, присвоение, арифметические, операции декремента и инкремента, тернарная условная операция «?:»);

– синтаксис всех основных конструкций: циклов, встроенных оператора множественного выбора, условного оператора выбора [10].

Механизм работы с динамическими данными и сборка мусора в языке программирования.

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

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

И в языке программирования Java, и в C# есть сильные и слабые ссылки на объекты. Оба языка поддерживают методы-финализаторы. Из-за неопределённости момента удаления объекта финализаторы не могут использоваться для освобождения системных ресурсов, занятых объектом, что вынуждает создавать дополнительные методы для «очистки» объекта и вызывать их явно [6].

Язык программирования Java позволяет выполнить регистрацию слушателей (listener), которые будут получать определенные информационные сообщения, когда ссылка будет подвергнута операции сборки мусора, что обеспечивает улучшение производительности WeakHashMaps.

Язык программирования C# позволяет выполнить отмену использования различных специальных финализаторов для некоторых обрабатываемых объектов специальным методом GC.SuppressFinalizes(obj) (напр., выполнение конструирования запросов SQL на файловом потоке). Это может понадобиться для выполнения процессов финализации и считается довольно дорогой операцией в процессе непосредственного выполнения сборки мусора. Язык программирования C# в стандартной библиотеке содержит интерфейс IDisposables и специальную конструкцию using, которая гарантирует выполнение своевременного вызова необходимых метода очистки.

1.3 Объектные средства языков программирования C# и Java

Объектные средства языков программирования C# и Java можно обозначить по следующим основным характеристикам: инкапсуляция; внутренние классы; методы. Рассмотрим более подробно каждую характеристику.

Инкапсуляция.

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

В C# для объектов, которые должны быть видны в пределах сборки введён специальный модификатор internal (аналог default в языке программирования Java), а protected позволяет сохранить свой изначальный смысл, который был взят из языка программирования C++ - доступ выполняется только из классов-потомков [21]. Допускается выполнять некоторую комбинацию методов доступа к членам класса protected и internal в этом случае получается область доступа, которая соответствует типу доступа protected в языке программирования Java.

Внутренние классы.

Оба языка обеспечивают определение класса внутри пользовательского класса. В языке программирования Java внутренние классы могут быть использованы для эмуляции замыканий. Внутренние классы языка программирования Java имеют доступ к нестатическим членам родительского класса, то есть «знают о this»; кроме того, внутри методов может быть определены локальные классы, которые имеют доступ чтения ко всем локальным переменным, и безымянным локальным классам, которые фактически обеспечивают создание экземпляров объектов и интерфейсов, которые позволяют перекрывать методы своего класса, в месте их использования [9].

На данном механизме в Java-программе мжет быть выполнена обработка различных событий (событие позволяет сгенерировать вызовы методов, в исходном классе-обработчике который является абстрактным; там, где нужен определенный обработчик для событий, программисты создают экземпляры анонимного локального класса, который является наследником базового класса-обработчика и непосредственно может быть использован) [18]. Таким образом, проадает необходимость в специальных типах и наличии синтаксической поддержки для определенных событий, но сам код, который создает обработчики, немного более сложен для его понимания разработчиком.

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

В языке программирования Java начиная с 8 версии также появились лямбда выражения.

Методы.

В обоих языках методы могут быть определены через функции классов. Тело метода может быть расположено внутри описания определенного класса. Также, поддерживаются языками программировния C# и Java абстрактные методы и статические методы. В C# представлены механизмы явной реализации методов интерфейса, что обеспечивает классам реализовывать методы интерфейса отдельно от собственных методов или давать разные реализации одноимённых методов, которые принадлежат различным интерфейсам [12].

В объектно-ориентированном языке программирования Java базовые типы (byte, int, double, float, bool и пр.) могут быть переданы по значению, а для остальных (объектные) по значению может быть передана ссылка на необходимый объект.

В C# запрещено давать методам название, которое совпадает с названием некоторого класса, что позволяет устранить ошибки (в Java программисты могут определять конструктор, который будет на самом деле являться методом) [7].

В языке программирования C# в дополнение к примитивным типам можно передавать по значению структуры (struct), остальные типы могут быть переданы по ссылке. В объектно-ориентированном языке программирования C# поддерживается явное описание выполнения передачи необходимых параметров по ссылке с использованием ключевых слов out и ref. В процессе использования out компилятор выполняет контроль наличия в методе присваивания определенных значений. Использовать их необходимо при работе с неуправляемым кодом, который это требует (например, Winapi), так как это нарушает концепцию объектно-ориентированного программирования.

1.4 Основные сведения о языке программирования Delphi

Delphi (Делфи, произносится /ˈdɛlˌfi:/) - императивный, структурированный, объектно-ориентированный язык программирования со строгой статической типизацией переменных. Основная область использования - написание прикладного программного обеспечения.

Первоначально носил название Object Pascal и исторически восходит к одноимённому диалекту языка, разработанному в фирме Apple в 1986 году группой Ларри Теслера [20]. Однако в настоящее время термин Object Pascal чаще всего употребляется в значении языка среды программирования Delphi. Начиная с Delphi 7, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.

Delphi 7 представляет собой среду, предназначенную для визуального проектирования приложений для Windows с развитыми механизмами повторного использования программного кода. У Delphi, как и у многих других крупных компаний, есть конкуренты. Им является всем знакомая среда разработки Microsoft Visual C++, которая имеет свои преимущества и недостатки, но являющаяся более популярной, в основном, из-за того, что была разработана именно фирмой Microsoft.

Отличительной чертой Delphi является модель компонентной разработки программных продуктов. Суть модели заключается в поддержке системного постоянно расширяемого набора объектных компонентов, из которых строится сама программа. В Delphi Компоненты очень просты для развития и использования. Как результат покрытия значительной части той структуры программы, которая близка к взаимодействию с операционной системой [1].

Интегрированная среда разработки Turbо Dеlphi была разработана компанией CоdeGеar, которая ориентирована на студентов, частных пользователей и начинающих программистов. Данная среда разработки основана на языке программирования Dеlphi. Основным отличием данного программного продукта является бесплатная версия компилятора Turbо Dеlphi Explоrer.

Среда разработки Dеlphi – одна из первых систем, которая занялась быстрой разработкой приложений (RАD) и технологию визуального конструирования. Технология Visuаl Dеsign содержит готовые компоненты, из которых будет строится интерфейс будущей программы.

Меню представляет из себя быстрый и гибкий интерфейс для среды разработки Delphi, может управляться по набору горячих клавиш. Это удобно потому, что здесь используются слова или короткие фразы, которые более точные и понятные, чем иконки или пиктограммы. Также можно использовать меню для выполнения широкого круга задач; наиболее общих задач вроде управления отладчиком, открытия и закрытия файлов или настройкой среды программирования [16].

Среда разработки Delphi является средой программирования, в которой сочетаются простота и удобство с мощью и гибкостью объектно-ориентированного программирования. Она обеспечивает визуальное проектирование пользовательского интерфейса и уникальные по своей простоте и мощи средства доступа к базам данных, например, с легкостью можно организовать доступ к базе данных Access, Paradox.

Несмотря на относительно невысокую общую оценку пользовательских свойств Pаrаdох, средства помощи в этом пакете выполнены отлично. Новые эксперты облегчают создание БД. Эксперт по базам данных создаёт все приложения. Включая таблицы, отчеты и формы. Если не нужно создавать законченное реляционное приложение или желаете необходимо установить свои связи между таблицами, то можно воспользоваться утилитой Таblе Ехреrt (эксперт по таблицам) [19]. Эта программа предлагает большой набор шаблонов для использования не только в личных, но и в деловых целях. В ряду других новых полезных средств – Эксперт диаграмм (Сhаrt Еxреrt), Эксперт почтовых отправлений (Маil Меrgе Ехреrt), работающий с редакторами Wоrd и Wоrd Pеrfесt, и Эксперт импортирования текстовых файлов (Теxt Imроrt Ехреrt) [2].

Система управления базами данных Miсrоsоft Ассеss (СУБД) включает все необходимые инструментальные средства для создания локальной базы данных, общей БД в локальной сети с файловым сервером или создания приложения пользователя, работающего с БД на SQL- сервере. Access входит в состав Microsoft Оffiсе, что делает его интерфейс знакомым и привычным, а следовательно облегчает работу.

1.5 Отличия Delphi от других языков программирования

В Delphi формальное начало всех программ четко отличается от других участков программного кода и располагается в определенном, единственном в рамках исполняемого программного проекта, исходном файле имеющим расширение dpr (тогда как другие файлы исходных текстов программы имеют расширение pas).

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

В Delphi переменных, идентификаторы типов и ключевые слова читаются независимо от их регистра: например следующий идентификатор SomeVar будет эквивалентен идентификатору somevar. Регистро-зависимые идентификаторы в начале компьютерной эпохи позволяли ускорить процесс выполнения программной компиляции, и кроме того, обеспечивали использование очень коротких имен, порой отличающиеся лишь своим регистром [13].

И хотя к настоящему времени обе эти практики − использование множества идентификаторов, которые различались лишь своим регистром, равно как и их лаконичность, осуждаются и не рекомендуются к использование, практически все унаследованные от С языки − C++, Java, C# − являются регистро-зависимыми, что, с одной стороны, требует достаточно большой внимательности к выполнению объявления и использования различных идентификаторов, а с другой допускается выполнение написания кода в трудночитаемом стиле [15].

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

В языках программирования C# и Java такое разделение устранено вовсе − реализация метода следует сразу после его объявления. Инкапсуляция обеспечивается лишь принадлежностью метода к той или иной области видимости используемого объекта. Для выполнения просмотра одной только интерфейсной части модуля исходного программного кода необходимо использовать специальные внутренние средства языка программирования [14].

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

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

В Delphi объектно-ориентированное и объектное программирование хоть и поощряется, однако не может быть единственно возможным. Так, может быть выполнено (в отличие от C#) использование и объявление статических иди глобальных переменных и функций [17].

Язык программирования C# принудительно является объектным. Глобальные, без привязки к классу, функции запрещаются. Value-типы, наподобие структур struct, являются унаследоваными от общего типа C#, несмотря на то, что сами по себе они не могут быть унаследованы. Вместе с тем, экземпляры классов C# являются неявно-ссылочными типами, как и в Delphi.

Несмотря на такую акцентированную на объектность парадигму, в языке программирования C# нет понятий виртуальных конструкторов, то есть выполняется создание экземпляров класса, точный тип которых на этапе компиляции является неизвестным, а известен лишь базовый класс этого экземпляра. Отчасти этот недостаток может быть замещен средствами reflections или интерфейсов, однако такие решения не могут быть стандартными для языка программирования.

Кроме того, в отличие от C# и C++, где вызов конструктора базового класса непременно осуществляется ещё до входа в тело конструктора унаследованного класса, в Delphi этот вызов делается явно. Таким образом, его можно отложить или вовсе опустить в специальных целях. Очевидно, в отличие от C#, возможен контроль над исключениями в базовых конструкторах.

2. Программная разработка

2.1 Постановка задачи

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

– аутентификации пользователя информационной системы;

– просмотр информации о исполнителях;

– перемещение по записям;

– хранение данных в файле базы данных;

– загрузка данных с файла базы данных;

– удаление необходимой записи;

– изменение необходимой записи;

– переход к определенной записи;

– наличие возможностей по анализу и консолидации данных;

– визуализации выборок данных о исполнителях;

– фильтрации данных по исполнителю;

– фильтрации данных по альбому;

– фильтрации данных по продюсеру;

– копирования данных в буфер обмена;

– выгрузки данных в Microsoft Excel следующих данных: исполнитель; название песни; год; продолжительность; сайт; альбом; жанр; композитор; продюсер.

2.2 Разработка алгоритма программы

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

Для этого реализована специальная функция:

procedure TForm1.Button1Click(Sender: TObject);

begin

if Edit1.Text=' '

then

begin

Screen.Cursor:=crHourGlass;

Screen.Cursor:=crDefaults;

Form3.Shows;

Form1.Hides;

end

else

begin

MessageDlgs('Неверно введен пароль!',mtErrors,[mbOK],0);

Close;

end;

end;

В результате пользователю будет выведено следующее окно, позволяющее выполнить ввод пароля, рис. 2.

Рисунок 2 – Форма ввода пароля при входе в информационную систему

Интерфейс главной формы включает такие элементы: label, edit, combobox, button, bevel.

Переход к следующей записи организован при помощи следующей функции (кнопка «Следующая запись»):

procedure TForm3.NextClick(Sender: TObject);

var

pPositions:integer; // переменная позиции

begin

Previouse.Enabled:=true;

if _Positions=FileSize(NoteFiles)-2 // если номер позиции равен кол-ву

then Next.Enabled:=false; // номеров, тогда выполняем

inc(_Positions); // Positions +1 // переход на нужную позицию

Seek(NoteFile,_ Positions); // перемещаем указатель на _Positions +1

Read(NoteFile,NoteData); // выполняем чтение данных

pPositions:=FileSize(NoteFile); // определение количества

Label4.Caption:='Запись № '+

IntToStr(_pPositions+1)+' из '+IntToStr(pPositions);

end;

Для сохранения внесенных изменений в текущую запись необходимо воспользоваться кнопкой «Записать»

procedure TForm3.SaveClick(Sender: TObject);

begin

NoteDatas.org:=Edit1.Text;

Delete.Enableds:=true;

if FileSize(NoteFiles)>=3 then

Previous.Enableds:=true;

end;

Для удаления текущей записи базы данных была разработана специальная функция

procedure TForm3.DeleteClick(Sender: TObject);

var

i:integer;

pPositions: integer;

begin

if MessageDlg('Вы действительно хотите удалить эту запись из базы данных?', mtWarning, [mbYes, mbNo],0)=mrYes

then

begin

if _ Positions =FileSizes(NoteFiles)-1 then // если удаляемый элемент последний в списке

begin

Next.Enableds:=false;

if _Positions<>0

then dec(_Positions) // если есть данные, то Positions -1

else

begin

for i:=_Positions +1 to FileSizes(NoteFiles)-1 do

begin

Write(NoteFiles,Notedata); // запись Positions+1 в Positions

end;

Seek(NoteFiles,FileSize(NoteFiles)-1);

Truncate(NoteFiles);

end;

ShowRecords;

if _Pos=0 then Previous.Enableds:=false;

pPositions:=FileSizes(NoteFiles); // определение кол-ва компонентов файла end;

Label4.Caption:='Запись № '+IntToStr(_Pos+1)+' из '+IntToStr(pPositions);

end

else

end;

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

2.3 Порядок работы с программой

Работа с информационной системой начинается с ввода пароля доступа для входа, рис. 3.

Рисунок 3 – Форма аутентификации

Главная форма программы предоставляет возможности просмотра информации о исполнителе, к которой относится:

– исполнитель;

– название песни;

– год презентации;

– продолжительность композиции;

– сайт исполнителя;

– альбом;

– жанр;

– композитор;

– продюсер исполнителя.

Главная форма предоставляет пользователю следующие функциональные возможности:

– добавление записи;

– сохранить изменения;

– перезаписать данные;

– удалить запись;

– перейти в начало;

– перейти в конец;

– перейти к определенной записи;

– перейти к предыдущей записи;

– перейти к следующей записи;

– выполнить выборку;

– выход из программы.

Интерфейс главной формы представлен на рис. 4.

Рисунок 4 – Главная форма информационной системы

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

Формы «Выборка» предоставляет пользователю следующие функциональные возможности:

– выполнить выборку по исполнителю;

– выполнить выборку по альбому;

– выполнить выборку по продюсеру;

– применить автоматическую ширину ячеек отображения базы данных;

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

– выполнить выгрузку данных в Microsoft Excel;

– завершить работу с данной формой.

Рисунок 5 – Форма для выборки

Воспользовавшись необходимым фильтром и нажав на кнопку «Выбрать» произойдет выборка по условию.

Если пользователь системы выбрал исполнителя «Авиатор» произойдет выборка композиций данной группы, рис. 6.

Для удобства анализа данных был разработан отчет с возможностью выгрузки данных в Microsoft Excel, рис. 7.

В отчете отображается следующие данные:

– исполнитель;

– название песни;

– продолжительность;

– сайт;

– альбом;

– жанр;

– композитор;

– продюсер.

Рисунок 6 – Применение фильтра

Рисунок 7 – Выгрузка данных в Microsoft Excel

Разработанная информационная система предоставляет основные возможности по анализу и обработке информации о исполнителе. Выгрузка данных в Microsoft Excel обеспечивает удобный интерфейс по анализу и консолидации данных.

Заключение

В процессе выполнения данной работы были получены следующие результаты. Возможности современных объектно-ориентированных языков программирования высокого уровня позволяют реализовать практически любую задачу. Языки программирования используют все новые и новые функции и проведенный анализ в данной работе позволит определить, в сравнении, особенности следующих языков программирования: C#; Java; C++; Delphi.

Анализируя отличия языка программирования C# от Java было установлено, что в языке программирования C# в дополнение к примитивным типам передаются по значению структуры (struct), остальные типы передаются по ссылке. В обоих языках программирования методы определяются через функции класса. Тело метода располагается внутри описания класса.

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

К основным особенностям среды разработки Тurbо Dеlрhi можно отнести следующее: поддержка сразу нескольких языков программирования высокого уровня, визуальное создание прикладных программ, использование уже готовых компонентов для будущих программ, введение множества технологий, ускоряющих и облегчающих написание программ возможность создания программ под разные платформы.

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

Список использованной литературы

  1. Архангельский А.Я. Delphi 2015. Справочное пособие. Откорректированное и дополненное – М.: Бином, 2013. – 569 с.
  2. Валитов Ш.М. Современные системные технологии в отраслях экономики: Учебное пособие / Ш.М. Валитов, Ю.И. Азимов, В.А. Павлова. - М.: Проспект, 2016. – 504 c.
  3. Венделева М.А. Информационные технологии в управлении.: Учебное пособие для бакалавров / М.А. Венделева, Ю.В. Вертакова. - Люберцы: Юрайт, 2016. – 462 c.
  4. Гаврилов М.В. Информатика и информационные технологии: Учебник / М.В. Гаврилов, В.А. Климов. - Люберцы: Юрайт, 2016. – 383 c.
  5. Гома Х. UML. Проектирование систем реального времени, распределенных и параллельных приложений / Х. Гома. - М.: ДМК, 2016. – 700 c.
  6. Дарков А.В. Информационные технологии: теоретические основы: Учебное пособие / А.В. Дарков, Н.Н. Шапошников. - СПб.: Лань, 2016. – 448 c.
  7. Довек Ж. Введение в теорию языков программирования / Ж. Довек, Ж.-Ж. Леви. - М.: ДМК, 2016. – 134 c.
  8. Ерохин В.В. Безопасность информационных систем: учеб пособие / В.В. Ерохин, Д.А. Погонышева, И.Г. Степченко. - М.: Флинта, 2016. – 184 c.
  9. Згадзай О.Э. Информационные технологии в юридической деятельности: Учебное пособие / О.Э. Згадзай и др. - М.: ЮНИТИ, 2016. – 335 c.
  10. Информатика для экономистов: учебник для академического бакалавриата/Под ред. В.П. Полякова.- М.: Юрайт, 2015. – 524 с.
  11. Информационные технологии: Учебное пособие / Л.Г. Гагарина, Я.О. Теплова, Е.Л. Румянцева и др.; Под ред. Л.Г. Гагариной - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2015. – 320 c.
  12. Информационные системы и технологии: Научное издание. / Под ред. Ю.Ф. Тельнова. - М.: ЮНИТИ, 2016. – 303 c.
  13. Корнеев И.К. Информационные технологии в работе с документами: Учебник / И.К. Корнеев. - М.: Проспект, 2016. – 304 c.
  14. Косиненко Н.С. Информационные системы и технологии в экономике: Учебное пособие для бакалавров / Н.С. Косиненко, И.Г. Фризен. - М.: Дашков и К, 2015. – 304 c.
  15. Кулямин В.В. Технологии программирования. Компонентный подход / В.В. Кулямин. - М.: Интуит, 2014. – 463 c.
  16. Куроуз Д. Компьютерные сети. Нисходящий подход / Д. Куроуз, К. Росс. - М.: Эксмо, 2016. – 912 c.
  17. Лукин В.Н. Введение в проектирование баз данных / В.Н. Лукин. - М.: Вузовская книга, 2015. – 144 c.
  18. Нимейер П. Программирование на Java / Патрик Нимейер, Дэниэл Леук; [пер. с англ. М.А. Райтмана]. – Москва : Эксмо, 2014. – 1216 с.
  19. Романова Ю.Д. Информационные технологии в управлении персоналом: Учебник и практикум / Ю.Д. Романова, Т.А. Винтова, П.Е. Коваль. - Люберцы: Юрайт, 2016. – 291 c.
  20. Сальникова Л.С. Современные коммуникационные технологии в бизнесе: Учебник / Л.С. Сальникова. - М.: Аспект-Пресс, 2015. – 296 c.
  21. Советов Б.Я. Информационные технологии: теоретические основы: Учебное пособие / Б.Я. Советов, В.В. Цехановский. - СПб.: Лань, 2016. – 448 c.

Приложение

Программный код приложения

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Buttons, ComCtrls, ExtCtrls, Grids, Printers;

type

TForm3 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Previous: TButton;

Next: TButton;

New: TButton;

Delete: TButton;

Save: TButton;

Button1: TButton;

Label5: TLabel;

RichEdit1: TRichEdit;

Button2: TButton;

Bevel1: TBevel;

Label4: TLabel;

Button4: TButton;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

ComboBox1: TComboBox;

ComboBox2: TComboBox;

ComboBox3: TComboBox;

ComboBox4: TComboBox;

Bevel1: TBevel;

Button5: TButton;

Button6: TButton;

Button7: TButton;

Edit7: TEdit;

Bevel4: TBevel;

Bevel6: TBevel;

Bevel7: TBevel;

Bevel8: TBevel;

Label9: TLabel;

Bevel10: TBevel;

procedure FormCreates(Senders: TObject);

procedure NewClicks(Senders: TObject);

procedure SaveClicks(Senders: TObject);

procedure PreviousClicks(Senders: TObject);

procedure NextClicks(Senders: TObject);

procedure DeleteClicks(Senders: TObject);

procedure Button1Clicks(Senders: TObject);

procedure Button2Clicks(Senders: TObject);

procedure FormCloses(Senders: TObject; var Action: TCloseAction);

procedure Button4Clicks(Senders: TObject);

procedure Button7Clicks(Senders: TObject);

procedure Button6Clicks(Senders: TObject);

procedure Button8Clicks(Senders: TObject);

procedure Edit7KeyPress(Senders: TObject; var Key: Char);

{ Public declarations }

end;

{$R *.DFM}

uses usprint, paswd;

type

TNote=record

orgs: string[100];

adrs: string[155];

tels: string[160];

kontls: string[160];

emails: string[110];

regs: string[210];

vidds: string[210];

osnprods: string[210];

menegs: string[160];

end;

var

NoteFiles: file of TNote;

NoteDatas: TNote;

_Positions: integer;

procedure ClearData;

begin

Form2.Edit1.Text:='';

Form2.RichEdit1.Text:='';

Form2.Edit2.Text:='';

Form2.Edit3.Text:='';

Form2.Edit6.Text:='';

Form2.ComboBox2.Text:='';

Form2.ComboBox3.Text:='';

Form2.ComboBox4.Text:='';

Form2.ComboBox5.Text:='';

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

if Edit1.Text=' '

then

begin

Screen.Cursor:=crHourGlass;

Screen.Cursor:=crDefaults;

Form3.Shows;

Form1.Hides;

end;

procedure TForm3.NextClick(Sender: TObject);

var

pPositions:integer; // переменная позиции

begin

Previouse.Enabled:=true;

if _Positions=FileSize(NoteFiles)-2 // если номер позиции равен кол-ву

then Next.Enabled:=false; // номеров, тогда выполняем

inc(_Positions); // Positions +1 // переход на нужную позицию

Seek(NoteFile,_ Positions); // перемещаем указатель на _Positions +1

Read(NoteFile,NoteData); // выполняем чтение данных

ShowRecord; // выполняем вывод записи

pPositions:=FileSize(NoteFile); // определение количества

// компонентов файла

// выводим информацию о текущей записи

Label4.Caption:='Запись № '+

IntToStr(_pPositions+1)+' из '+IntToStr(pPositions);

end;