mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-25 14:28:05 +02:00
Prolog hinzugefügt
This commit is contained in:
parent
fa6e51c684
commit
01c3ca6884
6 changed files with 51 additions and 3 deletions
|
@ -55,8 +55,6 @@ hat einen Speicherverbrauch von $\mathcal{O}(n)$. Durch einen
|
||||||
\textbf{Akkumulator}\xindex{Akkumulator} kann dies verhindert werden:
|
\textbf{Akkumulator}\xindex{Akkumulator} kann dies verhindert werden:
|
||||||
\inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/fakultaet-akkumulator.hs}
|
\inputminted[numbersep=5pt, tabsize=4]{haskell}{scripts/haskell/fakultaet-akkumulator.hs}
|
||||||
|
|
||||||
\todo[inline]{Endrekursion ... macht für mich unter "Haskell" wenig sinn. Vielleicht einen neuen Abschnitt mit Techniken? Was würde da noch landen?}
|
|
||||||
|
|
||||||
\section{Beispiele}
|
\section{Beispiele}
|
||||||
\subsection{Hello World}
|
\subsection{Hello World}
|
||||||
Speichere folgenden Quelltext als \texttt{hello-world.hs}:
|
Speichere folgenden Quelltext als \texttt{hello-world.hs}:
|
||||||
|
|
Binary file not shown.
|
@ -89,6 +89,7 @@
|
||||||
\pagenumbering{arabic}
|
\pagenumbering{arabic}
|
||||||
\setcounter{page}{1}
|
\setcounter{page}{1}
|
||||||
\input{Programmiersprachen}
|
\input{Programmiersprachen}
|
||||||
|
\input{Programmiertechniken}
|
||||||
\input{Haskell}
|
\input{Haskell}
|
||||||
\input{Prolog}
|
\input{Prolog}
|
||||||
\input{Scala}
|
\input{Scala}
|
||||||
|
|
5
documents/Programmierparadigmen/Programmiertechniken.tex
Normal file
5
documents/Programmierparadigmen/Programmiertechniken.tex
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
\chapter{Programmiertechniken}
|
||||||
|
\section{Rekursion}
|
||||||
|
\todo[inline]{Tail-Recursion}
|
||||||
|
\section{Backtracking}
|
||||||
|
|
|
@ -1,7 +1,42 @@
|
||||||
\chapter{Prolog}
|
\chapter{Prolog}
|
||||||
\index{Prolog|(}
|
\index{Prolog|(}
|
||||||
|
|
||||||
|
Prolog ist eine Programmiersprache, die das logische Programmierparadigma
|
||||||
|
befolgt.
|
||||||
|
|
||||||
|
Eine interaktive Prolog-Sitzung startet man mit \texttt{swipl}.
|
||||||
|
|
||||||
|
In Prolog definiert man Terme.
|
||||||
\section{Syntax}
|
\section{Syntax}
|
||||||
\section{Beispiele}
|
\section{Beispiele}
|
||||||
|
\subsection{Zebrarätsel}
|
||||||
|
Folgendes Rätsel wurde von \url{https://de.wikipedia.org/w/index.php?title=Zebrar%C3%A4tsel&oldid=126585006}
|
||||||
|
entnommen:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Es gibt fünf Häuser.
|
||||||
|
\item Der Engländer wohnt im roten Haus.
|
||||||
|
\item Der Spanier hat einen Hund.
|
||||||
|
\item Kaffee wird im grünen Haus getrunken.
|
||||||
|
\item Der Ukrainer trinkt Tee.
|
||||||
|
\item Das grüne Haus ist direkt rechts vom weißen Haus.
|
||||||
|
\item Der Raucher von Altem-Gold-Zigaretten hält Schnecken als Haustiere.
|
||||||
|
\item Die Zigaretten der Marke Kools werden im gelben Haus geraucht.
|
||||||
|
\item Milch wird im mittleren Haus getrunken.
|
||||||
|
\item Der Norweger wohnt im ersten Haus.
|
||||||
|
\item Der Mann, der Chesterfields raucht, wohnt neben dem Mann mit dem Fuchs.
|
||||||
|
\item Die Marke Kools wird geraucht im Haus neben dem Haus mit dem Pferd.
|
||||||
|
\item Der Lucky-Strike-Raucher trinkt am liebsten Orangensaft.
|
||||||
|
\item Der Japaner raucht Zigaretten der Marke Parliaments.
|
||||||
|
\item Der Norweger wohnt neben dem blauen Haus.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
Wer trinkt Wasser? Wem gehört das Zebra?
|
||||||
|
|
||||||
|
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=zebraraetsel.pro]{prolog}{scripts/prolog/zebraraetsel.pro}
|
||||||
|
|
||||||
|
\section{Weitere Informationen}
|
||||||
|
\begin{itemize}
|
||||||
|
\item \href{http://wiki.ubuntuusers.de/Prolog}{\path{wiki.ubuntuusers.de/Prolog}}: Hinweise zur Installation von Prolog unter Ubuntu
|
||||||
|
\end{itemize}
|
||||||
\index{Prolog|)}
|
\index{Prolog|)}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
Street=[Haus1,Haus2,Haus3],
|
||||||
|
mitglied(haus(rot,_,_),Street),
|
||||||
|
mitglied(haus(blau,_,_),Street),
|
||||||
|
mitglied(haus,(grün,_,_),Street),
|
||||||
|
mitglied(haus(rot,australier,_),Street),
|
||||||
|
mitglied(haus(_,italiener,tiger),Street),
|
||||||
|
sublist(haus(_,_,eidechse),haus(_,chinese,_),Street),
|
||||||
|
sublist(haus(blau,_,_),haus(_,_,eidechse),Street),
|
||||||
|
mitglied(haus(_,N,nilpferd),Street).
|
Loading…
Add table
Add a link
Reference in a new issue