Функциональное и логическое программирование
Контрольная работа
назад

Контрольная работа

Вариант задачи выбирается по последней цифре пароля. Программы должны быть написаны на языке двух языках: Лисп и Пролог. В программе на Прологе исходные данные должны вводиться с клавиатуры, цель - внутренняя.

Вариант 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).

 


назад