05.07.01. Listenelemente verdoppeln – Regel formulieren

Schreibe ein Prädikat double_elements/2, das gelingt, wenn beide Argumente Listen von Zahlen sind und die zweite Liste genau aus den verdoppelten Zahlen der ersten Liste besteht.

?- double_elements([1,4,3],[2,8,6]).
true.
?- double_elements([3,4,1],[2,8,6]).
false.
?- double_elements([],[]).
true.

Welche der Aussagen stimmen in Bezug auf die Aufgabe?

Um die Aufgabe lösen zu können müssen immer das vorderste Element der ersten Liste, mit dem der zweiten Liste verglichen werden. Danach die beiden zweiten Elemente der beiden Listen und so weiter.

Wie kann man in Prolog auf die jeweils ersten Elemente der beiden Listen zugreifen?

Wenn man wie kurz vorher beschrieben die Liste  durchgeht, wie sehen die Listen dann am Ende, beim letzten Schritt aus?

Überlege dir dann selber, wozu du diese Information nutzen kannst.

Was machst du nun mit den Heads der beiden Listen?

Was machst du mit den Tails der Listen in dem Prädikat?

Dies ist die letzte Quizfrage zu dieser Aufgabe. Versuche nach dieser Frage das Prädikat über den ‚Programmieren‘-Button eigenständig zu lösen.

An welcher Stelle im Code trennt man am besten die beiden Listen in Head und Tail?

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

Schreibe einen Kommentar