X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=versie-1%2Fan_while_statement.tex;fp=versie-1%2Fan_while_statement.tex;h=be40d1d1bf1b4ca720ceea59334af21b76f9e9da;hb=4272348e58a32a4433614c55ea9ef650fe7b4f60;hp=0000000000000000000000000000000000000000;hpb=3c6cc0ecaf6173ed11e218bb96fa4ab52bc22233;p=sec1415.git diff --git a/versie-1/an_while_statement.tex b/versie-1/an_while_statement.tex new file mode 100644 index 0000000..be40d1d --- /dev/null +++ b/versie-1/an_while_statement.tex @@ -0,0 +1,30 @@ +\subsection{While statement} +De \textit{while} constructie in \textit{While} van de vorm while $b$ do $S$ +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$ en het andere pad met het einde van de loop. +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. Het pad na rechts +word na een aantal witte blokjes gevolgt door de representatie van $S$. Hierna volgt +weer een aantal witte blokjes waardoor het pad uiteindelijk uitkomt bij het begin van +boolean $b$.\\ + +\textbf{While} while $b$ do $S$ \\ + +\textbf{Piet} +\begin{tabular}{ccccccccccccc} +\color{lgray}\_ & \color{lgray}\_ & \color{orange}$\ast$ & \color{lgray}$\ast$ & \color{lgray}$\ast$\\ +\color{lgray}\_ & & \color{lgray}$\ast$ & \color{lgray}$\ast$ & \color{lgray}$\ast$\\ +\color{lgray}\_ & & \color{lgray}$\ast$ & \color{lgray}$\ast$ & \color{dorange}$\ast$ & +\color{lgray}\_ & \color{red}\# & \color{dcyan}\# & \color{lgray}\_\\ +\color{lgray}\_ & & & & & & & \color{lgray}\_\\ +\color{lgray}\_ & & & & & & & \color{lgray}\_\\ +\color{lgray}\_ & \color{lgray}\_ & \color{lgray}\_ & \color{dorange}$\ast$ & \color{lgray}$\ast$ & \color{orange}$\ast$ & \color{lgray}\_ & \color{lgray}\_ \\ + & & & \color{lgray}$\ast$ & \color{lgray}$\ast$ & \color{lgray}$\ast$ \\ + & & & \color{lgray}$\ast$ & \color{lgray}$\ast$ & \color{lgray}$\ast$ \\ +\end{tabular} \ No newline at end of file