From: Mart Lubbers Date: Tue, 20 May 2014 18:55:44 +0000 (+0200) Subject: rare file weg X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=87b0c18db462175b1434c61ff5bb8e2088d62fda;p=sec1415.git rare file weg --- diff --git a/= b/= deleted file mode 100644 index 13f92d6..0000000 --- a/= +++ /dev/null @@ -1,97 +0,0 @@ -\subsection{Faculteit} -Als we de analyse op een compleet programma toepassen komt er een \textit{Piet} -programma uit dat behoorlijk fors is maar netjes zijn werk doet. Dit programma -berekent de faculteit van $x$ en stopt dat uiteindelijk in $y$. -\begin{lstlisting}[title=Faculteit in \textit{While}] -x:=5; -y:=1; -while $\neg$(x=1) -do ( - y:=y*x; - x:=x-1 -) -\end{lstlisting} - -In \textit{Piet} ziet dit er als volgt uit... -\begin{lstlisting}[title=Faculteit in \textit{Piet'}] -push 5 // x:=5 -push 1 // y:=1 - -MARKERING A: - // Un(2) - // $\neg$(x=1) $\equiv$ \neg(x-1)>0) - - - // x-1 - // Un(2) -push 2 // -push 1 // -roll // -dup // -push 3 // -push 1 // -roll // -push 1 // -sub // -not // $\neg(x-1)$ - -push 1 // zet $0$ op de stack -push 1 -sub - -gre // $\neg(x-1)>0$ oftewel x=1 - -pointer // als x=0 dan draait de DP niet en gaat het programma naar pad B - // als x$\neq$ dan draait de DP en gaat het programma naar pad A - -PAD A: -skip // een oneindig aantal witte blokken, y is nu x! - // evt een outchar om $y$ naar standardout te printen - -PAD B: - // y:=y*x - // Bin(1, 2) -dup // Un(1) -push 3 // Un(2+1) -push 2 // -roll // -dup // -push 4 // -push 1 // -roll // -mul // x*y -push 2 // Ass(1) -push 1 -roll -pop - - // x:=x-1 -push 2 // Un(2) -push 1 -roll -dup -push 3 -push 1 -roll - - -push 1 // -sub // x-1 -push 3 // Ass(2) -push 2 -roll -pop -push 2 -push 1 -roll - // nu gaat het programma weer via een wit pad naar markering A -\end{lstlisting} - -Wat in piet er uit zit als in \ref{fig:img3} -\begin{figure}[H] - \caption{Factulteit vanuit \textit{While} naar \textit{Piet}} - \label{fig:img3} - \centering - \fbox{\includegraphics[natheight=320px, natwidth=256px, height=320px, - width=256px]{img3.png}} -\end{figure}