From e48556f82a383c53dddec7ba8d2ced877ae9fe60 Mon Sep 17 00:00:00 2001 From: Marjolein Zwerver Date: Fri, 9 May 2014 00:22:48 +0200 Subject: [PATCH] analyse while --- an_if_statement.tex | 2 +- an_while_statement.tex | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/an_if_statement.tex b/an_if_statement.tex index 5ddb522..a1eaaaa 100644 --- a/an_if_statement.tex +++ b/an_if_statement.tex @@ -1,5 +1,5 @@ \subsection{If statement} -De \textit{If} constructie in \textit{While} van de vorm if $b$ then $S_1$ else $S_2$ +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 diff --git a/an_while_statement.tex b/an_while_statement.tex index d58071b..be40d1d 100644 --- a/an_while_statement.tex +++ b/an_while_statement.tex @@ -1 +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 -- 2.20.1