\begin{slide}{Einleitung}

\begin{itemize}\itemsep 2pt\parskip 0pt
\item
  Ausdruck hat \emph{Wert} (Zahl, Objekt, \dots)

  (Ausdruck wird \emph{ausgewertet}) 
\item
  Anweisung hat \emph{Wirkung} 
  (Änderung des Programm/Welt-Zustandes)

  (Anweisung wird \emph{ausgeführt})
\end{itemize}

Vgl. Trennung (in Pascal, Ada)
\begin{itemize}\itemsep 2pt\parskip 0pt
\item Funktion (Aufruf ist Ausdruck)
\item Prozedur (Aufruf ist Anweisung)
\end{itemize}

\end{slide}

\begin{slide}{Einleitung (II)}
  \begin{itemize}
  \item 
in allen imperativen Sprachen gibt 
es Ausdrücke mit Nebenwirkungen

(nämlich Unterprogramm-Aufrufe)

\item in den rein funktionalen Sprachen
  gibt es keine (Neben-)Wirkungen, 
  also keine Anweisungen

 (sondern nur Ausdrücke).

\item in den C-ähnlichen Sprachen ist
  \verb|=| ein Operator,
  
  (d. h. die Zuweisung ist syntaktisch ein Ausdruck)

  \end{itemize}

\end{slide}
