Центральным понятием в логическом программировании является отношение. Программа представляет собой совокупность определений отношений между объектами. Процесс выполнения программы является процессом установления общезначимости логической формулы, построенной из программы по правилам семантики некоторого языка. В логическом программировании нужно определить факты, на которых основывается алгоритм, и не определять последовательности шагов, как в процедурном программировании, которые требуется выполнить.
Наиболее известным языком логического программирования является Prolog (Programming in Logic), созданный в 1973 г. французским учёным А. Кольмероэ.
Программа на Prolog состоит из фактов, правил и вопроса. На вопрос программа пытается ответить, либо «yes», либо «no».
Пример
eats (cats, mice).
Это факт, который сообщает, что кошки питаются мышами.
eats (X, Y):- eats (X, Z), eats (Z, Y).
Это правило, по которому следует, что если Z питается X и Z питается Y, то X питается Y.
Формально это верное правило, хотя по отношению к реальности оно может быть бессмысленным.
|
|
Далее можно поставить вопрос:
? - eats (cats, Y).
Тогда будет получен ответ: Y == mice.
g
Объектно-ориентированное программирование
Центральным понятием объектно-ориентированного программирования является объект. Объект интегрирует некоторое состояние (данные) и доступные только ему механизмы изменения этого состояния (методы). Объединение данных и методов в объекте называется инкапсуляцией. Инкапсуляция скрывает от пользователя подробности работы объекта, тем самым упрощая пользование методами объекта, а также предохраняет от случайных ошибок, нарушающих состояние объекта. Другая особенность такого программирования заключается в том, что сущность объекта и его методов может быть отделена от конкретной формы данного объекта в программе. Например, некоторый метод реализует алгоритм, не конкретизируя точно, с какой структурой данных он работает. В реальной программе этот метод будет подстраиваться под конкретную структуру данных. Такой принцип программирования называется полиморфизмом. В процессе программирования создаются различные типы объектов. При этом несколько разных объектов могут иметь ряд одинаковых свойств или методов. Логично выделить эти свойства как свойства более общего объекта, а исходные объекты сделать наследниками этих свойств. Этот принцип называется наследованием.
Таким образом, язык объектно-ориентированного программирования имеет в своём составе механизмы реализации трёх главных принципов такого программирования: инкапсуляции, полиморфизма и наследования.
|
|
Наиболее распространённым языком объектно-ориентированного программирования, видимо, следует считать язык С++. Он был разработан в 1982 г. Б. Страуструпом. В 1998 г. был принят ISO-стандарт языка.
Язык С++ полностью включает в себя язык С. Главная часть программы на языке С++ состоит из определений классов (типов объектов) и член-функций классов (методов).
Язык программирования Ada был разработан в 1979 г. по заказу Министерства обороны США и является обязательным для многих военных приложений. Основное назначение языка – создание больших программ для работы в реальном времени. Синтаксис языка очень похож на синтаксис языка Pascal. Существенным недостатком языка является его громоздкость.
Контрольные вопросы
1. Какая основная цель преследовалась при создании ЭВМ с параллельной обработкой данных?
2. Что такое производительность ЭВМ и как её можно оценить?
3. Почему существуют несколько различных способов оценки производительности?
4. Что такое алгоритм?