- •127994, Москва, ул. Образцова, 15
- •2.Теоретические основы логическоого программирования
- •2.1.Логика высказываний и логика предикатов.
- •2.1.1.Формулы. Синтаксис и семантика формул.
- •2.1.2.Интерпретация формул в логике высказываний.
- •2.1.3.Интерпретация в логике предикатов первого порядка
- •2.1.4.Равносильность формул логики высказываний
- •2.1.5.Тождественная истинность формул логики высказываний
- •2.1.6.Равносильность формул логики первого порядка
- •2.1.7.Тождественная истинность, общезначимость, выполнимость, противоречивость формул логики предикатов
- •2.1.8.Рассуждения в логике высказываний (предикатов)
- •2.2.Метод резолюций
- •2.2.1.Метод резолюций в логике высказываний
- •2.2.2.Подстановка и унификация
- •2.2.3.Метод резолюций для логики первого порядка
- •2.2.4.Стратегии метода резолюций
- •2.3.Отношения и предикаты
- •3.Пролог- язык РекуРсивно-логического программирования
- •3.1.Пролог-история возникновения
- •3.2.Синтаксис языка пролог
- •3.3.Семантика языка пролог
- •3.4.Язык пролог и метод резолюций. Логическая интерпретация языка Пролог.
- •3.5.Работа в пролог-системе
- •3.6.Описание инфиксных операций
- •3.7.Списки в языке пролог
- •3.8.Арифметика в языке пролог
- •3.9.Отсечение и отрицание в языке пролог
- •3.10.Встроенные предикаты языка пролог
- •3.11.Работа с базой данных в языке пролог
- •3.12.Предикаты поиска
- •3.13.Решение головоломки на языке пролог(задача Эйнштейна)
- •4.Лабораторные работы по РекуРсивно-логическому программированию
- •4.1.Задание n1 Отношения между объектами. (на Прологе и Паскале)
- •4.1.1.Методические указания
- •4.1.2.Варианты
- •4.2.Задание n2. Работа со списками
- •4.2.1.Методические указания
- •4.2.2.Варианты
- •4.3.Задание n3. Разные задачи
- •4.3.1.Методические указания
- •4.3.2.Варианты
- •4.4.Содержание отчета
4.3.Задание n3. Разные задачи
4.3.1.Методические указания
В теоретическом плане:
сформулировать цель задачи в виде отношения между входными и выходными данными;
записать словесную интерпретацию правил ПРОЛОГ- программы;
записать программу посредством формул логики предикатов.
В практическом плане:
определить отношение между входными и выходными данными средствами языка ПРОЛОГ;
протестировать целевой и другие предикаты, получить явные задания отношений.
4.3.2.Варианты
Напишите программу решения числового ребуса вида
.
Задача состоит в том. чтобы заменить
буквы D, О, N и т.д. на цифры таким образом,
чтобы вышеприведенная сумма была
правильной. Разным буквам должны
соответствовать разные цифры.Напишите программу для упрощения алгебраических сумм, в которых участвуют числа и переменные (строчные буквы). В выдаваемом результате требуется, чтобы переменные предшествовали числам, одинаковые переменные приводились как подобные члены, числовые слагаемые складывались.
Дано положение коня на шахматной доске. Определить минимальный путь коня в заданную точку.
Дано положение слона на шахматной доске. Определить минимальный путь слона в заданную точку при наличии на доске запрещенных полей.
Напишите программу "Ханойские башни".
Напишите программу решения задачи о восьми ферзях.
Написать программу ввода и вычисления арифметического выражения (операнды - целые числа).
Написать программу символьного умножения двух многочленов от одной переменной.
Написать программу интерпретации (вычисления) польской инверсной записи арифметического выражения (операнды - целые числа).
Написать программу символьного дифференцирования многочлена от одной переменной.
Написать программу вычисления значения логического выражения в дизъюнктивной нормальной форме.
Напишите программу, распознающую дизъюнктивную нормальную форму формулы логики высказываний.
Напишите программу, которая преобразует префиксную запись арифметического выражения в инфиксную, с учетом того, что знак умножения может быть опущен.
Написать программу перемножения двух многочленов от n переменных.
Написать программу символического дифференцирования многочлена от n переменных.
Написать программу символического дифференцирования дробно-рациональной функции.
Написать программу символического дифференцирования произвольного алгебраического выражения (операции + - * /).
Написать программу символического дифференцирования выражения, включающего тригонометрические функции (операции + -).
Написать программу вычисления значения логического выражения в конъюнктивной нормальной форме.
Напишите программу, распознающую конъюнктивную нормальную форму.
Напишите программу, определяющую является ли данное выражение правилом языка Пролог.
Напишите программу, которая читает символьную запись многочлена от одной переменной, список значений коэффициентов, значение переменной и вычисляет значение многочлена.
Напишите программу, моделирующую работу недетерминированного конечного автомата.
Напишите программу, которая имитирует игру "Крестики-нолики".
Напишите программу, которая имитирует игру "Пятнадцать" ("Восемь").
Напишите программу, которая имитирует игру "12 палочек" (на каждом шаге можно взять 1,2 или 3, проигрывает тот, кто берет последнюю).
На шахматной доске расположены белые и черные ферзи, ладьи, кони и слоны. Могут ли Белые безнаказанно взять фигуру Черных.
Написать программу интерпретации (вычисления) триадной записи программы (предусмотреть арифметические операции и присваивание).
Напишите программу, которая имитирует игру "Быки и коровы".
Напишите программу решения следующей логической головоломки.
Три друга заняли первое, второе и третье места в соревнованиях. Друзья - разной национальности, зовут их по-разному, и любят они разные виды спорта.
Майкл предпочитает баскетбол и выступил лучше чем американец. Израильтянин Саймон выступил лучше теннисиста. Игрок в крикет занял первое место.
Кто является австралийцем? Каким спортом занимается Ричард?
