- •Основы логического программирования с использованием языка пролог
- •Изучение работы с интегрированной оболочкой системы турбо пролог.
- •Краткие теоретические сведения
- •1. Турбо-Пролог, версия 2.0
- •Экран разделен на 4 окна:
- •2. Основные режимы работы
- •3. Стандартные предикаты
- •Задание на лабораторную работу Последовательность действий:
- •Варианты заданий
- •Контрольные вопросы
- •Рекурсия
- •Краткие теоретические сведения
- •Варианты заданий
- •Контрольные вопросы:
- •Задание на лабораторную работу Последовательность действий:
- •Варианты заданий
- •Контрольные вопросы
- •Списки и алгоритмы сортировки списков.
- •Краткие теоретические сведения
- •Задание на лабораторную работу Последовательность действий:
- •Варианты заданий
- •Контрольные вопросы
- •Краткие теоретические сведения
- •Варианты заданий
- •Контрольные вопросы:
- •Работа с внутренней и внешней базами данных системы турбо пролог
- •Краткие теоретические сведения
- •Задание на лабораторную работу Последовательность действий:
- •Варианты заданий
- •Контрольные вопросы
- •Универсальный графический интерфейс в языке турбо пролог.
- •Краткие теоретические сведения
- •Задание на лабораторную работу Последовательность действий:
- •Варианты заданий
- •Использование пролога для построения экспертных систем
- •Краткие теоретические сведения
- •1 Разработка экспертных систем, базирующихся на правилах.
- •2. Разработка экспертных систем, базирующихся на логике
- •Задание на лабораторную работу
- •Приложение 1
- •Приложение 2
- •Содержание
Задание на лабораторную работу Последовательность действий:
1. В соответствии с вариантом задания, определенным преподавателем, составить Пролог-программу задания.
2 Оформить отчет с указанием варианта задания, правил, текста программы и протокола выполнения программы.
Варианты заданий
Создать случайным образом список состоящий из K нулей и К единиц.
Написать предикат PL(L+,N-) – истинный тогда и только тогда, когда N – предпоследний элемент списка L, имеющего не менее двух элементов.
Определите возведение в целую степень через умножение и деление.
Вставить подсписок в определенное место списка.
Удалить все заданные элементы из списка.
Сложить два списка.
Напишите предикат subst(+V, +X, +Y, -L) – истинный тогда и только тогда, когда список L получается после взаимной замены X на Y, т.е. X Y, Y X.
Напишите предикат, который определяет, является ли данное натуральное число простым.
Напишите предикат p(+N, +K, -L) – истинный тогда и только тогда, когда L – список всех последовательностей (списков) длины K из чисел 1, 2, …, N.
Напишите предикат p(+N, -L) – истинный тогда и только тогда, когда список L содержит все последовательности (списки) из N нулей и N единиц, в которых никакая цифра не повторяется три раза подряд (нет куска вида ХХХ).
Получить элемент под номером N в списке.
Объедините два списка, найдите МАХ и удалите его.
Удалите из списка элемент, найдите длину оставшегося списка.
Добавьте элемент к списку, вычислите среднее арифметическое его элементов.
Определить максимальный элемент в списке.
Определить минимальный элемент в списке.
Определить количество одинаковых элементов в списке.
Определить число элементов в списке.
Определить произведение элементов списка.
Исключить из списка отрицательные элементы.
Выполнить сортировку элементов списка по возрастанию.
Даны два списка, имеющие ненулевое пересечение. Построить список, включающий все элементы указанных двух списков без повторений.
Определить отношение STPR (+X, –Y), где Y элементы списка в обратном порядке.
Определить отношение PRDS (+X, –Y), где Y перевод списка чисел от 0 до 9 в список соответствующих слов.
Написать программу вычисления скалярного произведения векторов inner_product(+X,+Y, –V), где X и Y – списки целых чисел, V – скалярное произведение этих списков.
Определить отношение PERES (+X,+Y, –V), где V – элементы списка чисел, являющимися общими для списков X и Y.
Определить отношение RAZN (+X,+Y, –V), где V – элементы списка чисел, принадлежат X, но не принадлежат Y.
Определить отношение element_mult(+X,+Y, –V), в котором элементы списка V равны произведениям соответствующих элементов списков X и Y.
Определить отношение shift(+X,–V), таким образом, чтобы список V представлял собой список X, "циклически сдвинутый" влево на один символ.
Треугольное число с индексом N – это сумма всех натуральных чисел до N включительно. Напишите программу, задающую отношение triangle(N,T), истинное, если T – треугольное число с индексом N.