Функциональное и логическое программирование. ЛР5 и ЛР6
Лабораторная работа
в среде программирования Prolog
Среда программирования: Prolog
Название работы: Функциональное и логическое программирование. ЛР5 и ЛР6
Вид работы: Лабораторная работа
Описание: Название: Функциональное и логическое программирование
Задание 23. Запрограммируйте предикат p(+A,?B), распознающий, можно ли получить список элементов A из списка элементов B посредством вычеркивания некоторых элементов. Алгоритм: Если A - пустой список, то ответом будет "да". В противном случае нужно посмотреть, не пуст ли список B. Если это так, то ответом будет "нет". Иначе нужно сравнить первый элемент списка A с первым элементом списка B. Если они совпадают, то надо снова применить тот же алгоритм к остатку списка A и остатку списка B. В противном случае нужно снова применить тот же алгоритм к исходному списку A и остатку списка B.
?- fib(10,2,1,1,R).
Задание 55. Напишите предикат filter(+V, +P, ?L) - истинный тогда и только тогда, когда список L есть список всех элементов из списка V, удовлетворяющих предикату P ("фильтрация" списка).
Например:
?– filter(number,[1,a,b,c],X).
X=[1]
Yes
?– filter(atom,[1,a,b,c],X).
X=[a,b,c]
Yes
?– filter(atomic,[1,a,b,c],X).
X=[1,a,b,c]
Yes
Используйте предикат apply.
Год: 2019
Данный заказ (лабораторная работа) выполнялся нашим сайтом в 2019-м году, в рамках этого заказа была разработана программа в среде программирования Prolog. Если у Вас похожее задание на программу, которую нужно написать на Prolog, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2019-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".
Тел.: ![]() Viber: ![]() Telegram: ![]() ВКонтакте: ![]() ![]() E-mail: ![]() Skype: ![]() |