From d3628dc96268d76874e8b24fb7e392c297190a0c Mon Sep 17 00:00:00 2001 From: "Schneider, Thomas" <thomas.schneider2@tu-darmstadt.de> Date: Mon, 25 Oct 2021 20:30:24 +0200 Subject: [PATCH] Upload New File --- main.tex | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 main.tex diff --git a/main.tex b/main.tex new file mode 100644 index 0000000..62492af --- /dev/null +++ b/main.tex @@ -0,0 +1,139 @@ +% !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} + + + + + + + + + -- GitLab