\documentclass[uebung]{../../../lecture} \title{Übungsblatt Nr. 5} \author{Christian Merten, Samuel Weidemaier} \usepackage[]{enumerate} \usepackage{listings} \begin{document} \begin{aufgabe} Schleifeninvarianz \begin{enumerate}[(a)] \item $v = (a,b,i)$\\ $B(v)= i < n$ \\ $H(v)= (b, a+b, i+1)$ \item Hier $F$ Fibonacci Folge.\\ $INV(v^{j}) \equiv F(j) = a \land F(j+1) = b \land i - 1 < n$ Verifikation der Schleifeninvariante: \begin{enumerate}[1.] \item Für $v^{0} = (a^{0}, b^{0}, i^{0}) = (0, 1, 0)$ gilt: \[ INV(0,1,0) \equiv F(0) = 0 \land F(1) = 1 \land 0 - 1 < n .\] \item Es gelte nun $INV(v^{j}) \land B(v^{j})$. Wende $H$ auf $v^{j}$ an: \begin{itemize} \item $a_{j+1} = F(j+1) = b_j \land b_{j+1} = a_j + b_{j} = F(j) + F(j+1) = F(j+2)$ \item $i_{j+1} - 1 = i_{j} + 1 - 1 = i_j < n$ \end{itemize} \item Am Schleifenende gilt $\neg (i < n)$, also $i \ge n \land i - 1 < n \implies i = n$. \begin{align*} &INV(a, b, n-1) \land \neg B(v^{n-1}) \\ \iff & F(n-1) = a \land F(n) = b \land n - 1 < n \\ \iff &Q(v^{n}) .\end{align*} \end{enumerate} \end{enumerate} \end{aufgabe} \begin{aufgabe} siehe \textit{readSortedArray.ccp} \end{aufgabe} \begin{aufgabe} siehe \textit{perfectShuffle.cpp} \end{aufgabe} \end{document}