Разработать предикат, выделяющий из исходного списка подсписок, начиная с элемента с номером N и заканчивая элементом N + K. N и K — аргументы предиката, например: вход — [1, 2, 3, 4, 5, 6, 7, 8, 9], N = 3, K = 4; выход — [3, 4, 5, 6, 7].
Код должен быть написан на языке prolog. Программа должна запускаться в онлайн компиляторе swish (SWISH -- SWI-Prolog for SHaring). Помимо кода программы необходимо предоставить пример вызова. Код должен иметь схожую с примером структуру и логику.
Пример:
Разработать функцию, удаляющую из исходного списка элементы, порядковые номера которых заданы во втором списке.
Код программы:
func(Ans,[],_,Ans):-!.
func([_|T],[I|T1],I,Ans):-I1 is I+1,!,func(T,T1,I1,Ans).
func([H|T],List,I,[H|Ans]):-I1 is I+1,!,func(T,List,I1,Ans).
Вызов:
func([1, 2, 3, 4, 5], [2, 3], 1, X).
func(['a', 'b', 'c', 'd', 'e'], [1, 3, 4], 1, X).
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |