Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsia_8.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
87.04 Кб
Скачать
  1. Логическое программирование

Французский ученый А.Кольмероэ создал язык PROLOG (PROgramming in LOGic - программирование в терминах логики), первоначально предназначенный для работы с естественными языками, и опубликовал его писание 1973 г.

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

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

Результат вычисления является побочным продуктом этого процесса. В реляционном программировании нужно только специфицировать факты, на которых алгоритм основывается, а не определять последовательность шагов, которые требуется выполнить. Это свидетельствует о декларативности языков логического программирования. Она метко выражена в формуле Р.Ковальского: «алгоритм = логика + управление».

Языки логического программирования характеризуются:

сверхвысоким уровнем;

жесткой ориентацией на символьные вычисления (числовая обработка затруднена);

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

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

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

Тем не менее языки логического программирования играют центральную роль в проектах ЭВМ пятого поколения.

В настоящее время, для ПЭВМ существует более15 реализаций PROLOGa. Наиболее удачными системами считаются Arity/Prolog 5.0 и Turbo Prolog 2.0, оформленные в виде интегрированных сред.

  1. Объектно-ориентированное программирование

Имя использования программных «объектов» развивалось в течение многих лет разными исследователями.

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]