Функциональное и логическое программирование. Контрольная 1. Вариант №4. Контрольная 2. Вариант №4. Лабораторная работа 1. Вариант №8. Лабораторная работа 2. Вариант №4
Контрольная работа
в среде программирования XLisp и SWI-Prolog
Среда программирования: XLisp и SWI-Prolog
Название работы: Функциональное и логическое программирование. Контрольная 1. Вариант №4. Контрольная 2. Вариант №4. Лабораторная работа 1. Вариант №8. Лабораторная работа 2. Вариант №4
Вид работы: Контрольная работа
Описание: Функциональное и логическое программирование
Контрольная 1. Вариант №4
1) Напишите функцию, осуществляющую циклическую перестановку элементов в списке, т.е. (f g h j) -> (g h j f).
2) Напишите функцию, которая из данного одноуровнего списка строит список списков его элементов, например, (a b) -> ((a) (b)).
3) Определите функцию, зависящую от двух аргументов u и v, являющихся списками, которая вычисляет список всех элементов u, не содержащихся в v.
Контрольная 2. Вариант №4
1) Напишите функцию, которая определяет является ли данное натуральное число простым.
Воспользуйтесь более общей задачей: (ispr n m) – «Число n не делится ни на одно число большее или равное m и меньшее n».
Имеем (ispr n m) - истинно, во-первых, если n = m, и, во-вторых, если истинно (ispr n m+1) и n не делится на m.
2) Напишите функцию, которая сортирует список чисел, используя алгоритм простой вставки.
3) Напишите функцию (all p x), которая проверяет "Для всех ли элементов списка x выполняется предикат p?" (p - функция или функциональное имя).
Лабораторная работа 1. Вариант №8
1) Определите предикат p(+V, -L) - истинный тогда и только тогда, когда L - список всех элементов списка V, встречающихся в нем более одного раза.
2) Напишите предикат subst(+V, +X, +Y, -L) - истинный тогда и только тогда, когда список L получается после замены всех вхождений элемента X в списке V на элемент Y.
Лабораторная работа 2. Вариант №4
1) Запрограммируйте предикат p(+A,+B), распознающий, можно ли получить список элементов A из списка элементов B посредством вычеркивания некоторых элементов. Алгоритм: Если A - пустой список, то ответом будет "да". В противном случае нужно посмотреть, не пуст ли список B. Если это так, то ответом будет "нет". Иначе нужно сравнить первый элемент списка A с первым элементом списка B. Если они совпадают, то надо снова применить тот же алгоритм к остатку списка A и остатку списка B. В противном случае нужно снова применить тот же алгоритм к исходному списку A и остатку списка B.
2) Напишите предикат p(+X, +Y, +L) - истинный тогда и только тогда, когда X и Y являются соседними элементами списка L.
Год: 2020
Данный заказ (контрольная работа) выполнялся нашим сайтом в 2020-м году, в рамках этого заказа была разработана программа в среде программирования XLisp и SWI-Prolog. Если у Вас похожее задание на программу, которую нужно написать на XLisp и SWI-Prolog, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2020-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".
Viber: ![]() Telegram: ![]() ВКонтакте: ![]() ![]() E-mail: ![]() Skype: ![]() |