typesetting/ads-exercise.tex
2025-12-24 05:06:10 +01:00

92 lines
3.9 KiB
TeX

\documentclass{ngexrcs}
\title{Lösungen zum 42. Übungsblatt}
\subject{Algorithmen und Datenstrukturen}
\author{Malloc McSharkface \and Free Bluetooth \and Ada Finlace}
\date{\today}
\begin{document}
\maketitle
\points[\qquad]{20}
\section{Grundlagen}
\begin{enumerate}
\item Mathematische Ausdrücke werden mit \$-Zeichen umschlossen um korrekt
gesetzt zu werden:
\verb|$a = b \cdot c$| ergibt $a = b \cdot c$
\points{1}
\item Um Formeln außerhalb des Fließtextes darzustellen, kann \verb|\[...\]| oder die \verb|align*|-Umgebung verwendet werden. Letztere kann Einrückungen mit dem \&-Zeichen setzen:
\points{1}
\begin{align*}
\sum_{i=0}^n i & = 1 + 2 + \cdots + n-2 + n-1 + n \\
& = \frac{n (n + 1)}{2}
\end{align*}
\item Einige wichtige Symbole und Funktionen, sowie klammerartige Ausdrücke werden wie folgt gesetzt:
\begin{itemize}
\item $\Oh$, $\Omega$, $\Theta$, $\oh$, $\omega$
\item $\NN$, $\ZZ$, $\QQ$, $\RR$, $\CC$, $\infty$
\item $\implies$, $\iff$, $\to$, $\gets$, $\lor$, $\land$, $\neg$, $\exists$, $\forall$, $\checkmark$
\item $<$, $\leq$, $\neq$, $>$, $\geq$
\item $\in$, $\notin$, $\setminus$, $\subsetneq$, $\subseteq$, $\supsetneq$, $\supseteq$, $\cup$, $\cap$, $\emptyset$
\item $\tup{x, y}$ $\set{x, y}$, $\abs{x}$, $\norm{x}$, $\ceil{x}$, $\floor{x}$, $\arr{a_1, a_2, a_2}$
\item $\tup{\frac{x}{y}}$, $\log_a{b}$, $x\bmod y$, $\sum_a^b{c}$, $\prod_x^y{z}$, $\binom{a}{b}$
\end{itemize}
\points{2}
\item Pseudocode kann wie folgt gesetzt werden. Dabei werden Einrückungen mit \verb|\>| für eine Zeile gesetzt und mit \verb|\+| für alle folgenden Zeilen. Es existieren weitere Einrückungsbefehle, die denen der \verb|tabbing|-Umgebung entsprechen.
\begin{algorithm}
\+ \alg{Sum}$(a, b)$ \\
\com{Berechne die Summe rekursiv} \\
if $b = 0$ then\\
\> return $a$ \\
return \alg{Sum}$(a, b-1)+1$
\end{algorithm}
\points{6}
\end{enumerate}
\section{Was sonst noch fehlt}
\begin{enumerate}
\item
Abbildungen werden in einer \emph{floating}-Umgebung eingebunden. Diese verschiebt die Abbildung so, dass der umliegende Text so gut wie möglich fließt.
Soll die Abbildung möglichst an der relativen Position im Text bleiben, kann die Option \verb|!h| hinzugefügt werden. Um Verwirrung zu vermeiden, sollte auf die \autoref{fig:graph} verwiesen werden.
\LaTeX\ unterstützt die Formate \emph{png, jpeg, pdf} und \emph{eps}. Zum Erstellen von Graphen kann \emph{Ipe} verwendet werden.
\begin{figure}[!h]
\centering
\includegraphics[width=0.5\textwidth]{graph.eps}
\caption{Ein Graph. Schön.}
\label{fig:graph}
\end{figure}
Um die zu erreichenden Punkte zu setzen, kann folgender Befehl verwendet werden:
\points{4}
\item
Tabellen werden, wie Abbildungen, in \emph{floating}-Umgebungen gesetzt. Die Bündigkeit
der Spalten kann mit den Optionen \verb|l| für eine linksbündige, \verb|c| für eine zentrierte und
\verb|r| für eine rechtsbündige Spalte.
Auch auf Tabellen sollte man Verweisen. Siehe \autoref{tab:recursion}.
\begin{table}[!hb]
\centering
\begin{tabular}{ccc}
\toprule
Iteration & Knoten & Beitrag \\
\midrule
$0$ & $2^0 = 1$ & $2^0 \cdot 1$ \\
$1$ & $2^1 = 2$ & $2^1 \cdot 1$ \\
$\vdots$ & $\vdots$ & $\vdots$ \\
$i$ & $2^i$ & $2^i \cdot 1$ \\
$\vdots$ & $\vdots$ & $\vdots$ \\
$\log_2 n$ & $2^{\log_2 n} = n$ & $n$ \\
\bottomrule
\end{tabular}
\caption{Eine Tabelle mit \texttt{booktabs}}
\label{tab:recursion}
\end{table}
\points{6}
\end{enumerate}
\end{document}