Написать указанные предикаты на языке Пролог, проверить определения, вызвав предикаты в интерпретаторе с разными аргументами.
1a. Список является упорядоченным по возрастанию или убыванию
1b. Разбиение списка примерно пополам
?-'пополам'([a,b,c,d,e],X,Y).
X=[a,c,e]
Y=[b,d]
2a. Пересечение множеств
2b. Объединение множеств
3a. Слияние двух упорядоченных по возрастанию списков
3b. Список является упорядоченным по возрастанию
4a. Разность множеств
4b. Список не содержит одинаковых элементов (является множеством).
5a. Вставить число в упорядоченный список
5b. Сортировка вставками
6a. Подмножество
6b. Подсписок
7a. Найти максимальный элемент числового списка.
7b. Найти количество минимальных элементов числового списка.
8a. n-й элемент списка
8b. Подсписок с n-го элемента длиной m.
9а. Замена всех вхождений заданного элемента на другое значение.
9b. Замена i-го вхождения заданного элемента на другое значение.
10a. Разделить список на 3 части, в первый все элементы меньше заданного X, во второй равные заданному X
и в третий больше заданного X.
10b. Реализовать быструю сортировку.
11a. Количество положительных значений в списке чисел.
11b. Заменить все вхождения положительных значений на 0 в списке чисел.
12a. Количество значений меньше 0 в списке чисел.
12b. Найти индекс k-го вхождения значения меньше 0 в списке чисел.
13a. Количество четных значений в списке целых чисел.
13b. Удалить все четные значения в списке целых чисел.
14a. Индекс первого отрицательныго значения в списке чисел.
14b. Удалить все отрицательные значения в списке чисел.
15a. Найти максимальное значение в списке чисел.
15b. Максимальная длина непрерывной подпоследовательности из положительных значений в списке чисел.
16a. Длина первой непрерывной подпоследовательности из нечетных значений в списке чисел.
16b. Удалить первую непрерывной подпоследовательности из нечетных значений в списке чисел.
17a. Заменить последнее вхождение положительного значения на 0 в списке чисел.
17b. Заменить все вхождение положительных значений на X в списке чисел.
18a. Найти индекс первого вхождение отрицательного значения в списке чисел.
18b. Заменить первое вхождение отрицательного значения на максимальное значение в списке чисел.
19a. Сумма отрицательных значений в списке чисел.
19b. Вернуть список индексов отрицательных значений в списке чисел.
20a. Вернуть индекс первого вхождения значения в список.
20b. Вернуть максимальное значение в списке чисел и индекс его первого вхождения.
21a. Удалить K-ый элемент из списка.
21b. Удалить N элементов из списка, начиная с K-го.
22a. Вставить новый элемент перед K-ым элементом в списке
22b. Вставить новый подсписок перед K-ым элементом в списке
23a. Длина первой непрерывной подпоследовательности из значений в диапазоне от A до B в списке из целых чисел.
23b. Удалить все числа в диапазоне от A до B в списке из целых чисел.
24a. Найти индекс последнего вхождения значения равного A
в списке из целых чисел.
24b. Заменить K-е вхождение значения равного A на 0
в списке из целых чисел.
25a. Сумма положительных значений в списке чисел.
25b. Поменять местами первый отрицательный элемент и
первый положительный элемент.