Witam mam do napisania program o treści :
Korzystając z wbudowanych predykatów SWI Prologu zdefiniuj predykat
operacja(L1, L2)
spełniony, gdy lista L2 powstaje z listy L1 przez dodanie jako ostatniego elementu średniej arytmetycznej
największego i najmniejszego elementu listy L1. Zakładamy, że L jest listą liczbową i ma co najmniej jeden
element (nie trzeba tego sprawdzać).
Napisałem coś takiego:
%=============================================================
%Zad 3
%=============================================================
operacja(L1,L2):-
msort(L1,X), %X powstaje przez posortowanie listy L1
[H|T]=X, %odcinam glowe listy X(najmniejszy element)
last(X,Z), %element Z to ostatni element listy X(największy element)
Y is ((H+Z)/2),
append(L1, [Y], L2) .%Lista L2 powstaje przez dodanie elementu Y do listy L1.
%=============================================================
Muszę teraz zrobić :
Sprawdź działanie programu dla 2 kompletów argumentów. Wyniki umieść w programie jako komentarz
I nie mam pojęcia co robię źle ostatnio napisałem
operacja([1, 2, 3], [1, 2, 3, 2]) i to komentarz zwrotny
brak przykładów użycia predykatu operacja: ma to być sesja prologowa dołączona jako komentarz. Dodana ostatnia linia programu nie jest właściwa i powoduje, że program nie działa. W przykładach drugi argument predykatu operacja powinien być zmienną, aby można było zaobserwować rzeczywiste działanie predykatu operacja.
Jakieś pomysły co robię nie tak ?