Skip to content
Snippets Groups Projects
Commit bb365ccf authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Übungsaufgaben 7.1.2016

parent e9b2e486
Branches
No related tags found
No related merge requests found
No preview for this file type
...@@ -24,21 +24,13 @@ ...@@ -24,21 +24,13 @@
\usepackage{pgscript} \usepackage{pgscript}
\usepackage{enumerate} \usepackage{enumerate}
\usepackage{pdftricks} \usepackage{ifthen}
\usepackage{sfmath}
\begin{psinputs}
\usepackage{pgscript}
% \definecolor{PracticallyWhite}{rgb}{0.99 0.99 0.99}
\definecolor{verylightgray}{rgb}{0.95 0.95 0.95}
\end{psinputs}
\newcounter{exercise} \newcounter{exercise}
\newcommand{\exercise}[1]{\addtocounter{exercise}{1}\subsection*{Aufgabe \arabic{exercise}: #1}} \newcommand{\exercise}[1]{\addtocounter{exercise}{1}\subsection*{Aufgabe \arabic{exercise}: #1}}
\newcounter{points} \newcounter{points}
\newcommand{\onepoint}{(1 Punkt)\addtocounter{points}{1}} \newcommand{\points}[1]{\ifthenelse{#1=1}{(1 Punkt)}{(#1 Punkte)}\addtocounter{points}{#1}}
\newcommand{\points}[1]{(#1 Punkte)\addtocounter{points}{#1}}
\begin{document} \begin{document}
...@@ -46,8 +38,83 @@ ...@@ -46,8 +38,83 @@
\section*{Angewandte Informatik\\Übungsaufgaben -- 7.\ Januar 2016} \section*{Angewandte Informatik\\Übungsaufgaben -- 7.\ Januar 2016}
\subsection*{???} \exercise{Landau-Symbole}
Von welcher Ordnung (Landau-Symbol) sind die folgenden Problemstellungen?\\
Begründen Sie jeweils Ihre Antwort.
\begin{enumerate}[\hspace{0.9em}(a)]
\item
Iterative Berechnung einer Fakultät
(siehe Übungsaufgabe 1 vom 19.\,11.\,2015)\\
\points{1}
\item
Rekursive Berechnung einer Fakultät\\
\points{1}
\item
Türme von Hanoi (nötige Anzahl von Verschiebungen
in Abhängigkeit von der Anzahl der Scheiben)\\
\points{1}
\item
\lstinline{push()} auf einen Stack\\
\points{1}
\item
Einfügen eines Elements irgendwo in den Stack
("`mitten in den Stapel schieben"')\\
\points{1}
\item
\lstinline{push()} auf einen FIFO\\
\points{1}
\end{enumerate}
\exercise{Länge von Strings}
(Diese Übungsaufgabe ist eine Ergänzung zu Aufgabe 1 der Probeklausur
vom 22.\,10.\,2015.)
Strings werden in der Programmiersprache C durch Zeiger auf \lstinline{char}-Variable realisiert.
Beispiel: \lstinline{char *hello_world = "Hello, world!\n"}
Die Systembibliothek stellt eine Funktion \lstinline{strlen()} zur Ermittlung der Länge von Strings\\
zur Verfügung (\lstinline{#include <string.h>}).
\points{42} Wir betrachten nun die folgenden Funktionen:
\begin{center}
\begin{minipage}{8cm}
\begin{lstlisting}[gobble=8]
int fun_1 (char *s)
{
int x = 0;
for (int i = 0; i < strlen (s); i++)
x += s[i];
return x;
}
\end{lstlisting}
\end{minipage}%
\begin{minipage}{6cm}
\vspace*{-1cm}
\begin{lstlisting}[gobble=8]
int fun_2 (char *s)
{
int i = 0, x = 0;
int len = strlen (s);
while (i < len)
x += s[i++];
return x;
}
\end{lstlisting}
\vspace*{-1cm}
\end{minipage}
\end{center}
\begin{itemize}
\item[(g)]
Von welcher Ordnung (Landau-Symbol) sind die beiden Funktionen\\
hinsichtlich der Anzahl ihrer Zugriffe auf die Zeichen im String -- und warum?
\points{2}
\item[(h)]
Von welcher Ordnung (Landau-Symbol) ist Ihre selbstgeschriebene,
effizientere Funktion und warum?
\points{1}
\end{itemize}
\end{document} \end{document}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment