Логическое программирование: решаемые задачи, отличия от других видов программирования, достоинства и недостатки

Страницы работы

3 страницы (Word-файл)

Фрагмент текста работы

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. Методы описания нестандартных данных в Прологе.

Для их описания нестандартных данных в Прологе могут быть

Похожие материалы

Информация о работе

Тип:
Тестовые вопросы и задания
Размер файла:
44 Kb
Скачали:
0