From 1676f97b6fd86a5f7d7a3ff17000619a5ad13e7e Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Wed, 3 Feb 2016 08:16:53 +0100 Subject: Finished task 1 --- senc.sty | 3 +++ task1.tex | 30 +++++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/senc.sty b/senc.sty index 17c1186..f08edb0 100644 --- a/senc.sty +++ b/senc.sty @@ -10,3 +10,6 @@ \def\tt{\mathbf{tt}} \def\ff{\mathbf{ff}} +\def\AND{\mathtt{\;\&\&\;}} +\def\OR{\mathtt{\;||\;}} + diff --git a/task1.tex b/task1.tex index 3816fba..aee5f4d 100644 --- a/task1.tex +++ b/task1.tex @@ -6,12 +6,15 @@ \title{Semantiek \& Correctheid\\\Large{Leertaak 1}} \usepackage{senc} +\usepackage{multicol} \begin{document} \maketitle -\section*{1.8} +\begin{multicols}{2} + +\section*{Opdracht 1.8} \begin{alignat*}{3} \B{\lnot(\x=1)}\s &= \tt && \text{want}\\ \B{\x=1}\s &= \ff && \text{want}\\ @@ -20,5 +23,30 @@ 3 &\neq 1. \end{alignat*} +\section*{Conditionele And en Or} +\begin{align*} + \B{b_1 \AND b_2}s &= \begin{cases} + \ff & \text{als $\B{b_1}s=\ff$}\\ + \ff & \text{als $\B{b_2}s=\ff$}\\ + \tt & \text{anders}\\ + \end{cases}\\ + \B{b_1 \OR b_2}s &= \begin{cases} + \tt & \text{als $\B{b_1}s=\tt$}\\ + \tt & \text{als $\B{b_2}s=\tt$}\\ + \ff & \text{anders}\\ + \end{cases} +\end{align*} + +De conditionele And verschilt van de gewone And: de rechteroperator wordt alleen ge\"evalueerd als de linkeroperator tot $\tt$ evalueert. De twee zijn equivalent wat betreft de uitkomst (niet wat betreft eventuele bijwerkingen). + +\section*{And en Or in Java} +\texttt{result1} zal \texttt{true} zijn. Eerst wordt \texttt{f()} ge\"evalueerd. Dit geeft \texttt{false}. Hierom wordt \texttt{!f()} ook ge\"evalueerd. Dit geeft \texttt{true}. De waarde van de Or is dan ook \texttt{true}. + +\texttt{result2} zal \texttt{false} zijn. Aan het begin is \texttt{b} \texttt{true}. Dan wordt \texttt{!f()} ge\"evalueerd, tot \texttt{false}. Hierom wordt de rechterkant van de And niet meer ge\"evalueerd en wordt \texttt{false} teruggegeven. + +Er verandert niets aan het uiteindelijke resultaat als we een gewone And en Or gebruiken, omdat deze equivalent zijn met de conditionele And en Or. Wel zal de laatste \texttt{f()} nog worden ge\"evalueerd, waardoor \texttt{b} aan het eind \texttt{true} zal zijn in plaats van \texttt{false}. + +\end{multicols} + \end{document} -- cgit v1.2.3