1. Логическое программирование: решаемые задачи, отличия от других видов программирования, достоинства и недостатки.
В основе лежит математическая логика, а именно, теория исчисления предикатов первого порядка. Логические утверждения, подлежащие доказательству, называются целевыми утверждениями. Программа представляет собой множество аксиом. Решение - способ доказательства целевого утверждения. В основе логического программирования лежит метод резолюций.
2. Функциональное программирование: решаемые задачи, отличия от других видов программирования, достоинства и недостатки.
Любую сложную программу можно рассматривать как функцию. Основной принцип - суперпозиция функций.
Выполнение функциональной программы есть последовательность замен примитивных и составных функций, которая постепенно редуцирует необходимую суперпозицию функций до того момента, пока не будет получен результат.
Достоинства:
1) Функциональное программирование имеет надежное математическое обоснование.
2) Возможность оптимизации и верификации программ.
3) Простота механизма перехода от простых объектов к более сложным.
4) Возможность стандартизации и параллельной обработки информации.
Недостатки:
1) Неформальный подход при разработке программ.
2) Неудобства при работе с базами данных.
3. Что такое простой абстрактный интерпретатор?
Абстрактный интерпретатор выполняет вычисления с ответами «да/нет». Он получает программу P и основной вопрос Qи дает ответ да, если Q выводимо из P, и ответ нет, в противном случае. Кроме того, если цель не выводима, интерпретатор может вообще не завершить работу. В этом случае не выдается никакого ответа.
На любой стадии вычислений существует текущая цель, называемая резольвентой. Протоколом интерпретатора называется последовательность резольвент, которые строятся в процессе вычисления, вместе с указанием сделанного выбора.
4. Секционированность программ на Прологе, основные секции (перечислить).
Пролог программа состоит из определенных частей, которые называются секциями. Начало секций определяется с помощью ключевых слов:
· domains - секция для объявления типов данных
· database - секция для объявления предикатов базы данных
· predicates - секция для объявления предикатов
· goal - определение цели
· clauses - секция для описания фактов и правил.
Некоторые секции могут не присутствовать в программе, например, цель. Секции объявлений подобны описанию типов в Паскале и являются важными для разработки больших программ. Приставка global к названию секции объявляет возможность использования предикатов в нескольких моделях.
Программа может содержать перечисленные секции при соблюдении следующих ограничений:
· каждая секция программы должна начинаться с перечисленных ключевых слов;
· только одна цель может быть определена в программе;
· все правила и факты, описывающие один и тот же предикат, должны появится друг за другом, т.е. они не могут находиться в разных местах программы;
· global predicates встречается в программе один раз;
· секция database должна появляться перед всеми global и predicates секциями.
5. Секция DOMAINS: назначение, расположение в программе, пример использования.
Domains - секция для объявления типов данных, если существует, то располагается перед секцией predicates.
Например:
domains
i=integer
s=symbol*
sp=s*
6. Стандартные типы данных в Прологе.
integer – целое число,
char – одиночный символ, заключенный в апострофы,
real – действительной число,
string – произвольная последовательность символов, заключенная в кавычки,
symbol – два формата: либо последовательность символов, начинающаяся со строчной буквы, либо произвольная последовательность символов, заключенная в кавычки.
7. Методы описания нестандартных данных в Прологе.
Для их описания нестандартных данных в Прологе могут быть
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.