Списки и рекурсия - Prolog

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста, по 2 числам требуется создать список натуральных чисел, элементы которого лежат внутри этого диапазона, например ввели 2 и 8, ответ [3,4,5,6,7], а если ввели 8 и 2 то наоборот [7,6,5,4,3], не понимаю как создать предикат для проверки сразу двух условий, для сравнения n>m и n<m, пишу на прологе 5.2

Решение задачи: «Списки и рекурсия»

textual
Листинг программы
  1. domains
  2. list = integer*
  3.  
  4. predicates
  5. generate(integer,integer,list)
  6. generate_plus(integer,integer,list)
  7.  
  8. clauses
  9. generate(A,B,L) :- generate_plus(A, B, [_|L]).
  10.  
  11. generate_plus(A, A, []) :- !.
  12. generate_plus(A, B, [A|T]) :-
  13.    A > B,
  14.    !,
  15.    AA = A - 1,
  16.    generate_plus(AA, B, T).
  17. generate_plus(A, B, [A|T]) :-
  18.    A < B,
  19.    AA = A + 1,
  20.    generate_plus(AA, B, T).
  21.    
  22. goal
  23.    generate(8, 2, L1), write(L1), nl,  
  24.    generate(2, 8, L2), write(L2), nl.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы