laatste kleine aanpassingen
[sec1415.git] / an_if_statement.tex
index 212a1f7..8370748 100644 (file)
@@ -1 +1,34 @@
 \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 laatste
+blokje van dit commando volgen in twee richtingen twee verschillende paden,
+waarbij \'e\'en 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 wordt na een wit blokje gevolgd 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 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 door middel van bochten 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}