From 014b141ad1d37bd5533ab3928a2d1027dccc8c9b Mon Sep 17 00:00:00 2001 From: Jan Grewe Date: Thu, 13 Oct 2016 10:53:42 +0200 Subject: [PATCH] [translation] switch done --- programming/lecture/programming.tex | 52 +++++++++++++---------------- 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/programming/lecture/programming.tex b/programming/lecture/programming.tex index 69547a6..1a891b3 100644 --- a/programming/lecture/programming.tex +++ b/programming/lecture/programming.tex @@ -1184,23 +1184,19 @@ end \subsubsection{The \varcode{switch} -- statement} - -Die \code{switch} Verzweigung wird eingesetzt wenn mehrere F\"alle -auftreten k\"onnen, die einer unterschiedlichen Behandlung bed\"urfen. - -Sie wird mit dem Schl\"usselwort \code{switch} begonnen, gefolgt von der -\codeterm{switch Anweisung} (Zahl oder String). Jeder Fall, auf den diese -Anweisung \"uberpr\"uft werden soll, wird mit dem Schl\"usselwort -\code{case} eingeleitet. Dieses wird gefolgt von der \codeterm{case - Anweisung}, die definiert gegen welchen Fall auf -Gleichheit getestet wird. F\"ur jeden Fall wird der -Programmcode angegeben, der ausgef\"uhrt werden soll. Optional k\"onnen -mit dem Schl\"usselwort \code{otherwise} alle nicht explizit genannten -F\"alle behandelt werden. Die \code{switch} Anweisung wird mit -\code{end} beendet (z.B. in Listing \ref{switchlisting}). - - -\begin{lstlisting}[label=switchlisting, caption={Grundger\"ust einer \varcode{switch} Anweisung.}] +The \code{switch} statement is used whenever a set of conditions +requires separate treatment. The statement is initialized with the +\code{switch} keyword that is followed by \emph{switch expression} (a +number or string). It is followed by a set of \emph{case expressions} +which start with the keyword \code{case} followed by the condition +that defines against which the \emph{switch expression} is tested. It +is important to note that the case expression always checks for +equality! Optional the case expressions may be followed by the keyword +\code{otherwise} which catches all cases that were not explicitly +stated above (listing~\ref{switchlistin}). + + +\begin{lstlisting}[label=switchlisting, caption={Structure of a \varcode{switch} statement.}] mynumber = input('Enter a number:'); switch mynumber case -1 @@ -1212,20 +1208,18 @@ switch mynumber end \end{lstlisting} -Wichtig ist hier, dass in jedem \code{case} auf Gleichheit der -switch-Anweisung und der case-Anweisung getestet wird. - -\subsubsection{Vergleich \varcode{if} -- Anweisung und \varcode{switch} -- Verzweigung} +\subsubsection{Comparison \varcode{if} and \varcode{switch} -- statements} \begin{itemize} -\item Mit der \code{if} Anweisung k\"onnen beliebige F\"alle - unterschieden und entsprechender Code ausgef\"uhrt werden. -\item Die \code{switch} Anweisung leistet \"ahnliches allerdings wird in - jedem Fall auf Gleichheit getestet. -\item Die \code{switch} Anweisung ist etwas kompakter, wenn viele F\"alle - behandelt werden m\"ussen. -\item Die \code{switch} Anweisung wird deutlich seltener benutzt und - kann immer durch eine \code{if} Anweisung erstezt werden. +\item Using the \code{if} statement one can test for arbitrary cases + and treat them separately. +\item The \code{switch} statement does something similar but is always + checks for the equality of \emph{switch} and \emph{case} + expressions. +\item The \code{switch} is a little bit more compact and nicer to read + if many different cases have to be handled. +\item The \code{switch} is used less often and can always be replaced + by an \code{if} statement. \end{itemize}