04.08.02. set_equal – nützliche Prädikate

Für die Definition des Prädikats kann member/2 und alle anderen bisher implementierten Prädikate verwendet werden.

Schreibe ein Prädikat set_equal/2, das zwei Listen L1 und L2 nimmt und gelingt, wenn die beiden Listen als Mengen betrachtet gleich sind (also wenn beide Listen als Mengen betrachtet die gleichen Elemente haben)

?- set_equal([a,b,a],[b,b,b,a]).
true.
?- set_equal([a,b,c],[b,b,b,a]).
false.
?- set_equal([a,b],[c,a,b]).
false.

Probiere es erst einmal selbst. Wenn Du einen Hinweis brauchst, klicke auf das Quiz!

Aus dem vorherigen Quiz weißt du nun, dass unter anderem folgendes gelten muss:

‚Jedes Element aus Liste L1 muss auch Element in Liste L2 sein.‘

An welches Prädikat erinnert dich das?

Wenn du herausgefunden hast, welches Prädikat behilflich sein kann beim Lösen der Aufgabe, überlege dir wie oft du dieses Prädikat für set_equal/2 benutzen musst. Anschließend solltest du es einfach mal ausprobieren und selber schreiben.

Noch keine Kommentare eingereicht. Bitte hilf uns diese Aufgabe zu verbessern.

Schreibe einen Kommentar