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