Функциональное и логическое программирование |
Контрольная работа |
Контрольная работа
Вариант задачи выбирается по последней цифре пароля. Программы должны быть написаны на языке двух языках: Лисп и Пролог. В программе на Прологе исходные данные должны вводиться с клавиатуры, цель - внутренняя.
Вариант 0
В списке из каждой группы подряд идущих элементов оставьте только один. Например: На Лиспе для списка (1 1 1 2 3 3 4 4 4 4) результатом будет список (1 2 3 4).
Вариант 1
Вставьте в список новые элементы X перед всеми вхождениями Y.
Например: На Лиспе при x=5, y=1 и списке (1 2 1 5 8 1 0) результатом будет список
(5 1 2 5 1 5 8 5 1 0).
Вариант 2
Удалите из списка перед каждым вхождением X один элемент, если такой имеется и отличен от X.
Например: На Лиспе при x=1 и списке (1 2 1 1 3) результатом будет список (1 1 1 3).
Вариант 3
Удалите из списка за каждым вхождением X один элемент, если такой имеется и отличен от X.
Например: На Лиспе при x=1 и списке (1 8 2 1 1 5 1) результатом будет список
(1 2 1 1 1).
Вариант 4
Сформируйте новый список без повторений из тех элементов исходного списка, которые встречаются больше одного раза.
Например: На Лиспе для списка (5 1 2 1 3 5 5 7) результатом будет список (5 1).
Вариант 5
Сформируйте новый список из общих элементов двух списков (пересечение множеств).
Например: На Лиспе для списков (1 2 3 5) и (6 4 1 8 3) результатом будет список (1 3).
Вариант 6
Сформируйте новый список, включающий в себя без повторений все элементы двух списков (объединение множеств).
Например: На Лиспе для списков (1 2 3 5) и (6 4 1 8 3) результатом будет список
(2 5 6 4 1 8 3).
Вариант 7
Сформируйте новый список, включающий в себя элементы, не входящие в два списка (симметpичную pазность множеств).
Например: На Лиспе для списков (1 2 3 5) и (6 4 1 8 3) результатом будет список
(2 5 6 4 8).
Вариант 8
Сформируйте новый список, включающий в себя те элементы первого списка, которые не входят во второй (pазность множеств).
Например: На Лиспе для списков (1 2 3 5) и (6 4 1 8 3) результатом будет список (2 5).
Вариант 9
Возведите в квадрат каждый третий элемент числового списка.
Например: На Лиспе для списка (1 2 3 5 3 6 8 2 4 7) результатом будет список
(1 2 9 5 3 36 8 2 16 7).