Comments and more questions for variables and types.

This commit is contained in:
Jan Benda 2015-10-06 18:50:49 +02:00
parent cedca289c1
commit 76881b3dc8
2 changed files with 90 additions and 60 deletions

Binary file not shown.

View File

@ -1,8 +1,8 @@
\documentclass[12pt,a4paper,pdftex]{article} \documentclass[12pt,a4paper,pdftex]{exam}
\usepackage[german]{babel}
\usepackage{natbib} \usepackage{natbib}
\usepackage{graphicx} \usepackage{graphicx}
\usepackage[margin=1.5in]{geometry}
\usepackage[small]{caption} \usepackage[small]{caption}
\usepackage{sidecap} \usepackage{sidecap}
\usepackage{pslatex} \usepackage{pslatex}
@ -12,35 +12,29 @@
\usepackage[breaklinks=true,bookmarks=true,bookmarksopen=true,pdfpagemode=UseNone,pdfstartview=FitH,colorlinks=true,citecolor=blue]{hyperref} \usepackage[breaklinks=true,bookmarks=true,bookmarksopen=true,pdfpagemode=UseNone,pdfstartview=FitH,colorlinks=true,citecolor=blue]{hyperref}
%%%%% text size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% text size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% letter : 8.5 x 11 in \usepackage[left=20mm,right=20mm,top=25mm,bottom=25mm]{geometry}
\setlength{\headheight}{5mm} % default ~5mm \pagestyle{headandfoot}
\setlength{\headsep}{8mm} % default ~10mm \header{{\bfseries\large \"Ubung 1}}{{\bfseries\large Variablen und Datentypen}}{{\bfseries\large 12. Oktober, 2015}}
\setlength{\topmargin}{15mm} % default ~8mm \firstpagefooter{Dr. Jan Grewe}{Phone: 29 74574}{Email:
\setlength{\textheight}{23cm} jan.grewe@uni-tuebingen.de}
\runningfooter{}{\thepage}{}
\setlength{\oddsidemargin}{2.5cm} \setlength{\baselineskip}{15pt}
\setlength{\evensidemargin}{2.5cm} \setlength{\parindent}{0.0cm}
\setlength{\textwidth}{16cm} \setlength{\parskip}{0.3cm}
\renewcommand{\baselinestretch}{1.15}
\setlength{\voffset}{-1in} \newcommand{\code}[1]{\texttt{#1}}
\setlength{\hoffset}{-1in}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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} \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 Die folgenden Aufgaben dienen der \"Ubung und Selbstkontrolle und
sollten eigenst\"andig bearbeitet und gel\"ost werden. Die L\"osung 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 mir zugeschickt werden (jan.grewe@uni-tuebingen.de). Jede Aufgabe
sollte in einer eigenen ``Zelle'' gel\"ost sein. Die Zellen sollte in einer eigenen ``Zelle'' gel\"ost sein. Die Zellen
\textbf{m\"ussen} unabh\"angig voneinander ausf\"uhrbar sein. Das \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). benannt werden (z.B. variablen\_datentypen\_mueller.m).
\section{Aufgaben} \begin{questions}
\begin{enumerate} \question Erzeugen und L\"oschen von Variablen:
\item Erzeugen und L\"oschen von Variablen: \begin{parts}
\begin{enumerate} \part Erzeuge zwei Variablen \code{a}, \code{b} und weise ihnen
\item Erzeuge zwei Variablen \verb+a, b+ und weise ihnen
unterschiedliche Werte zu. Schlie{\ss}e die Zeilen mit einem unterschiedliche Werte zu. Schlie{\ss}e die Zeilen mit einem
Semikolon ab. Erstelle eine Variable \verb+c+ die leer ist. Semikolon ab. Erstelle eine Variable \code{c} die leer ist.
\item Lasse die Werte der Variablen ausgeben. \part Lass die Werte der Variablen ausgeben.
\item F\"uhre einfache mathematische Operationen aus (Addition, \part F\"uhre einfache mathematische Operationen aus (Addition,
Subtraktion, etc.) Potenzierung erfolgt \"uber das Dach Symbol Subtraktion, etc., Potenzierung erfolgt \"uber das Dach Symbol
\verb+^+). |''Ueberpr\"ufe, ob sich der der urspruengliche Wert \code{\^}). \"Uberpr\"ufe, ob sich der der urspr\"ungliche Wert
der Variable ge\"andert hat. 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. es im Workspace gibt.
\item Benuzte die Kommandozeile um herauszufinden, welche Datentypen sie haben. \part Benuzte die Kommandozeile um herauszufinden, welche Datentypen sie haben.
\item Finde in der Hilfe mehr Information \"uber das \verb+clear+ Kommando. \part Finde in der Hilfe mehr Information \"uber das \code{clear} Kommando.
\item L\"osche eine Variable. \part L\"osche eine Variable.
\item L\"osche alle \"ubrigen Variablen. \part L\"osche alle \"ubrigen Variablen.
\end{enumerate} \end{parts}
\item Berechne die Fakult\"at von 5:
\begin{enumerate} \question Berechne die Fakult\"at von 5:
\item Erzeuge eine Variable \verb+x+ und weise ihr den Wert 1 zu. \begin{parts}
\item Berechne den ersten Schritt und weise das Ergebnis \verb+x+ \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. 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. sollte nun das Endergebnis enthalten.
\end{enumerate} \end{parts}
\item Erstelle eine Variable, die einen beliebigen Text enth\"alt. Was 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? ist ihr Datentyp?
\item Erstelle eine Variable des 8 Bit Integer Datentyps und weise ihr einen Wert zu. XXX Operationen auf strings? Addition, concatenation, ... XXX
\item Was sind die gr\"o{\ss}ten Zahlen, die in den Integer 8, 16, 32
\question Was sind die gr\"o{\ss}ten Zahlen, die in den Integer 8, 16, 32
und 64 bit Datentypen abgelegt werden k\"onnen? und 64 bit Datentypen abgelegt werden k\"onnen?
\item Erkl\"are die Ausgaben von \verb+int8(1024)+ und \verb+uint8(1024)+.
\item Typekonvertierung: \question Erstelle eine Variable des 8 Bit Integer Datentyps und weise ihr einen Wert zu.
\begin{enumerate} Addiere \code{300}. Welchen Wert enth\"alt nun die Variable? Warum?
\item F\"uhre aus: \verb+x = 131.333+. Welchen Datentyp hat die
Variable \verb+x+? \question Erkl\"are die Ausgaben von \code{int8(1024)} und \code{uint8(1024)}.
\item Wandle \verb+x+ den speichereffizientesten Integer Typen um.
\end{enumerate} \question Typkonvertierung:
\end{enumerate} \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} \end{document}