\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}