Арифметические операции: найти "срединный" элемент списка нечетной длины - Prolog
Формулировка задачи:
Помогите написать программу в прологе. Желательно Turbo Prolog.
Необходимо найти «срединный» элемент списка нечетной длины..
Вот пример для вычисления суммы четных элементов числового списка:
Листинг программы
- /* Ливорекурсивна процедура расчета суммы четных элементов списка sum (+ Cписок, -Cyммa) */
- t([Hl],0). % граничное условие для списка нечетной длины
- t([Hl,H2],H2). % граничное условие для списка четной длины
- t([Hl,H2[T],Sum):-
- t(T,Int_sum),
- Sum is Int_sum+H2.
- Запросы
- t([l,2,3,4,5],S).
- S = 6 ->
- yes
- t([l,2,3,4,5,6],S).
- S = 12 ->
- yes
Решение задачи: «Арифметические операции: найти "срединный" элемент списка нечетной длины»
textual
Листинг программы
- mid(L, X) :- midd(L, L, X).
- midd([_], [X|_], X).
- midd([_,_|T1], [_|T2], X) :- midd(T1, T2, X).
Объяснение кода листинга программы
В данном коде реализован рекурсивный вызов для поиска «среднего» элемента списка нечетной длины. Пример вызова: mid([1,3,5,7,9], 5, X). Результат выполнения: X = 5
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д