Запуск SWI-Prolog программы в ideone
Формулировка задачи:
Есть функция, считающая кол-во вхождений элемента в список:
И начальные установки:
Как правильно вызвать count_in_list(4, [5,3,6,4,9,1,4,2,7,8,0,5,4])) и вывести результат работы?
Ссылка на программу в ideone
Решение задачи: «Запуск SWI-Prolog программы в ideone»
textual
Листинг программы
count_in_list(X,[X|T],N):-!,count_in_list(X,T,N1), N is N1+1. count_in_list(X,[_|T],N):-count_in_list(X,T,N). count_in_list(_,[],0). :- count_in_list(4, [5,3,6,4,9,1,4,2,7,8,0,5,4], X), write(X). /* X=3 */
Объяснение кода листинга программы
В данном коде представлен простой подсчет количества повторяющихся элементов в списке. Список разделен на два случая:
- Если элемент X присутствует в списке, то функция count_in_list(X, [X|T], N) рекурсивно вызывается для списка T и счетчика N, и к N добавляется единица.
- Если элемент X отсутствует в списке, то функция count_inlist(X, [|T], N) рекурсивно вызывается для списка T и счетчика N. Если список пуст, то счетчик инициализируется нулем. В конце кода приведен пример вызова функции count_in_list(4, [5,3,6,4,9,1,4,2,7,8,0,5,4], X), где X должен быть равен 3.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д