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