From d989cb6a534effd1f53f8a41ede1cbad99e502ac Mon Sep 17 00:00:00 2001 From: wieerwill Date: Sun, 27 Mar 2022 16:35:55 +0200 Subject: [PATCH] Prolog Aufgaben --- ...kprogrammierung - Prüfungsvorbereitung.pdf | 4 +- ...kprogrammierung - Prüfungsvorbereitung.tex | 103 +++++++++++++++++- 2 files changed, 104 insertions(+), 3 deletions(-) diff --git a/Logik und Logikprogrammierung - Prüfungsvorbereitung.pdf b/Logik und Logikprogrammierung - Prüfungsvorbereitung.pdf index fbf2907..97e2458 100644 --- a/Logik und Logikprogrammierung - Prüfungsvorbereitung.pdf +++ b/Logik und Logikprogrammierung - Prüfungsvorbereitung.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:677818bc3cb6c874cf69e1d1b5cbff47dbc4c712c2327729a0daa48f804ff56e -size 273890 +oid sha256:40fdddc14e91deff8deff055c23bd4bbd4b9c4df3d251a8575e862f748e2c77e +size 281978 diff --git a/Logik und Logikprogrammierung - Prüfungsvorbereitung.tex b/Logik und Logikprogrammierung - Prüfungsvorbereitung.tex index 8f779fb..e125742 100644 --- a/Logik und Logikprogrammierung - Prüfungsvorbereitung.tex +++ b/Logik und Logikprogrammierung - Prüfungsvorbereitung.tex @@ -418,18 +418,70 @@ \item $Gr=[4,5,6]$ \end{itemize} \begin{solution} + \begin{lstlisting} + % delete Funktion + delete(_, [ ], [ ]). + delete(X, [X|Xs], Xs). + delete(X, [Y|Ys], [Y|Zs]) :- + delete(X, Ys, Zs). + + % append Funktion + append([ ], Xs, Xs). + append([X|Xs], Ys, [X|Zs]) :- + append(Xs, Ys, Zs). + + % partition Funktion + partition([ ], E, Kl, Gr). + partition([K|R], E, Kl, Gr):- + KE, + append(K, Gr, Gr), + partition(R, E, Kl, Gr). + + \end{lstlisting} \end{solution} \part Das Prädikat $merge(L1,L2,L)$ soll zwei sortierte Listen mit ganzen Zahlen $L1$ und $L2$ zu einer sortierten Liste $L$ verschmelzen. \begin{solution} + \begin{lstlisting} + merge([ ], L2, L2). + merge(L1, [ ], L1). + merge([K1|R2], [K2|R2], L):- + K1>K2, + append(K2, L, L), + merge([K1|R1], R2, L). + merge([K1|R2], [K2|R2], L):- + K2=Max, + am_groesten(R, K). + am_groesten([K|R], Max):- + K=