diff --git a/programming/exercises/UT_WBMW_Black_RGB.pdf b/programming/exercises/UT_WBMW_Black_RGB.pdf new file mode 100644 index 0000000..9aed921 Binary files /dev/null and b/programming/exercises/UT_WBMW_Black_RGB.pdf differ diff --git a/programming/exercises/variables_types.tex b/programming/exercises/variables_types.tex index 85def7b..d4f87bb 100644 --- a/programming/exercises/variables_types.tex +++ b/programming/exercises/variables_types.tex @@ -1,8 +1,8 @@ -\documentclass[12pt,a4paper,pdftex]{article} +\documentclass[12pt,a4paper,pdftex]{exam} +\usepackage[german]{babel} \usepackage{natbib} \usepackage{graphicx} -\usepackage[margin=1.5in]{geometry} \usepackage[small]{caption} \usepackage{sidecap} \usepackage{pslatex} @@ -12,35 +12,29 @@ \usepackage[breaklinks=true,bookmarks=true,bookmarksopen=true,pdfpagemode=UseNone,pdfstartview=FitH,colorlinks=true,citecolor=blue]{hyperref} %%%%% text size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% letter : 8.5 x 11 in -\setlength{\headheight}{5mm} % default ~5mm -\setlength{\headsep}{8mm} % default ~10mm -\setlength{\topmargin}{15mm} % default ~8mm -\setlength{\textheight}{23cm} +\usepackage[left=20mm,right=20mm,top=25mm,bottom=25mm]{geometry} +\pagestyle{headandfoot} +\header{{\bfseries\large \"Ubung 1}}{{\bfseries\large Variablen und Datentypen}}{{\bfseries\large 12. Oktober, 2015}} +\firstpagefooter{Dr. Jan Grewe}{Phone: 29 74574}{Email: +jan.grewe@uni-tuebingen.de} +\runningfooter{}{\thepage}{} -\setlength{\oddsidemargin}{2.5cm} -\setlength{\evensidemargin}{2.5cm} -\setlength{\textwidth}{16cm} +\setlength{\baselineskip}{15pt} +\setlength{\parindent}{0.0cm} +\setlength{\parskip}{0.3cm} +\renewcommand{\baselinestretch}{1.15} -\setlength{\voffset}{-1in} -\setlength{\hoffset}{-1in} +\newcommand{\code}[1]{\texttt{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\renewcommand{\baselinestretch}{1.15} -\makeatletter -\setlength{\@fptop}{0pt} -\setlength{\@fpsep}{5ex} -\makeatother - -%%%%% title %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\title{\bf Einf\"uhrung in die wissenschaftliche Datenverarbeitung\\ ---- \"Ubungen I: ---\\ Variablen und Datentypen} -\author{Jan Grewe, Jan Benda} -\date{\noindent\parbox{\textwidth}{\normalsize\itshape Eberhardt Karls Universit\"at -T\"ubingen, Abt. Neuroethologie }} - \begin{document} -\maketitle + +\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 \"Ubung und Selbstkontrolle und sollten eigenst\"andig bearbeitet und gel\"ost werden. Die L\"osung @@ -48,49 +42,85 @@ soll in Form eines einzelnen Skriptes (m-files) i.d.R. am gleichen Tag mir zugeschickt werden (jan.grewe@uni-tuebingen.de). 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: ``variablen\_datentypen\_{nachname}.m'' +Skript sollte nach dem Muster: ``variablen\_datentypen\_\{nachname\}.m'' benannt werden (z.B. variablen\_datentypen\_mueller.m). -\section{Aufgaben} +\begin{questions} -\begin{enumerate} -\item Erzeugen und L\"oschen von Variablen: - \begin{enumerate} - \item Erzeuge zwei Variablen \verb+a, b+ und weise ihnen +\question Erzeugen und L\"oschen von Variablen: + \begin{parts} + \part Erzeuge zwei Variablen \code{a}, \code{b} und weise ihnen unterschiedliche Werte zu. Schlie{\ss}e die Zeilen mit einem - Semikolon ab. Erstelle eine Variable \verb+c+ die leer ist. - \item Lasse die Werte der Variablen ausgeben. - \item F\"uhre einfache mathematische Operationen aus (Addition, - Subtraktion, etc.) Potenzierung erfolgt \"uber das Dach Symbol - \verb+^+). |''Ueberpr\"ufe, ob sich der der urspruengliche Wert + Semikolon ab. Erstelle eine Variable \code{c} die leer ist. + \part Lass die Werte der Variablen ausgeben. + \part F\"uhre einfache mathematische Operationen aus (Addition, + Subtraktion, etc., Potenzierung erfolgt \"uber das Dach Symbol + \code{\^}). \"Uberpr\"ufe, ob sich der der urspr\"ungliche Wert der Variable ge\"andert hat. - \item Benuzte die Kommandozeile um herauszufinden, welche Variablen + + XXX Die Aufgabe ist sehr wichtig und koennte praezisiert und erweitert werden! + 1. Zahlen auf die Variablen addieren: a+5; b-3; + 2. Variablen addieren: a+b; b-c; + 3. Ergebnisse zuweisen: x=a+3; z=b+5; + 4. a=5; was aendert sich an x? XXX + + \part Benuzte die Kommandozeile um herauszufinden, welche Variablen es im Workspace gibt. - \item Benuzte die Kommandozeile um herauszufinden, welche Datentypen sie haben. - \item Finde in der Hilfe mehr Information \"uber das \verb+clear+ Kommando. - \item L\"osche eine Variable. - \item L\"osche alle \"ubrigen Variablen. - \end{enumerate} -\item Berechne die Fakult\"at von 5: - \begin{enumerate} - \item Erzeuge eine Variable \verb+x+ und weise ihr den Wert 1 zu. - \item Berechne den ersten Schritt und weise das Ergebnis \verb+x+ + \part Benuzte die Kommandozeile um herauszufinden, welche Datentypen sie haben. + \part Finde in der Hilfe mehr Information \"uber das \code{clear} Kommando. + \part L\"osche eine Variable. + \part L\"osche alle \"ubrigen Variablen. + \end{parts} + +\question Berechne die Fakult\"at von 5: + \begin{parts} + \part Erzeuge eine Variable \code{x} und weise ihr den Wert 1 zu. + \part Berechne den ersten Schritt und weise das Ergebnis \code{x} zu. - \item Wiederhole bis die Fakult\"at von 5 berechnet ist. \verb+x+ + \part Wiederhole bis die Fakult\"at von 5 berechnet ist. \code{x} sollte nun das Endergebnis enthalten. - \end{enumerate} -\item Erstelle eine Variable, die einen beliebigen Text enth\"alt. Was + \end{parts} +XXX Die Aufgabe kann als Motivation fuer eine for schleife verwendet werden! XXX +XXX Und dann als motivation fuer eine function! XXX + +\question Erstelle eine Variable, die einen beliebigen Text enth\"alt. Was ist ihr Datentyp? -\item Erstelle eine Variable des 8 Bit Integer Datentyps und weise ihr einen Wert zu. -\item Was sind die gr\"o{\ss}ten Zahlen, die in den Integer 8, 16, 32 + XXX Operationen auf strings? Addition, concatenation, ... XXX + +\question Was sind die gr\"o{\ss}ten Zahlen, die in den Integer 8, 16, 32 und 64 bit Datentypen abgelegt werden k\"onnen? -\item Erkl\"are die Ausgaben von \verb+int8(1024)+ und \verb+uint8(1024)+. -\item Typekonvertierung: - \begin{enumerate} - \item F\"uhre aus: \verb+x = 131.333+. Welchen Datentyp hat die - Variable \verb+x+? - \item Wandle \verb+x+ den speichereffizientesten Integer Typen um. - \end{enumerate} -\end{enumerate} + +\question Erstelle eine Variable des 8 Bit Integer Datentyps und weise ihr einen Wert zu. +Addiere \code{300}. Welchen Wert enth\"alt nun die Variable? Warum? + +\question Erkl\"are die Ausgaben von \code{int8(1024)} und \code{uint8(1024)}. + +\question Typkonvertierung: + \begin{parts} + \part F\"uhre aus: \code{x = 131.333}. Welchen Datentyp hat die + Variable \code{x}? + \part Wandle \code{x} in den speichereffizientesten Integer Typen um. + \part Welchen Wert hat nun \code{x} ? + \end{parts} + +\question Flie{\ss}kommazahlen 1: Endliche Pr\"azision bei Addition + \begin{parts} + \part Weise der Variablen \code{a} eine Zahl mit Nachkommastellen zu. + \part Eine weitere Variable \code{b} soll den Wert \code{a+0.001} haben. Was ist das Ergebnis von \code{b-a} ? + \part Einer dritte Variable \code{c} soll der Wert \code{a+1e-16} zugewiesen werden. Was ist das Ergebnis von \code{c-a} ? Warum? + \part Berechne mit matlab \code{(2\^52+1)-2\^52} sowie \code{(2\^53+1)-2\^53} . + \part Berechne \code{sqrt(1+1e-16)-1} . Ist das richtig? Warum? + \end{parts} + +\question Flie{\ss}kommazahlen 2: Endliche Pr\"azision bei Multiplikation + \begin{parts} + \part Weise der Variablen \code{a} die Zahl \code{4/3} zu. + \part Die Variable \code{b} soll den Wert \code{3*(a-1)} erhalten. + \part Welches Ergebnis erwartest du f\"ur \code{b-1} ? + \part Berechne mit matlab \code{b-1} ! + \part Was ist \code{\sin(pi)} ? + \end{parts} + +\end{questions} \end{document} \ No newline at end of file