Unterprogramme


\begin{frame}[fragile,environment=slide]
\frametitle{Grundsätzliches}
\par
Ein U...
... (void)
\item Aufruf ist Anweisung
\end{itemize}
\end{itemize}\par\end{frame}

\begin{frame}[fragile,environment=slide]
\frametitle{Beispiele für Unterprogramm...
...n durch mutiges Ausrechnen
Funktionswerte findet.
\end{itemize}\par\end{frame}

\begin{frame}[fragile,environment=slide]
\frametitle{Argumente/Parameter}
\par
\...
...de Argumente?
\item
beliebig lange Argumentlisten?
\end{itemize}\par\end{frame}


\begin{frame}[fragile,environment=slide]
\frametitle{Positionelle/benannte Argum...
...gs fehlt (in Java usw.)
benannte Notation für Record-Konstanten.
\par\end{frame}


\begin{frame}[fragile,environment=slide]
\frametitle{Default-Werte}
\par
C++:
\b...
...m Aufruf nach weggelassenem Argument
nur noch benannte Notation
\par\end{frame}

\begin{frame}[fragile,environment=slide]
\frametitle{Variable Argumentanzahl (C)...
...printf
(__const char *__restrict __format, ...);\end{verbatim}
\par\end{frame}


\begin{frame}[fragile,environment=slide]
\frametitle{Variable Argumentanzahl (Ja...
...ler Parameter
kann für beliebig viele des gleichen Typs stehen.
\par\end{frame}

\begin{frame}[fragile,environment=slide]
\frametitle{Semantik von Unterprogramme...
...me erlaubt?
\item
Bürgerrechte für Unterprogramme?
\end{itemize}\par\end{frame}

\begin{frame}[fragile,environment=slide]
\frametitle{Typprüfungen}
\par
\begin{i...
...em
Instantiierung einer Typschablone
\end{itemize}\end{itemize}\par\end{frame}


\begin{frame}[fragile,environment=slide]
\frametitle{Generische Polymorphie}
\pa...
...rd Typvariable instantiiert
(durch einen konkreten Typ ersetzt).
\par\end{frame}


\begin{frame}[fragile,environment=slide]
\frametitle{Das Überladen von Namen}
\p...
... f (String x) { ... }
boolean f (String x) { ... }\end{verbatim}
\par\end{frame}

\begin{frame}[fragile,environment=slide]
\frametitle{Parameter-Übergabe (Semanti...
...enen zum Aufrufer
\item in out: in beide Richtungen
\end{itemize}\par\end{frame}


\begin{frame}[fragile,environment=slide]
\frametitle{Parameter-Übergabe (Impleme...
...ar
selten \dots Algol68, CPP-Macros \dots Vorsicht!
\end{itemize}\par\end{frame}


\begin{frame}[fragile,environment=slide]
\frametitle{Parameterübergabe}
häufig b...
...Referenz-Typen ($=$\ Verweise auf Objekte) by-value
\end{itemize}\par\end{frame}


\begin{frame}[fragile,environment=slide]
\frametitle{Aufgaben zu Parameter-Modi ...
...oo << std::endl;
std::cout << bar << std::endl;
}\end{verbatim}
\par\end{frame}


\begin{frame}[fragile,environment=slide]
\frametitle{Aufgaben zu Parameter-Modi ...
...ar
Kann man jedes der beiden von copy-in/copy-out unterscheiden?
\par\end{frame}




Johannes Waldmann 2007-01-23