Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

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

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Логическое программирование




Создание языка искусственного интеллекта Пролог (PROLOG, PRO gramming in LOG ic - программирование в терминах логики) в 1973г. французским ученым Аланом Кольмероэ, открыло новую область – логическое или реляционное программирование.

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

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

 

Объектно-ориентированное программирование (ООП)

 

Пионером данного направления явился язык Смолток (Smalltalk), первоначально предназначенный для реализаций функций машинной графики. Работа над языком началась в 1970г. в исследовательской лаборатории XEROX (США), а закончилась в 1980г. окончательным вариантом интерпретатора Smalltalk –80. Данный язык оригинален тем, что его синтаксис очень компактен и базируется исключительно на понятии объекта. В нем отсутствуют операторы или данные, все, что входит в Смолток, является объектами, а объекты общаются друг с другом исключительно с помощью сообщений. В настоящее время версия VisualAge for Smalltalk активно развивается компанией IBM.

Основой объектно-ориентированного программирования (ООП) является понятие объект. Его сущность выражается формулой «объект = данные + процедуры». Каждый объект содержит некоторую структуру данных и доступные только ему процедуры (методы) обработки этих данных. Используя эту методологию, можно создать свой собственный абстрактный тип и отобразить проблемную область в эту созданную абстракцию вместо традиционного ее отображения в предопределенные управляющие структуры и структуры данных языка программирования. Объединение данных и свойственных им процедур обработки в одном объекте называется инкапсуляцией и присуще ООП.

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

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

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

К наиболее современным объектно-ориентированным языкам программиро­вания относятся С++ и Java.

Язык С++ был разработан в начале 80-х годов Бьярном Страуструпом в лаборатории Bell корпорации AT&T. Им была создана компактная компилирующая система, в основе которой лежал язык С, дополненный элементами языков BCPL, Simula-67 и Алгол-68. Более ранние версии языка были известны как «С с классами». В июле 1983 года С++ был впервые использован за пределами исследовательской группы автора, однако тогда еще многие особенности языка не были придуманы. К 1990г. была выпущена третья версия языка С++, стандартизированная американским государственным комитетом стандартов ANSI. В 1990 году сотрудник корпорации Sun Д. Гослинг на основе расширения С++ разработал объектно-ориентированный язык Oak, основным достоинством которого было обеспечение сетевого взаимодействия различных по типу устройств. Новая интегрируемая в Internet версия языка, получила название Java. С января 1995 года Java получает распространение в Internet.

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

Синтаксис языков С++ и Java практически полностью совпадают. Принципиальным различием является то, что язык С++ компилируемый в машинный код, а Java – в платформо-независимый байт-код (каждая команда занимает один байт), этот байт-код может выполняться с помощью интерпретатора – виртуальной Java-машины (Java Virtual Machine), версии которой созданы сегодня для любых платформ. С точки зрения возможностей объектно-ориентируемых средств, Java имеет ряд преимуществ перед С++. Язык Java имеет более гибкую и мощную систему инкапсуляции информации. Механизм наследования, реализованный в Java, обязывает к более строгому подходу к программированию, что способствует надежности и читабельности кода. Язык С++ обладает сложной неадекватной и трудной для понимания системой наследования. Возможности динамического связывания объектов одинаково хорошо представлены в обоих языках, но синтаксическая избыточность С++ и здесь принуждает к выбору языка Java. Сегодня Java по популярности занимает второе место в мире после Бейсика.

Идеи ООП проникли во многие процедурные языки. Например, в состав интегрированной системы программирования Паскаль (корпорации Borland International), начиная с версии 5.5, входит специальная библиотека ООП Turbo Vision.

С середины 90-х годов многие объектно-ориентированные языки реализуются как системы визуального программирования. Такие системы имеют интерфейс, позволяющий при составлении текста программы видеть те графические объекты, для которых она пишется. Отличительной особенностью этих систем является наличие в них среды разработки программ из готовых «строительных блоков», позволяющих создавать интерфейсную часть программного продукта в диалоговом режиме, практически без написания программных операций. Система берет на себя значительную часть работы по управлению компьютером, что делает возможным в простых случаях обходиться без особых знаний о деталях ее работы. Она сама пишет значительную часть текста программы: описания объектов, заголовки процедур и многое другое. Программисту остается только вписать необходимые строчки, определяющие индивидуальное поведение программы, которые система не в состоянии предвидеть. Но даже в этих случаях система сама указывает место для размещения таких строк. К объектно-ориентированным системам визуального проектирования относятся: Visual Basic, Delphi, C++ Builder, Visual C++. Это системы программирования самого высокого уровня.

VBA (Visual Basic for Application) является общей языковой платформой для приложений Microsoft Office (Exсel, Word, Power Point и др.). VВA соблюдает основной синтаксис и правила программирования языков Бейсик–диалектов. VВA помогает довольно сильно расширить возможности приложений за счет написания макросов – программ, предназначенных для автоматизации выполнения многих операций. VВA позволяет создавать объекты управления графического интерфейса пользователя, задавать и изменять свойства объектов, подключать к ним необходимый для конкретного случая программный код. С помощью VВA можно производить интеграцию между различными программными продуктами. Программы на языке VВA для приложений создаются двумя способами: в автоматическом режиме как результат построения клавишной макрокоманды или путем написания программного кода.

 

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных