Ответ в теме: Из списка целых чисел исключить min_member

      Комментарии к записи Ответ в теме: Из списка целых чисел исключить min_member отключены
#1930

Получить максимальный и минимальный элементы можно стандартными предикатами min_list и max_list. Если стандартные использовать нельзя — можно написать свою собственную реализацию:

min_list([], _Min):-!, fail.
min_list([Head|Tail], TailMin):-
min_list(Tail, TailMin), TailMin < Head, !.
min_list([Head|_Tail], Head).

В пустом списке минимального элемента нет, такие входные данные являются некорректными, правило завершается неудачей.
В противном случае список разделяется на первый элемент (голову) и остальные (хвост). Выполняется рекурсивный поиск минимума среди элементов хвоста.
Если хвост содержит элементы меньше первого — функция возвращает значение, полученное в результате рекурсивного вызова, в противном случае возвращается первый элемент.

Чтобы вычислить и удалить значение среднего элемента списка, используйте стандартные предикаты sum_list, length и delete.