Exerciții Laboratorul 2, Exercițiul 9

max/2 — elementul maxim

Scrieți un predicat max/2 care caută elementul maxim dintr-o listă de numere naturale.

?- max([4, 2, 6, 8, 1], Result).
Result = 8

Hint: calculează recursiv max pe coadă, apoi compară cu H. Două clauze cu condiții complementare (MaxTail >= H și H >= MaxTail) — sau o singură clauză care unifică Result prin max(H, MaxTail, Result).

Te-ai blocat?
editor soluție
?-
Tastează o interogare (ex. father_of(sandra, X).) și apasă Enter — sau apasă pe un caz de test de mai jos.
Cazuri de test (3 — apasă pe unul ca să îl rulezi, sau Verifică pentru toate)
?
max([4, 2, 6, 8, 1], Result). așteptat: Result = 8
?
max([3], Result). așteptat: Result = 3
?
max([5, 5, 5], Result). așteptat: Result = 5