From cf7e837421f73a0fa2a0c3110536983472d6433b Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Thu, 24 Jan 2019 01:49:11 +0100 Subject: [PATCH] =?UTF-8?q?Musterl=C3=B6sung=2014.1.2019?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 20190114/hp-musterloesung-20190114.pdf | Bin 0 -> 73253 bytes 20190114/hp-musterloesung-20190114.tex | 452 +++++++++++++++++++++++++ 20190114/loesung-1.c | 30 ++ 20190114/loesung-2d-0f.c | 54 +++ 20190114/loesung-2d-1.c | 54 +++ 20190114/loesung-2d-2.c | 54 +++ 20190114/loesung-2e.c | 61 ++++ 20190114/loesung-2f.c | 69 ++++ 20190114/loesung-2g.c | 77 +++++ README.md | 1 + hp-slides-2018ws.pdf | Bin 3086762 -> 3086762 bytes 11 files changed, 852 insertions(+) create mode 100644 20190114/hp-musterloesung-20190114.pdf create mode 100644 20190114/hp-musterloesung-20190114.tex create mode 100644 20190114/loesung-1.c create mode 100644 20190114/loesung-2d-0f.c create mode 100644 20190114/loesung-2d-1.c create mode 100644 20190114/loesung-2d-2.c create mode 100644 20190114/loesung-2e.c create mode 100644 20190114/loesung-2f.c create mode 100644 20190114/loesung-2g.c diff --git a/20190114/hp-musterloesung-20190114.pdf b/20190114/hp-musterloesung-20190114.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e2247997752c9b52e1a0a93d5ddb7ee852ad63eb GIT binary patch literal 73253 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�v0;o(gKw7UhWK$yr;nO<z8*uB4>-* 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 literal 0 HcmV?d00001 diff --git a/20190114/hp-musterloesung-20190114.tex b/20190114/hp-musterloesung-20190114.tex new file mode 100644 index 0000000..8da6213 --- /dev/null +++ b/20190114/hp-musterloesung-20190114.tex @@ -0,0 +1,452 @@ +% hp-musterloesung-20190114.pdf - Solutions to the Exercises on Low-Level Programming / Applied Computer Sciences +% Copyright (C) 2013, 2015, 2016, 2017, 2018, 2019 Peter Gerwinski +% +% This document is free software: you can redistribute it and/or +% modify it either under the terms of the Creative Commons +% Attribution-ShareAlike 3.0 License, or under the terms of the +% GNU General Public License as published by the Free Software +% Foundation, either version 3 of the License, or (at your option) +% any later version. +% +% This document is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this document. If not, see <http://www.gnu.org/licenses/>. +% +% You should have received a copy of the Creative Commons +% Attribution-ShareAlike 3.0 Unported License along with this +% document. If not, see <http://creativecommons.org/licenses/>. + +% README: Iteratorfunktionen, Objektorientierte Tier-Datenbank + +\documentclass[a4paper]{article} + +\usepackage{pgscript} +\usepackage{sfmath} + +\begin{document} + + \section*{Hardwarenahe Programmierung\\ + Musterlösung zu den Übungsaufgaben -- 14.\ Januar 2019} + + \exercise{Iterationsfunktionen} + + Wir betrachten das folgende Programm (\gitfile{hp}{20190114}{aufgabe-1.c}): + + \begin{minipage}[t]{0.4\textwidth} + \begin{lstlisting}[gobble=6] + #include <stdio.h> + + void foreach (int *a, void (*fun) (int x)) + { + for (int *p = a; *p >= 0; p++) + fun (*p); + } + + void even_or_odd (int x) + { + if (x % 2) + printf ("%d ist ungerade.\n", x); + else + printf ("%d ist gerade.\n", x); + } + \end{lstlisting} + \end{minipage}\hfill + \begin{minipage}[t]{0.52\textwidth} + \begin{lstlisting}[gobble=6] + int main (void) + { + int numbers[] = { 12, 17, 32, 1, 3, 16, 19, 18, -1 }; + foreach (numbers, even_or_odd); + return 0; + } + \end{lstlisting} + \begin{enumerate}[\quad(a)] + \item + Was bedeutet \lstinline{void (*fun) (int x)}, + und welchen Sinn hat seine Verwendung in der Funktion \lstinline{foreach()}? + \points{2} + \item + Schreiben Sie das Hauptprogramm \lstinline{main()} so um, + daß es unter Verwendung der Funktion \lstinline{foreach()} + die Summe aller positiven Zahlen in dem Array berechnet. + Sie dürfen dabei weitere Funktionen sowie globale Variable einführen. + \points{4} + \end{enumerate} + \end{minipage} + + \solution + + \begin{enumerate}[\quad(a)] + \item + \textbf{Was bedeutet \lstinline{void (*fun) (int x)}, + und welchen Sinn hat seine Verwendung in der Funktion \lstinline{foreach()}?} + + \lstinline{void (*fun) (int x)} deklariert einen Zeiger \lstinline{fun}, + der auf Funktionen zeigen kann, die einen Parameter \lstinline{x} + vom Typ \lstinline{int} erwarten und keinen Wert zurückgeben (\lstinline{void}). + + Durch die Übergabe eines derartigen Parameters an die Funktion \lstinline{foreach()} + lassen wir dem Aufrufer die Wahl, + welche Aktion für alle Elemente des Arrays aufgerufen werden soll. + + \item + \textbf{Schreiben Sie das Hauptprogramm \lstinline{main()} so um, + daß es unter Verwendung der Funktion \lstinline{foreach()} + die Summe aller positiven Zahlen in dem Array berechnet. + Sie dürfen dabei weitere Funktionen sowie globale Variable einführen.} + + Siehe: \gitfile{hp}{20190114}{loesung-1.c} + + Damit die Funktion \lstinline{add_up()} Zugriff auf die Variable \lstinline{sum} hat, + muß diese global sein + und vor der Funktion \lstinline{add_up()} deklariert werden. + + Die Bedingung, daß nur positive Zahlen summiert werden sollen, + ist durch die Arbeitsweise der Funktion \lstinline{foreach()} + bereits gewährleistet, da negative Zahlen als Ende-Markierungen dienen. + + Wichtig ist, daß die Variable \lstinline{sum} + vor dem Aufruf der Funktion \lstinline{foreach()} + auf den Wert \lstinline{0} gesetzt wird. + In \gitfile{hp}{20190114}{loesung-1.c} geschieht dies + durch die Initialisierung von \lstinline{sum}. + Wenn mehrere Summen berechnet werden sollen, + muß dies durch explizite Zuweisungen \lstinline{sum = 0} + vor den Aufrufen von \lstinline{foreach()} erfolgen. + \end{enumerate} + + \exercise{Objektorientierte Tier-Datenbank} + + Das auf der nächsten Seite in Blau dargestellte Programm (Datei: \gitfile{hp}{20190114}{aufgabe-2a.c})\\ + soll Daten von Tieren verwalten. + + Beim Compilieren erscheinen die folgende Fehlermeldungen: + \begin{lstlisting}[style=terminal] + $ ¡gcc -std=c99 -Wall -O aufgabe-2a.c -o aufgabe-2a¿ + aufgabe-2a.c: In function 'main': + aufgabe-2a.c:31: error: 'animal' has no member named 'wings' + aufgabe-2a.c:37: error: 'animal' has no member named 'legs' + \end{lstlisting} + + Der Programmierer nimmt die auf der nächsten Seite in Rot dargestellten Ersetzungen vor\\ + (Datei: \gitfile{hp}{20190114}{aufgabe-2b.c}). + Daraufhin gelingt das Compilieren, und die Ausgabe des Programms lautet: + \begin{lstlisting}[style=terminal] + $ ¡gcc -std=c99 -Wall -O aufgabe-2b.c -o aufgabe-2b¿ + $ ¡./aufgabe-2b¿ + A duck has 2 legs. + Error in animal: cow + \end{lstlisting} + + \begin{itemize} + \item[(a)] + Erklären Sie die o.\,a.\ Compiler-Fehlermeldungen. + \points{2} + \item[(b)] + Wieso verschwinden die Fehlermeldungen nach den o.\,a.\ Ersetzungen? + \points{3} + \item[(c)] + Erklären Sie die Ausgabe des Programms. + \points{5} + \item[(d)] + Beschreiben Sie -- in Worten und/oder als C-Quelltext -- einen Weg, + das Programm so zu berichtigen, daß es die Eingabedaten + (``A duck has 2 wings. A cow has 4 legs.'') korrekt speichert und ausgibt.\\ + \points{4} + \item[(e)] + Schreiben Sie das Programm so um, + daß es keine expliziten Typumwandlungen mehr benötigt.\par + Hinweis: Verwenden Sie \lstinline{union}. + \points{4} + \item[(f)] + Schreiben Sie das Programm weiter um, + so daß es die Objektinstanzen \lstinline{duck} und \lstinline{cow} + dynamisch erzeugt.\par + Hinweis: Verwenden Sie \lstinline{malloc()} und schreiben Sie Konstruktoren. + \points{4} + \item[(g)] + Schreiben Sie das Programm weiter um, + so daß die Ausgabe nicht mehr direkt im Hauptprogramm erfolgt, + sondern stattdessen eine virtuelle Methode \lstinline{print()} + aufgerufen wird.\par + Hinweis: Verwenden Sie in den Objekten Zeiger auf Funktionen, + und initialisieren Sie diese in den Konstruktoren. + \points{4} + \end{itemize} + + \begin{minipage}[t]{0.34\textwidth} + \begin{lstlisting}[gobble=6,xleftmargin=0pt] + #include <stdio.h> + + #define ANIMAL 0 + #define WITH_WINGS 1 + #define WITH_LEGS 2 + + typedef struct animal + { + int type; + char *name; + } animal; + + typedef struct with_wings + { + int wings; + } with_wings; + + typedef struct with_legs + { + int legs; + } with_legs; + \end{lstlisting} + \end{minipage}\hfill + \begin{minipage}[t]{0.65\textwidth} + \begin{lstlisting}[gobble=6,xleftmargin=0pt] + int main (void) + { + animal *a[2]; + + animal duck; + a[0] = &duck; + a[0]->type = WITH_WINGS; + a[0]->name = "duck"; + a[0]->wings = 2; + + animal cow; + a[1] = &cow; + a[1]->type = WITH_LEGS; + a[1]->name = "cow"; + a[1]->legs = 4; + + for (int i = 0; i < 2; i++) + if (a[i]->type == WITH_LEGS) + printf ("A %s has %d legs.\n", a[i]->name, + ((with_legs *) a[i])-> legs); + else if (a[i]->type == WITH_WINGS) + printf ("A %s has %d wings.\n", a[i]->name, + ((with_wings *) a[i])-> wings); + else + printf ("Error in animal: %s\n", a[i]->name); + + return 0; + } + \end{lstlisting} + \begin{picture}(0,0) + \color{red} + \put(3.7,6.207){\vector(-1,0){0.7}} + \put(3.8,6.207){\makebox(0,0)[l]{\lstinline[basicstyle=\color{red}]{((with_legs *) a[1])->legs = 4;}}} + \put(4.0,8.735){\vector(-1,0){0.7}} + \put(4.1,8.735){\makebox(0,0)[l]{\lstinline[basicstyle=\color{red}]{((with_wings *) a[0])->wings = 2;}}} + \end{picture} + \end{minipage} + + \solution + + \begin{itemize} + \item[(a)] + \textbf{Erklären Sie die o.\,a.\ Compiler-Fehlermeldungen.} + + \lstinline{a[0]} und \lstinline{a[1]} + sind gemäß der Deklaration \lstinline{animal *a[2]} + Zeiger auf Variablen vom Typ \lstinline{animal} (ein \lstinline{struct}). + Wenn man diesen Zeiger dereferenziert (\lstinline{->}), + erhält man eine \lstinline{animal}-Variable. + Diese enthält keine Datenfelder \lstinline{wings} bzw.\ \lstinline{legs}. + + \item[(b)] + \textbf{Wieso verschwinden die Fehlermeldungen nach den o.\,a.\ Ersetzungen?} + + Durch die \emph{explizite Typumwandlung des Zeigers\/} + erhalten wir einen Zeiger auf eine \lstinline{with_wings}- + bzw.\ auf eine \lstinline{with_legs}-Variable. + Diese enthalten die Datenfelder \lstinline{wings} bzw.\ lstinline{legs}. + + \item[(c)] + \textbf{Erklären Sie die Ausgabe des Programms.} + + Durch die explizite Typumwandlung des Zeigers + zeigt \lstinline{a[0]} auf eine \lstinline{with_wings}-Variable. + Diese enthält nur ein einziges Datenfeld \lstinline{wings}, + das an genau derselben Stelle im Speicher liegt + wie \lstinline{a[0]->type}, also das Datenfeld \lstinline{type} + der \lstinline{animal}-Variable, auf die der Zeiger \lstinline{a[0]} zeigt. + Durch die Zuweisung der Zahl \lstinline{2} + an \lstinline{((with_wings *) a[0])->wings} + überschreiben wir also \lstinline{a[0]->type}, + so daß das \lstinline{if} in der \lstinline{for}-Schleife + \lstinline{a[0]} als \lstinline{WITH_LEGS} erkennt. + + Bei der Ausgabe \lstinline[style=terminal]{A duck has 2 legs.} + wird das Datenfeld \lstinline{((with_legs *)a[0])->legs} als Zahl ausgegeben. + Dieses Datenfeld befindet sich in denselben Speicherzellen wie + \lstinline{a[0]->type} und \lstinline{((with_wings *)} % :-( + \lstinline{a[0]->wings} + und hat daher ebenfalls den Wert 2. + + Auf die gleiche Weise überschreiben wir durch die Zuweisung der Zahl 4 + an \lstinline{((with_legs *) a[1])->legs} + das Datenfeld \lstinline{a[0]->type}, + so daß das \lstinline{if} in der \lstinline{for}-Schleife + \lstinline{a[1]} als unbekanntes Tier (Nr.\ 4) erkennt und + \lstinline[style=terminal]{Error in animal: cow} ausgibt. + + \item[(d)] + \textbf{Beschreiben Sie -- in Worten und/oder als C-Quelltext -- einen Weg, + das Programm so zu berichtigen, daß es die Eingabedaten + (``A duck has 2 wings. A cow has 4 legs.'') korrekt speichert und ausgibt.} + + Damit die \emph{Vererbung\/} zwischen den Objekten + \lstinline{animal}, \lstinline{with_wings} und \lstinline{with_legs} + funktioniert, müssen die abgeleiteten Klassen \lstinline{with_wings} und \lstinline{with_legs} + alle Datenfelder der Basisklasse \lstinline{animal} erben. + In C geschieht dies explizit; die Datenfelder müssen in den + abgeleiteten Klassen neu angegeben werden + (siehe \gitfile{hp}{20190114}{loesung-2d-1.c}): + + \begin{lstlisting}[gobble=8] + typedef struct animal + { + int type; + char *name; + } animal; + + typedef struct with_wings + { + int type; + char *name; + int wings; + } with_wings; + + typedef struct with_legs + { + int type; + char *name; + int legs; + } with_legs; + \end{lstlisting} + + Zusätzlich ist es notwendig, + die Instanzen \lstinline{duck} und \lstinline{cow} + der abgeleiteten Klassen \lstinline{with_wings} und \lstinline{with_legs} + auch als solche zu deklarieren, + damit für sie genügend Speicher reserviert wird: + + \begin{lstlisting}[gobble=8] + animal *a[2]; + + with_wings duck; + a[0] = (animal *) &duck; + a[0]->type = WITH_WINGS; + a[0]->name = "duck"; + ((with_wings *) a[0])->wings = 2; + + with_legs cow; + a[1] = (animal *) &cow; + a[1]->type = WITH_LEGS; + a[1]->name = "cow"; + ((with_legs *) a[1])->legs = 4; + \end{lstlisting} + + Wenn man dies vergißt und sie nur als \lstinline{animal} deklariert, + wird auch nur Speicherplatz für (kleinere) + \lstinline{animal}-Variable angelegt. + Dadurch kommt es zu Speicherzugriffen außerhalb der + deklarierten Variablen, was letztlich zu einem Absturz führt + (siehe \gitfile{hp}{20190114}{loesung-2d-0f.c}). + + Für die Zuweisung eines Zeigers auf \lstinline{duck} + an \lstinline{a[0]}, also an einen Zeiger auf \lstinline{animal} + wird eine weitere explizite Typumwandlung notwendig. + Entsprechendes gilt für die Zuweisung eines Zeigers auf \lstinline{cow} + an \lstinline{a[1]}. + + Es ist sinnvoll, explizite Typumwandlungen so weit wie möglich zu vermeiden. + Es ist einfacher und gleichzeitig sicherer, + direkt in die Variablen \lstinline{duck} und \lstinline{cow} + zu schreiben, anstatt dies über die Zeiger \lstinline{a[0]} + und \lstinline{a[1]} zu tun + (siehe \gitfile{hp}{20190114}{loesung-2d-2.c}): + + \begin{lstlisting}[gobble=8] + animal *a[2]; + + with_wings duck; + a[0] = (animal *) &duck; + duck.type = WITH_WINGS; + duck.name = "duck"; + duck.wings = 2; + + with_legs cow; + a[1] = (animal *) &cow; + cow.type = WITH_LEGS; + cow.name = "cow"; + cow.legs = 4; + \end{lstlisting} + + \item[(e)] + \textbf{Schreiben Sie das Programm so um, + daß es keine expliziten Typumwandlungen mehr benötigt.}\par + \textbf{Hinweis: Verwenden Sie \lstinline{union}.} + + Siehe \gitfile{hp}{20190114}{loesung-2e.c}. + + Diese Lösung basiert auf \gitfile{hp}{20190114}{loesung-2d-2.c}, + da diese bereits weniger explizite Typumwandlungen enthält + als \gitfile{hp}{20190114}{loesung-2d-1.c}. + + Arbeitsschritte: + \begin{itemize} + \item + Umbenennen des Basistyps \lstinline{animal} in \lstinline{base}, + damit wir den Bezeichner \lstinline{animal} + für die \lstinline{union} verwenden können + \item + Schreiben einer \lstinline{union animal}, + die die drei Klassen \lstinline{base}, + \lstinline{with_wings} und \lstinline{with_legs} + als Datenfelder enthält + \item + Umschreiben der Initialisierungen: + Zugriff auf Datenfelder erfolgt nun durch + z.\,B.\ \lstinline{a[0]->b.name}. + Hierbei ist \lstinline{b} der Name des \lstinline{base}-Datenfelds + innerhalb der \lstinline{union animal}. + \item + Auf gleiche Weise schreiben wir die \lstinline{if}-Bedingungen + innerhalb der \lstinline{for}-Schleife + sowie die Parameter der \lstinline{printf()}-Aufrufe um. + \end{itemize} + Explizite Typumwandlungen sind nun nicht mehr nötig. + + Nachteil dieser Lösung: + Jede Objekt-Variable belegt nun Speicherplatz + für die gesamte \lstinline{union animal}, + anstatt nur für die benötigte Variable vom Typ + \lstinline{with_wings} oder \lstinline{with_legs}. + Dies kann zu einer Verschwendung von Speicherplatz führen, + auch wenn dies in diesem Beispielprogramm tatsächlich nicht der Fall ist. + + \item[(f)] + \textbf{Schreiben Sie das Programm weiter um, + so daß es die Objektinstanzen \lstinline{duck} und \lstinline{cow} + dynamisch erzeugt.}\par + \textbf{Hinweis: Verwenden Sie \lstinline{malloc()} und schreiben Sie Konstruktoren.} + + Siehe \gitfile{hp}{20190114}{loesung-2f.c}. + + \item[(g)] + \textbf{Schreiben Sie das Programm weiter um, + so daß die Ausgabe nicht mehr direkt im Hauptprogramm erfolgt, + sondern stattdessen eine virtuelle Methode \lstinline{print()} + aufgerufen wird.}\par + \textbf{Hinweis: Verwenden Sie in den Objekten Zeiger auf Funktionen, + und initialisieren Sie diese in den Konstruktoren.} + + Siehe \gitfile{hp}{20190114}{loesung-2g.c}. + + \end{itemize} + +\end{document} diff --git a/20190114/loesung-1.c b/20190114/loesung-1.c new file mode 100644 index 0000000..7a277e7 --- /dev/null +++ b/20190114/loesung-1.c @@ -0,0 +1,30 @@ +#include <stdio.h> + +void foreach (int *a, void (*fun) (int x)) +{ + for (int *p = a; *p >= 0; p++) + fun (*p); +} + +void even_or_odd (int x) +{ + if (x % 2) + printf ("%d ist ungerade.\n", x); + else + printf ("%d ist gerade.\n", x); +} + +int sum = 0; + +void add_up (int x) +{ + sum += x; +} + +int main (void) +{ + int numbers[] = { 12, 17, 32, 1, 3, 16, 19, 18, -1 }; + foreach (numbers, add_up); + printf ("Summe: %d\n", sum); + return 0; +} diff --git a/20190114/loesung-2d-0f.c b/20190114/loesung-2d-0f.c new file mode 100644 index 0000000..04b2d3e --- /dev/null +++ b/20190114/loesung-2d-0f.c @@ -0,0 +1,54 @@ +#include <stdio.h> + +#define ANIMAL 0 +#define WITH_WINGS 1 +#define WITH_LEGS 2 + +typedef struct animal +{ + int type; + char *name; +} animal; + +typedef struct with_wings +{ + int type; + char *name; + int wings; +} with_wings; + +typedef struct with_legs +{ + int type; + char *name; + int legs; +} with_legs; + +int main (void) +{ + animal *a[2]; + + animal duck; + a[0] = &duck; + a[0]->type = WITH_WINGS; + a[0]->name = "duck"; + ((with_wings *) a[0])->wings = 2; + + animal cow; + a[1] = &cow; + a[1]->type = WITH_LEGS; + a[1]->name = "cow"; + ((with_legs *) a[1])->legs = 4; + + for (int i = 0; i < 2; i++) + if (a[i]->type == WITH_LEGS) + printf ("A %s has %d legs.\n", a[i]->name, + ((with_legs *) a[i])-> legs); + else if (a[i]->type == WITH_WINGS) + printf ("A %s has %d wings.\n", a[i]->name, + ((with_wings *) a[i])-> wings); + else + printf ("Error in animal: %s\n", a[i]->name); + + return 0; +} diff --git a/20190114/loesung-2d-1.c b/20190114/loesung-2d-1.c new file mode 100644 index 0000000..349523a --- /dev/null +++ b/20190114/loesung-2d-1.c @@ -0,0 +1,54 @@ +#include <stdio.h> + +#define ANIMAL 0 +#define WITH_WINGS 1 +#define WITH_LEGS 2 + +typedef struct animal +{ + int type; + char *name; +} animal; + +typedef struct with_wings +{ + int type; + char *name; + int wings; +} with_wings; + +typedef struct with_legs +{ + int type; + char *name; + int legs; +} with_legs; + +int main (void) +{ + animal *a[2]; + + with_wings duck; + a[0] = (animal *) &duck; + a[0]->type = WITH_WINGS; + a[0]->name = "duck"; + ((with_wings *) a[0])->wings = 2; + + with_legs cow; + a[1] = (animal *) &cow; + a[1]->type = WITH_LEGS; + a[1]->name = "cow"; + ((with_legs *) a[1])->legs = 4; + + for (int i = 0; i < 2; i++) + if (a[i]->type == WITH_LEGS) + printf ("A %s has %d legs.\n", a[i]->name, + ((with_legs *) a[i])-> legs); + else if (a[i]->type == WITH_WINGS) + printf ("A %s has %d wings.\n", a[i]->name, + ((with_wings *) a[i])-> wings); + else + printf ("Error in animal: %s\n", a[i]->name); + + return 0; +} diff --git a/20190114/loesung-2d-2.c b/20190114/loesung-2d-2.c new file mode 100644 index 0000000..f831a75 --- /dev/null +++ b/20190114/loesung-2d-2.c @@ -0,0 +1,54 @@ +#include <stdio.h> + +#define ANIMAL 0 +#define WITH_WINGS 1 +#define WITH_LEGS 2 + +typedef struct animal +{ + int type; + char *name; +} animal; + +typedef struct with_wings +{ + int type; + char *name; + int wings; +} with_wings; + +typedef struct with_legs +{ + int type; + char *name; + int legs; +} with_legs; + +int main (void) +{ + animal *a[2]; + + with_wings duck; + a[0] = (animal *) &duck; + duck.type = WITH_WINGS; + duck.name = "duck"; + duck.wings = 2; + + with_legs cow; + a[1] = (animal *) &cow; + cow.type = WITH_LEGS; + cow.name = "cow"; + cow.legs = 4; + + for (int i = 0; i < 2; i++) + if (a[i]->type == WITH_LEGS) + printf ("A %s has %d legs.\n", a[i]->name, + ((with_legs *) a[i])-> legs); + else if (a[i]->type == WITH_WINGS) + printf ("A %s has %d wings.\n", a[i]->name, + ((with_wings *) a[i])-> wings); + else + printf ("Error in animal: %s\n", a[i]->name); + + return 0; +} diff --git a/20190114/loesung-2e.c b/20190114/loesung-2e.c new file mode 100644 index 0000000..b984d92 --- /dev/null +++ b/20190114/loesung-2e.c @@ -0,0 +1,61 @@ +#include <stdio.h> + +#define ANIMAL 0 +#define WITH_WINGS 1 +#define WITH_LEGS 2 + +typedef struct +{ + int type; + char *name; +} base; + +typedef struct +{ + int type; + char *name; + int wings; +} with_wings; + +typedef struct +{ + int type; + char *name; + int legs; +} with_legs; + +typedef union +{ + base b; + with_wings w; + with_legs l; +} animal; + +int main (void) +{ + animal *a[2]; + + animal duck; + a[0] = &duck; + duck.b.type = WITH_WINGS; + duck.b.name = "duck"; + duck.w.wings = 2; + + animal cow; + a[1] = &cow; + cow.b.type = WITH_LEGS; + cow.b.name = "cow"; + cow.l.legs = 4; + + for (int i = 0; i < 2; i++) + if (a[i]->b.type == WITH_LEGS) + printf ("A %s has %d legs.\n", a[i]->b.name, + a[i]->l.legs); + else if (a[i]->b.type == WITH_WINGS) + printf ("A %s has %d wings.\n", a[i]->b.name, + a[i]->w.wings); + else + printf ("Error in animal: %s\n", a[i]->b.name); + + return 0; +} diff --git a/20190114/loesung-2f.c b/20190114/loesung-2f.c new file mode 100644 index 0000000..7b949e6 --- /dev/null +++ b/20190114/loesung-2f.c @@ -0,0 +1,69 @@ +#include <stdio.h> +#include <stdlib.h> + +#define ANIMAL 0 +#define WITH_WINGS 1 +#define WITH_LEGS 2 + +typedef struct +{ + int type; + char *name; +} base; + +typedef struct +{ + int type; + char *name; + int wings; +} with_wings; + +typedef struct +{ + int type; + char *name; + int legs; +} with_legs; + +typedef union +{ + base b; + with_wings w; + with_legs l; +} animal; + +animal *new_with_wings (char *name, int wings) +{ + animal *a = malloc (sizeof (with_wings)); + a->b.type = WITH_WINGS; + a->b.name = name; + a->w.wings = wings; + return a; +} + +animal *new_with_legs (char *name, int legs) +{ + animal *a = malloc (sizeof (with_legs)); + a->b.type = WITH_LEGS; + a->b.name = name; + a->l.legs = legs; + return a; +} + +int main (void) +{ + animal *a[2] = { new_with_wings ("duck", 2), + new_with_legs ("cow", 4) }; + + for (int i = 0; i < 2; i++) + if (a[i]->b.type == WITH_LEGS) + printf ("A %s has %d legs.\n", a[i]->b.name, + a[i]->l.legs); + else if (a[i]->b.type == WITH_WINGS) + printf ("A %s has %d wings.\n", a[i]->b.name, + a[i]->w.wings); + else + printf ("Error in animal: %s\n", a[i]->b.name); + + return 0; +} diff --git a/20190114/loesung-2g.c b/20190114/loesung-2g.c new file mode 100644 index 0000000..b453a52 --- /dev/null +++ b/20190114/loesung-2g.c @@ -0,0 +1,77 @@ +#include <stdio.h> +#include <stdlib.h> + +#define ANIMAL 0 +#define WITH_WINGS 1 +#define WITH_LEGS 2 + +union animal; + +typedef struct +{ + int type; + char *name; + void (*print) (union animal *this); +} base; + +typedef struct +{ + int type; + char *name; + void (*print) (union animal *this); + int wings; +} with_wings; + +typedef struct +{ + int type; + char *name; + void (*print) (union animal *this); + int legs; +} with_legs; + +typedef union animal +{ + base b; + with_wings w; + with_legs l; +} animal; + +void print_with_wings (animal *this) +{ + printf ("A %s has %d wings.\n", this->b.name, this->w.wings); +} + +void print_with_legs (animal *this) +{ + printf ("A %s has %d legs.\n", this->b.name, this->l.legs); +} + +animal *new_with_wings (char *name, int wings) +{ + animal *a = malloc (sizeof (with_wings)); + a->b.type = WITH_WINGS; + a->b.name = name; + a->b.print = print_with_wings; + a->w.wings = wings; + return a; +} + +animal *new_with_legs (char *name, int legs) +{ + animal *a = malloc (sizeof (with_legs)); + a->b.type = WITH_LEGS; + a->b.name = name; + a->b.print = print_with_legs; + a->l.legs = legs; + return a; +} + +int main (void) +{ + animal *a[2] = { new_with_wings ("duck", 2), + new_with_legs ("cow", 4) }; + for (int i = 0; i < 2; i++) + a[i]->b.print (a[i]); + return 0; +} diff --git a/README.md b/README.md index dc661ab..e9ccc9b 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,7 @@ Musterlösungen: * [10.12.2018: Trickprogrammierung, Thermometer-Baustein an I²C-Bus](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181210/hp-musterloesung-20181210.pdf) * [17.12.2018: Fakultät, Lauflicht, Länge von Strings (Neuauflage)](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20181217/hp-musterloesung-20181217.pdf) * [07.01.2019: Speicherformate von Zahlen, Zeigerarithmetik](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20190107/hp-musterloesung-20190107.pdf) + * [14.01.2019: Iteratorfunktionen, Objektorientierte Tier-Datenbank](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20190114/hp-musterloesung-20190114.pdf) Tafelbilder: ------------ diff --git a/hp-slides-2018ws.pdf b/hp-slides-2018ws.pdf index 41345a1d641bf19e544a9b2ef9ea50eed8f0d41a..163389e60ed480441b8a33fcebaa60288b5e063c 100644 GIT binary patch delta 204 zcmZ3rc@HB9H?%OeFtsqZu(YtYu(hzaaI|o?aJ6u^@U-x@@U`%_2($>c2(<{eh_r~d zh_#5fNVG_{NVQ0}$h63|$hF9~D6}ZHD77fJsI;iIsI{oKXtZdyXtij!=(Ol=(fj(C z-NeAq#KOdQ`k%*o(lE|;xhHxxe9p$MCZ-1F&K4G?&PL{D&Xz{z76y*a7KTo)E+!@h S=9YE}HiVRHzxzq=tQr8$I6Zy< delta 204 zcmZ3rc@HB9H?%OeFtsqZu(YtYu(hzaaI|o?aJ6u^@U-x@@U`%_2($>c2(<{eh_r~d zh_#5fNVG_{NVQ0}$h63|$hF9~D6}ZHD77fJsI;iIsI{oKXtZdyXtij!=(Ol=(fj(C z-Pq93)Xcze`k%*o(lE|;xhHxxe9n$8hL#qt29_>nPOj$8PUaStW+oPH&X!IFu8yt- ShNgB3HiVRHzxzq=tQr92sXi0{ -- GitLab