Skip to content
Snippets Groups Projects
Commit d3628dc9 authored by Schneider, Thomas's avatar Schneider, Thomas
Browse files

Upload New File

parent 74df53c6
No related branches found
No related tags found
No related merge requests found
main.tex 0 → 100644
% !TEX TS-program = pdflatex
% !TEX encoding = utf8
% !TeX spellcheck = de_DE
\documentclass[12pt,german,a4paper]{article}
\input{general/packages}
\input{general/layout}
\submissiontitle{Blatt -1 -- Übungsgruppe 1 -- Abgabegruppe 2}
\author{Autor 1, Autor 2, Autor 3, Autor 4}
\begin{document}
\maketitle
Dieses Blatt soll eine beispielhafte Abgabe für Algorithmen und Datenstrukturen darstellen.
Dabei sollen vor allem nützliche \LaTeX{}-Befehle für die ersten Blätter gezeigt werden.
Ein Blick in die \texttt{main.tex} Datei lohnt sich also, aus der natürlich auch Code für Abgaben kopiert werden darf.
\section*{Aufgabe 1}
\begin{claim}
Es gilt für alle $n \in \Nat$,
\[
\sum_{k=1}^{n}k = \frac{n(n+1)}{2}.
\]
\end{claim}
\begin{proof}
Wir führen den Beweis mittels Induktion. Dafür zeigen wir zuerst den \emph{Induktionsanfang} für $n = 1$, wobei sofort gilt
\[\sum_{k=1}^{1}k = 1 = \frac{1(1+1)}{2}\]
Unsere \emph{Induktionsvorraussetzung} $V(i)$ ist dabei
\[\sum_{k=1}^{i}i = \frac{i(i+1)}{2}.\]
Nun gilt es den \emph{Induktionsschritt} zu zeigen, also das $V(i) \implies V(i + 1)$ gilt. Wir können also annehmen, dass $V(i)$ gilt, und wollen $V(i + 1)$ beweisen.
\[
\sum_{k=1}^{i + 1}i =
(\sum_{k=1}^{i}i) + (i + 1) \eqText{V(i)}
\frac{i(i+1)}{2} + (i + 1) =
\frac{i^2 + i}{2} + \frac{2i + 2}{2} =\]
\[
\frac{i^2 + 3i + 2}{2} =
\frac{(i+1)(i+2)}{2}.
\]
\end{proof}
\section*{Aufgabe 2}
Wir beschreiben einen Algorithms der überprüft, ob eine gegebene Zahl $n \in \Nat$ eine Quadratzahl ist.
Also ob eine Zahl $i \in \Nat$ existiert, sodass $i^2 = n$ gilt.
\begin{lstlisting}
bool quadrat(int n) {
Eingabe: $n \in \Nat$
Ausgabe: 'true' wenn $n$ Quadratzahl, 'false' sonst
for(int i = 0; i <= n; ++i) {
if(i * i == n) {
return true;
}
}
return false;
}
\end{lstlisting}
\begin{claim}
Der Algorithmus \texttt{quadrat} terminiert nach einer Laufzeit \calO{n} und gibt \texttt{true} aus, genau dann wenn $n \in \Nat$ eine Quadratzahl ist.
\end{claim}
\begin{proof} Wir zeigen die einzelnen Aussagen für die Korrektheit, Terminierung und Laufzeit separat.
\begin{enumerate}
\item \emph{Korrektheit:}
Wenn $n \in \Nat$ eine Quadratzahl ist, dann muss ein $i \in \{0, \dots{}, n\}$ die Wurzel sein.
Der Algorithmus testet alle $0, \dots{}, n$ darauf, ob sie die Wurzel von $n$ sind, und ist deshalb korrekt.
\item \emph{Terminierung:}
Der Algorithmus terminiert nach höchstens $n + 1$ Iterationen der Schleife.
\item \emph{Laufzeit:}
Aus der Terminierung ergibt sich eine Laufzeit von $\calO{n}$.
\end{enumerate}
\end{proof}
\section*{Weitere nützliche Befehle}
Hier eine Liste weiterer Befehle die auf den ersten Abgabeblättern nützlich werden könnten:
\paragraph{Wichtige Mengen.}
$\Nat, \Int, \Rat, \Rel$
\paragraph{Limes.}
$\lim_{x \to \infty}$
\paragraph{Griechische Buchstaben.}
$\sigma, \theta, \omega \dots, \Sigma, \Theta, \Omega, \dots$
\paragraph{Abbildungen.}
Abbildung~\ref{fig:graph} enthält einen Graphen. Um einfach Abbildungen zu erstellen kann zum Beispiel Tools wie \url{www.draw.io} verwenden oder Zeichnungen mit dem Handy abfotografieren.
\begin{figure}
\includegraphics[scale=0.75]{images/cfi.png}
\centering
\caption{Ein Graph.} \label{fig:graph}
\end{figure}
\paragraph{Fallunterscheidung.} Die Formel \eqref{eq:fibonacci} beschreibt die Fibonacci Folge.
\begin{equation}\label{eq:fibonacci}
f(n) =
\begin{cases}
f(n - 1) + f(n - 2) & \text{ wenn } n > 1\\
1 & \text{ wenn } n \leq 1.
\end{cases}
\end{equation}
\paragraph{Tabellen.}
Tabelle~\ref{tab:tabelle} enthält keine Informationen. Auf \url{www.tablesgenerator.com/} kann man auch über eine GUI Tabellen eingeben und in \LaTeX{}-Tabellen umwandeln lassen.
\begin{table}[tbp]
\begin{tabular}{| l | c | r |}
\hline
1 & 2 & 3 \\\hline
a & b & c \\
d & e & f \\\hline
\end{tabular}
\centering
\caption{Eine Tabelle} \label{tab:tabelle}
\end{table}
\paragraph{Weitere nützliche Links.}
\begin{enumerate}
\item Detexify (\url{detexify.kirelabs.org/}): Versucht von Hand gezeichnete Symbole in \LaTeX{}-Befehle umzuwandeln.
\item Liste von mathematischen Symbolen und Befehlen (\url{en.wikibooks.org/wiki/LaTeX/Mathematics}).
\item Liste von Farben (\url{www.namsu.de/Extra/pakete/Xcolor.html}).
\item Falls noch mehr Interesse an \LaTeX{} besteht, empfehlen wir als Lektüre die ``Not So Short Introduction to \LaTeXe'' (\url{http://tug.ctan.org/info/lshort/english/lshort.pdf}). Das ist aber keinesfalls notwendig, um gute Abgaben zu erstellen.
\end{enumerate}
\end{document}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment