\documentclass[12pt,a4paper,pdftex]{exam}

\usepackage[german]{babel}
\usepackage{natbib}
\usepackage{graphicx}
\usepackage[small]{caption}
\usepackage{sidecap}
\usepackage{pslatex}
\usepackage{amsmath}
\usepackage{amssymb}
\setlength{\marginparwidth}{2cm}
\usepackage[breaklinks=true,bookmarks=true,bookmarksopen=true,pdfpagemode=UseNone,pdfstartview=FitH,colorlinks=true,citecolor=blue]{hyperref}

%%%%% text size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[left=20mm,right=20mm,top=25mm,bottom=25mm]{geometry}
\pagestyle{headandfoot} \header{{\bfseries\large \"Ubung
    3}}{{\bfseries\large Boolesche Ausdr\"ucke, logisches
    Indizieren}}{{\bfseries\large 31. Oktober, 2016}}
\firstpagefooter{Dr. Jan Grewe}{Phone: 29 74588}{Email:
  jan.grewe@uni-tuebingen.de} \runningfooter{}{\thepage}{}

\setlength{\baselineskip}{15pt}
\setlength{\parindent}{0.0cm}
\setlength{\parskip}{0.3cm}
\renewcommand{\baselinestretch}{1.15}

\newcommand{\code}[1]{\texttt{#1}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\begin{document}

\vspace*{-6.5ex}
\begin{center}
  \textbf{\Large Einf\"uhrung in die wissenschaftliche Datenverarbeitung}\\[1ex]
  {\large Jan Grewe, Jan Benda}\\[-3ex]
  Abteilung Neuroethologie \hfill --- \hfill Institut f\"ur Neurobiologie \hfill --- \hfill \includegraphics[width=0.28\textwidth]{UT_WBMW_Black_RGB} \\
\end{center}

Die folgenden Aufgaben dienen der Wiederholung, \"Ubung und
Selbstkontrolle und sollten eigenst\"andig bearbeitet und gel\"ost
werden. Die L\"osung soll in Form eines einzelnen Skriptes (m-files)
im ILIAS hochgeladen werden. Jede Aufgabe sollte in einer eigenen
``Zelle'' gel\"ost sein. Die Zellen \textbf{m\"ussen} unabh\"angig
voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster:\newline
``boolesche\_ausdruecke\_\{nachname\}.m'' benannt werden
(z.B. variablen\_datentypen\_mueller.m).

\section{Boolesche Ausdr\"ucke}

\begin{questions}
  \question Gegeben sind zwei Vektoren \verb+x = [1 5 2 8 9 0 1]+ und
  \verb+y = [5 2 2 6 0 0 2]+. F\"uhre aus und erkl\"are.
  \begin{parts}
    \part \verb+x > y+
    \part \verb+y < x+
    \part \verb+x == y+
    \part \verb+x ~= y+
    \part \verb+x & ~y+
    \part \verb+x | y+
  \end{parts}

  \question Finde heraus, was die Funktionen \verb+bitand+ und \verb+bitor+ machen.
  \begin{parts}
    \part F\"uhre aus und erkl\"are: \verb+bitand(10, 8)+
    \part F\"uhre aus und erkl\"are: \verb+bitor(10, 8)+
  \end{parts}
\item Implementiere folgende Boolesche Ausdr\"ucke. Teste mit
  zuf\"alligen ganzzahlingen Werten f\"ur \verb+x+ und \verb+y+.
  \begin{parts}
    \part Das Ergebnis sei wahr, wenn \verb+x+ gr\"o{\ss}er als \verb+y+ und die
    Summe aus \verb+x+ und \verb+y+ nicht kleiner als 100 ist.
    \part Das Ergebnis sei wahr, wenn \verb+x+ und \verb+y+ ungleich 0
    oder \verb+x+ und \verb+y+ gleich sind.
  \end{parts}
\end{questions}

\newpage
\section{Logische Indizierung}

Boolesche Ausdr\"ucke k\"onnen benutzt werden um aus Vektoren und
Matrizen die Elemente herauszusuchen, die einem bestimmeten Kriterium
entsprechen.

\begin{questions}
  \question Gegeben sind \verb+x = (1:10)+ und
  \verb+y = [3 1 5 6 8 2 9 4 7 0]+. Versuche die Ausgaben folgender
  Anweisungen zu verstehen. Erkl\"are die Ergebnisse.
  \begin{parts}
    \part \verb+x < 5+
    \part \verb+x( x < 5) )+
    \part \verb+x( (y <= 2) )+
    \part \verb+x( (x > 2) | (y < 8) )+
    \part \verb+x( (x == 0) & (y == 0) )+
  \end{parts}

  \question Teste den Zufallsgenerator:
  \begin{parts}
    \part Erzeuge eine 100x100 2-D Matrize mit Zufallswerten zwischen
    0 und 100 (\verb+randi+). Ersetze die Werte der Elemente, die in
    folgende Klassen fallen: \verb+x < 33+ mit 0,
    \verb+x >= 33 und x < 66+ mit 1 und alle \verb+x >= 66+ auf 2.
    \part Ermittle die Anzahl Elemente f\"ur jede Klasse mithilfe eines
    Booleschen Ausdrucks (\verb+sum+ kann eingesetzt werden um die
    Anzahl Treffer zu ermitteln).
  \end{parts}
\end{questions}

\end{document}