Суммирование числового списка - Prolog
Формулировка задачи:
Предикат, который считает сумму элементов числового списка.
Решение задачи: «Суммирование числового списка»
textual
Листинг программы
domains int=integer intl=int* predicates sum(intl,int) clauses sum([],0). sum([H|T],S) :- sum(T,SS), S=SS+H.
Объяснение кода листинга программы
domains- определение типов данных для переменныхpredicates- определение пользовательской функции (предсказания)clauses- определение правил для функцииsum([],0).- базовый случай, когда список пустой, сумма равна 0sum([H|T],S) :- sum(T,SS), S=SS+H.- общий случай, когда список не пустой, сумма элементов равна сумме остальных элементов плюс значение текущего элемента