Среднее арифметическое списка - Prolog (226366)

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

Предикат, считающий среднее арифметическое значение элементов списка. пжл с объяснением.

Код к задаче: «Среднее арифметическое списка - Prolog (226366)»

textual
domains
re=real
rl=real*
 
predicates
sum_num(rl,re,re)
avg(rl,re)
 
clauses
sum_num([],0,0).
sum_num([H|T],S,L) :- sum_num(T,S1,L1), S=S1+H, L=L1+1.
 
avg([],_) :- fail.
avg(X,R) :- sum_num(X,S,L), R=S/L.

9   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ