From: Mart Lubbers Date: Thu, 12 Jun 2014 14:28:38 +0000 (+0200) Subject: variabelen done X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=3990c0d79f41cc6a706e6b2b22d672acf2e6c490;p=sec1415.git variabelen done --- diff --git a/an_variabelen.tex b/an_variabelen.tex index 6761898..4eab6a2 100644 --- a/an_variabelen.tex +++ b/an_variabelen.tex @@ -1,16 +1,16 @@ \subsection{Variabelen} \subsubsection{Verschil met \textit{While}} -Omdat \textit{Piet} geen variabelen opslag kent moeten we de variabelenopslag +Omdat \textit{Piet} geen variabelenopslag kent moeten we de variabelenopslag van \textit{While} emuleren. Dit wordt gedaan door steeds een diepte toe te -kennen aan variabelen en bij het assignen van een variabele wordt deze in de +kennen aan variabelen en bij het toewijzen van een variabele wordt deze in de stack gestopt en onthouden welke diepte hij heeft om het zo via de onderstaande -algorithmen op te kunnen rakelen. Binnen de algorithmen wordt $n$ gebruikt als -diepte van de variabele(beginnende bij $1$) en $m$ als het aantal variabelen op +algoritmen op te kunnen halen. Binnen de algoritmen wordt $n$ gebruikt als +diepte van de variabele (beginnende bij $1$) en $m$ als het aantal variabelen op de stack bij aanvang van het opvragen. -\subsubsection{Unair vaste waarde} -Bij het opvragen van een vaste waar -$Get(n)$ +\subsubsection{Unair opvragen van een natuurlijk getal} +Bij het opvragen van een vaste waarde gaat doormiddel van $Get(n)$ functie. + \subsubsection{Unair} \label{subsec:unair} @@ -37,14 +37,14 @@ push $n$, push $n-1$, roll, dup, push $n+1$, push $1$, roll & & & & & & 3 & \\\hline \end{tabular} \end{table} -Voor $n=1$ voldoen de volgende operaties:\\ +Voor $n=1$ voldoet de volgende operatie:\\ dup\\ -Dit algorithme beschrijven we als $Un(n)$ voor later gebruik. +Dit algoritme 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 +worden deze boven elkaar boven op de stack gekopieerd met de volgende operaties:\\ $Un(n_1), Un(n_2+1)$ \begin{table}[H] @@ -73,7 +73,7 @@ $Un(n_1), Un(n_2+1)$ \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 +werk omdat \textit{Piet} alle variabelen in een stack bewaart. 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. @@ -104,7 +104,9 @@ push $2$, push $1$, roll, pop \begin{landscape} \subsubsection{Groot voorbeeld} -We wijzen variabele $5$ de waarde van variabele $3$ $+$ variabele $2$ toe. +We wijzen variabele $5$ de waarde van variabele $3$ $+$ variabele $2$ toe. Dit +laat zien dat de verschillende beschreven variable functies ook in combinatie +werken. \begin{table}[H] \centering \caption{Groot voorbeeld} diff --git a/todo.txt b/todo.txt index 67194a1..66df979 100644 --- a/todo.txt +++ b/todo.txt @@ -1,3 +1,4 @@ Bochten uitleggen(analysis.tex) Semantics(marjolein) Uitleggen waarom piet' verschijnt in expressies(an_arit_expr.tex) +Get functie uitleggen in unair