Среднее арифметическое и добавление в конец списка - Prolog

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

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

1. Найти среднее арифметическое элементов списка целых чисел. 2. Добавить элемент в конец asl :- write('Input list L '), nl, read(L), nl, write('List L= '), write(L), nl, avg(L, A), write('AVG= '), write(A). sum([], 0). sum([H|T], S) :– sum(T, S_T), S is S_T + H. avg([],0):– !. avg(L,A):– sum(L, S), length(L, K), A=S/K. conclist :- write('Input list L1 '), nl, read(L1), nl, write('List L1 = '), write(L1), nl, write('Input list L2 '), nl, read(L2), nl, write('List L2 = '), write(L2), nl, conc(L, L1, L2), write("L = "), write(L). conc([], L, L). conc([X|L1], L2, [X|L3]) :- conc(L1, L2, L3). swiprolog 4 ошибки "Operator expected" Почему и как это исправить?

Решение задачи: «Среднее арифметическое и добавление в конец списка»

textual
Листинг программы
push_back([X|Xs], Elem, [X|Xs1]) :-
    push_back(Xs, Elem, Xs1).
push_back([], Elem, [Elem]).

Объяснение кода листинга программы

  1. В коде представлена процедура push_back, которая добавляет элемент Elem в конец списка Xs.
  2. Если список Xs пуст, то в него добавляется элемент Elem.
  3. Если список Xs не пуст, то рекурсивно вызывается процедура push_back для списка Xs и элемента Elem, при этом Xs1 - это результат выполнения рекурсивного вызова.
  4. Результатом выполнения процедуры является список Xs1.

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


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

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

6   голосов , оценка 3.5 из 5
Похожие ответы