variabelen klaar
authorMart Lubbers <mart@martlubbers.net>
Mon, 19 May 2014 15:46:56 +0000 (17:46 +0200)
committerMart Lubbers <mart@martlubbers.net>
Mon, 19 May 2014 15:46:56 +0000 (17:46 +0200)
an_assignment.tex [deleted file]
an_variabelen.tex
analysis.tex
project.tex

diff --git a/an_assignment.tex b/an_assignment.tex
deleted file mode 100644 (file)
index b177760..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-\subsection{Assignment}
-Het toewijzen van waarden aan variabelen kost in \textit{Piet} een stuk meer
-werk omdat \textit{Piet} alle variabelen in een stack op slaat. Variabelen in
-piet kunnen we nummers toewijzen. De diepte van de variabele in de stack
-bepaald het nummer en als we aan de hand daarvan. Als er een assignment gedaan
-wordt krijgt de variabele nummer $1$ en alle nummers van de bestaande
-variabelen stijgen met $1$. Als er dus een waarde $n$ wordt toegewezen aan een
-naam dan moet er een blok gemaakt worden van grootte $n$ en dan een push gedaan
-worden op de volgende manier:\\
-\textbf{While} $x := 1$\\
-\textbf{Piet}
-\begin{tabular}{cc}
-       {\color{red}\#} & {\color{dred}\#}\\
-\end{tabular}\\
-\textbf{Piet'} $push 1$\\
-\textbf{While} $x := 5$\\
-\textbf{Piet}
-\begin{tabular}{cc}
-       {\color{red}\#} & {\color{dred}\#}\\
-       {\color{red}\#} & {\color{red}\#}\\
-       {\color{red}\#} & {\color{red}\#}
-\end{tabular}\\
-\textbf{Piet'} $push 5$\\
-Bij arithmatische expressies vindt automatisch een toewijzing plaatst doordat
-de uitkomst van de expressie boven op de stack staat en dus aan een waarde
-toegewezen word.\\
-Merk op dat de waarde $0$ niet gepushed kan worden dus om de waarde $0$ op de
-stack te krijgen moet men $n-n$ uitvoeren.
-%Notes: op een gegeven moment kan het sneller door een waarde te pushen en dan
-%met twee te vermenigvuldigen een aantal keren.
index ae9268d..7c2ef97 100644 (file)
@@ -12,8 +12,8 @@ de stack bij aanvang van het opvragen.
 Als er een operator uitgevoerd wordt die slechts \'e\'en waarde vraagt van de
 stack hoeft er slechts \'e\'en waarde boven aan de stack gezet te worden en dit
 gaat met de volgende operaties:\\
-push $n$, push $n-1$, roll, dup, push $n+1$, push $1$, roll\\
-\begin{table}[h]
+push $n$, push $n-1$, roll, dup, push $n+1$, push $1$, roll
+\begin{table}[H]
        \centering
        \caption{Voorbeeld, $n=3$}
        \scriptsize
@@ -31,16 +31,15 @@ push $n$, push $n-1$, roll, dup, push $n+1$, push $1$, roll\\
          &     & 3     &       &       & 3     & 1     &       \\\hline
           &    &       &       &       &       & 3     &       \\\hline
        \end{tabular}
-\end{table}\\
+\end{table}
 Dit algorithme beschrijven we als $Un(n)$ voor later gebruik.
 
 \subsubsection{Binair}
 Als er een operator uitgevoerd wordt die twee waardes vraagt van de stack
 worden deze boven elkaar boven op de stack gekopieert met de volgende
 operaties:\\
-$Un(n_1), Un(n_2+1)$\\
-Voorbeeld, $n_1=2, n_2=4$\\
-\begin{table}[h]
+$Un(n_1), Un(n_2+1)$
+\begin{table}[H]
        \centering
        \caption{Voorbeeld, $n_1=2, n_2=4$}
        \scriptsize
@@ -57,9 +56,81 @@ Voorbeeld, $n_1=2, n_2=4$\\
                2       & 6     & 5     & 2     & 5     & 6     & 6 & 6 & 5     & 6 & 5 & 6 & 1 & 1 & 5 \\\hline
                1       & 2     & 6     & 1     & 2     & 5     & 6     & 2     & 6     & 5     & 6     & 5     & 6 & 1 & 6     \\\hline
                3       & 1     & 2     & 3     & 1     & 2     & 5     & 1     & 2     & 6     & 2     & 6     & 5     & 6 & 2 \\\hline
-                 & 3   & 1     &       & 3     & 1     & 2     & 3     & 1     & 2     & 3 & 2 & 6     & 5     & 1     \\\hline
-                 &     & 3     &       &       & 3     & 1     &       & 3     & 1     &       & 3 & 2 & 6     & 3     \\\hline
-                 &     &       &       &       &       & 3     &       &       & 3     &       &       & 3 & 2 &       \\\hline
-                 &     &       &       &       &       &       &       &       &       &       &       &       & 3 &   \\\hline
+                   & 3 & 1     &       & 3     & 1     & 2     & 3     & 1     & 2     & 3 & 2 & 6     & 5     & 1     \\\hline
+                   &   & 3     &       &       & 3     & 1     &       & 3     & 1     &       & 3 & 2 & 6     & 3     \\\hline
+                   &   &       &       &       &       & 3     &       &       & 3     &       &       & 3 & 2 &       \\\hline
+                   &   &       &       &       &       &       &       &       &       &       &       &       & 3 &   \\\hline
+       \end{tabular}
+\end{table}
+
+\subsubsection{Assignment}
+Het toewijzen van waarden aan variabelen kost in \textit{Piet} een stuk meer
+werk omdat \textit{Piet} alle variabelen in een stack bewaard. Net als bij het
+opvragen hebben de variabelen een nummer in plaats van een naam. Bij een
+toewijzing wordt de waarde, $m$, bovenop de stack toegewezen aan de variabele
+met de diepte, $n$, gerekend zonder de waarde bovenop de stack mee te tellen.
+En dat gaat met de volgende operaties:\\
+push $m$, push $n+1$, push $n$, roll, pop, push $n$, push $1$, roll
+\begin{table}[H]
+       \centering
+       \caption{Voorbeeld, $n=4, m=7$}
+       \scriptsize
+       \begin{tabular}{|c|c|c|c|c|c|c|c|c|}
+               \hline
+               init & push 7 & push 5 & push 3 & roll & pop & push 4 & push 1 & roll\\
+               \hline
+               5       & 7 & 5 & 3 & 9 & 7     & 4 & 1 & 5     \\\hline
+               3       & 5     & 7 & 5 & 7     & 5     & 7     & 4 & 3 \\\hline
+               4       & 3     & 5     & 7 & 5 & 3     & 5     & 7     & 4     \\\hline
+               9       & 4     & 3     & 5     & 3     & 4     & 3     & 5     & 7     \\\hline
+               1       & 9     & 4     & 3     & 4     & 1     & 4     & 3     & 1     \\\hline
+               5       & 1     & 9     & 4     & 1     & 5     & 1     & 4     & 5     \\\hline
+                       & 5     & 1     & 9     & 5     &       & 5     & 1     &       \\\hline
+                       &       & 5     & 1     &       &       &       & 5     &       \\\hline
+                       &       & 5     &       &       &       &       &       &       \\\hline
+       \end{tabular}
+\end{table}
+
+\begin{landscape}
+\subsubsection{Groot voorbeeld}
+We wijzen variabele $5$ de waarde van variabele $3$ $+$ variabele $2$ toe. 
+\begin{table}[H]
+       \centering
+       \caption{Groot voorbeeld}
+       \tiny
+       \begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
+               \hline
+               & \multicolumn{7}{c|}{$Un(3)$} &
+                 \multicolumn{7}{c|}{$Un(2)$} &
+                 Addition &
+               \multicolumn{7}{c|}{$Ass(5)$}\\
+               \hline
+               init &
+               push $3$ & push $2$ & roll & dup & push $4$ & push $1$ & roll &
+               push $3$ & push $2$ & roll & dup & push $4$ & push $1$ & roll &
+               add &
+               push $6$ & push $5$ & roll & pop & push $5$ & push $1$ & roll\\
+               \hline
+               4       & 3 & 2 & 1 & 1 & 4     & 1     & 1 & 3 & 2 & 6 & 6     & 4 & 1 & 6     & 7 & 6 & 5
+               & 7     & 7     & 5 & 1 & 7     \\\hline
+               6       & 4     & 3 & 4 & 1 & 1 & 4 & 4 & 1 & 3 & 1     & 6     & 6     & 4 & 1 & 4     & 7 & 6
+               & 7     & 4     & 7     & 5 & 4 \\\hline
+               1       & 6     & 4     & 6 & 4 & 1 & 1 & 6     & 4     & 1 & 4 & 1     & 6     & 6     & 4     & 6     & 4     & 7
+               & 4     & 6     & 4     & 7     & 6     \\\hline
+               2       & 1     & 6     & 1     & 6 & 4 & 1 & 1 & 6     & 4     & 1     & 4     & 1     & 6     & 6     & 1     & 6     & 4
+               & 6     & 1     & 6     & 4     & 1     \\\hline
+               7       & 2     & 1     & 2     & 1     & 6 & 4 & 2     & 1     & 6     & 2     & 1     & 4     & 1     & 1     & 2     & 1     & 6
+               & 1     & 2     & 1     & 6     & 2     \\\hline
+               8       & 7     & 2     & 7     & 2     & 1     & 6 & 7 & 2     & 1     & 7     & 2     & 1     & 4     & 2     & 7     & 2     & 1
+               & 2     & 8     & 2     & 1     & 7     \\\hline
+                       & 8     & 7     & 8     & 7     & 2     & 1     & 8     & 7     & 2     & 8     & 7     & 2     & 1     & 7     & 8     & 7     & 2
+               & 8     &       & 8     & 2     & 8     \\\hline
+                       &       & 8     &       & 8     & 7     & 2     &       & 8     & 7     &       & 8     & 7     & 2     & 8     &       & 8     & 7
+               &       &       &       & 8     &       \\\hline
+                       &       &       &       &       & 8     & 7     &       &       & 8     &       &       & 8     & 7     &       &       &       & 8
+               &       &       &       &       &       \\\hline
+                       &       &       &       &       &       & 8     &       &       &       &       &       &       & 8     &       &       &       &
+               &       &       &       &       &       \\\hline
        \end{tabular}
 \end{table}
+\end{landscape}
index 9dddaf1..4a709a2 100644 (file)
@@ -1,5 +1,3 @@
-\input{an_assignment.tex}
-
 \subsection{Skip}
 De \textit{Skip} is gelijk aan een enkel wit blokje. Als er naar een locatie
 gegaan moet worden voor de volgende operatie kunnen het ook meerdere blokjes
index 5526737..27183f1 100644 (file)
@@ -1,4 +1,4 @@
-\documentclass{scrartcl}
+\documentclass[a4paper]{scrartcl}
 
 \usepackage[dutch]{babel}
 \usepackage[hidelinks]{hyperref}
@@ -7,6 +7,9 @@
 \usepackage{graphicx}
 \usepackage{xcolor}
 \usepackage{proof}
+\usepackage{float}
+\usepackage{lscape}
+\usepackage{fullpage}
 
 \graphicspath{{./img/}}