From: Marjolein Zwerver Date: Thu, 8 May 2014 21:35:51 +0000 (+0200) Subject: analyse if X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=1850cfad05ebfb0641e61ef74269211972a398ad;p=sec1415.git analyse if --- diff --git a/an_if_statement.tex b/an_if_statement.tex index 212a1f7..5ddb522 100644 --- a/an_if_statement.tex +++ b/an_if_statement.tex @@ -1 +1,33 @@ \subsection{If statement} +De \textit{If} constructie in \textit{While} van de vorm if $b$ then $S_1$ else $S_2$ +kan worden gerepresenteerd in \textit{Piet} door de representatie van $b$ na een +wit blokje te volgen door een pointer die op basis van het bovenste element op de +stack de richting van de interpreter aanpast. Op het laaste blokje van dit commando +volgen in 2 richtingen twee verschillende paden, waarbij 1 pad correspondeert met +$S_1$ en het andere pad met $S_2$. Wel moeten beide paden uiteindelijk op hetzelfde +punt uitkomen. \\ +In dit voorbeeld representeert het eerste blok een willekeurige boolean $b$, deze +word na een wit blokje gevolgt door het pointer commando. Hierna splitsen de paden +zich op: als de boolean 0 oplevert draait de richting van de interpreter 0 slagen met +de klok mee en gaat dus rechtdoor, als de boolean 1 oplevert draait van de richting +van de interpreter 1 slag met de klok mee en gaat dus naar rechts. In deze twee +richtingen volgen vervolgens de representaties voor $S_1$ en $S_2$, die +uiteindelijk doormiddel van witte blokjes weer op hetzelfde pad uitkomen.\\ + + +\textbf{While} if $b$ then $S_1$ else $S_2$ \\ + +\textbf{Piet} +\begin{tabular}{ccccccccccc} +\color{orange}$\ast$ & \color{lgray}$\ast$ & \color{lgray}$\ast$\\ +\color{lgray}$\ast$ & \color{lgray}$\ast$ & \color{lgray}$\ast$\\ +\color{lgray}$\ast$ & \color{lgray}$\ast$ & \color{dorange}$\ast$ & +\color{lgray}\_ & \color{red}\# & \color{dcyan}\# & \color{lgray}\_ & +\color{orange}$\ast$ & \color{lgray}$\ast$ & \color{dorange}$\ast$\\ + & & & & & \color{lgray}\_ & & & & \color{lgray}\_\\ + & & & & & \color{orange}$\ast$ & & & & \color{lgray}\_\\ + & & & & & \color{lgray}$\ast$ & & & & \color{lgray}\_\\ + & & & & & \color{dorange}$\ast$ & \color{lgray}\_ & \color{lgray}\_ & \color{lgray}\_ & \color{lgray}\_ & \color{lgray}\_ \\ + + +\end{tabular} \ No newline at end of file