Списки и рекурсия - Prolog
Формулировка задачи:
Помогите пожалуйста, по 2 числам требуется создать список натуральных чисел, элементы которого лежат внутри этого диапазона, например ввели 2 и 8, ответ [3,4,5,6,7], а если ввели 8 и 2 то наоборот [7,6,5,4,3], не понимаю как создать предикат для проверки сразу двух условий, для сравнения n>m и n<m, пишу на прологе 5.2
Решение задачи: «Списки и рекурсия»
textual
Листинг программы
- domains
- list = integer*
- predicates
- generate(integer,integer,list)
- generate_plus(integer,integer,list)
- clauses
- generate(A,B,L) :- generate_plus(A, B, [_|L]).
- generate_plus(A, A, []) :- !.
- generate_plus(A, B, [A|T]) :-
- A > B,
- !,
- AA = A - 1,
- generate_plus(AA, B, T).
- generate_plus(A, B, [A|T]) :-
- A < B,
- AA = A + 1,
- generate_plus(AA, B, T).
- goal
- generate(8, 2, L1), write(L1), nl,
- generate(2, 8, L2), write(L2), nl.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д