From 5e136be7d36e0546ad56a573b873c7e9a0112362 Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Sun, 4 Oct 2020 21:33:59 +0200 Subject: [PATCH] =?UTF-8?q?Musterl=C3=B6sung=20zu=20Aufgabe=202=20der=20Kl?= =?UTF-8?q?ausur=20vom=206.2.2017?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- exams/20170206/hp-musterloesung-20170206.pdf | Bin 0 -> 55724 bytes exams/20170206/hp-musterloesung-20170206.tex | 514 +++++++++++++++++++ 2 files changed, 514 insertions(+) create mode 100644 exams/20170206/hp-musterloesung-20170206.pdf create mode 100644 exams/20170206/hp-musterloesung-20170206.tex diff --git a/exams/20170206/hp-musterloesung-20170206.pdf b/exams/20170206/hp-musterloesung-20170206.pdf new file mode 100644 index 0000000000000000000000000000000000000000..994b2f7fc7ea0b3f587d1c9b20749dd07c59c4ee GIT binary patch literal 55724 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 BMIitH literal 0 HcmV?d00001 diff --git a/exams/20170206/hp-musterloesung-20170206.tex b/exams/20170206/hp-musterloesung-20170206.tex new file mode 100644 index 0000000..a3eba56 --- /dev/null +++ b/exams/20170206/hp-musterloesung-20170206.tex @@ -0,0 +1,514 @@ +% hp-musterloesung-20191205.pdf - Solutions to the Exercises on Low-Level Programming +% Copyright (C) 2013, 2015, 2016, 2017, 2018, 2019, 2020 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: Löschen aus Strings, Hexdumps + +\documentclass[a4paper]{article} + +\usepackage{pgscript} + +\begin{document} + + \section*{Hardwarenahe Programmierung\\ + Musterlösung zur Klausur vom 6.\ Februar 2017} + + \addtocounter{exercise}{1} + +\iffalse + + \exercise{Strings umsortieren} + + Wir betrachten das folgende Programm (\file{aufgabe-1.c}): + \begin{lstlisting}[style=numbered] + #include <stdio.h> + #include <string.h> + + void fun (char *s) + { + int len = strlen (s); + for (int i = 0; i < len; i++) + { + for (int j = i - 1; j >= 0; j--) + { + if (s[i] < s[j]) + { + char sx = s[i]; + s[i] = s[j]; + s[j] = sx; + } + } + } + } + + int main (void) + { + char s[] = "BAECD"; + fun (s); + printf ("%s\n", s); + return 0; + } + \end{lstlisting} + Auf einem Rechner, der den ASCII-Zeichensatz verwendet, lautet die Ausgabe: + \lstinline[style=terminal]{ABCDE} + + \begin{enumerate}[\quad(a)] +% \item +% Was bewirkt die Funktion \lstinline{fun}? +% \points{4} +% \workspace{12} + \item + Beweisen Sie (z.\,B.\ anhand eines Gegenbeispiels), + daß die Funktion allgemein \lstinline{fun} \emph{nicht\/} dazu geeignet ist, + die Buchstaben eines Strings gemäß ihrer ASCII-Reihenfolge zu sortieren. + \points{2} +% \workspace{9} + \item + Was kann passieren, wenn die Zeile \lstinline{char s[] = "BAECD";} + durch \lstinline|char s[] = { 'B', 'A', 'E', 'C', 'D'|~\lstinline|};| ersetzt wird, und warum? + \points{2} +% \workspace{10} + \item + Von welcher Ordnung (Landau-Symbol) ist die Funktion \lstinline{fun} und warum? + + Wir beziehen uns hierbei auf die Anzahl der Vergleiche \lstinline{s[i] < s[j]} + in Abhängigkeit von der Länge des Eingabe-Strings \lstinline{"BAECD"}. + \points{1} +% \workspace{10} + \item + Beschreiben Sie -- in Worten und/oder als C-Quelltext --, wie + sich die Funktion \lstinline{fun} so abwandeln läßt, + daß sie die Buchstaben des Strings \lstinline{s} gemäß ihrer ASCII-Reihenfolge sortiert. + Von welcher Ordnung (Landau-Symbol) ist Ihre Version der Funktion und warum? + \points{3} +% \workspace{22} + \end{enumerate} + +\fi + + \exercise{Speicherformate von Zahlen} + + Wir betrachten das folgende Programm (\file{aufgabe-2.c}): + \begin{lstlisting}[style=numbered] + #include <stdio.h> + #include <stdint.h> + + int main (void) + { + uint16_t numbers[] = { 25928, 27756, 11375, 30496, 29295, 25708, 2593, 0 }; + printf ("%s", numbers); + return 0; + } + \end{lstlisting} + + Das Programm wird compiliert und ausgeführt: + + \begin{lstlisting}[style=terminal] + $ ¡gcc -Wall aufgabe-2.c -o aufgabe-2¿ + aufgabe-2.c: In function ‘main’: + aufgabe-2.c:7:3: warning: format ‘%s’ expects argument of type ‘char *’, + but argument 2 has type ‘uint16_t *’ [-Wformat] + $ ¡./aufgabe-2¿ + Hello, world! + \end{lstlisting} + + \begin{enumerate}[\quad(a)] + \item + Erklären Sie die beim Compilieren auftretende Warnung. + \points{2} +% \workspace{8} + \item + Erklären Sie die Ausgabe des Programms.\\ + Welche Endianness hat der verwendete Rechner? + \points{4} +% \workspace{16} +% \item +% Wie sähe die Ausgabe auf einem Rechner mit entgegengesetzter Endianness aus? +% \points{2} +% \workspace{11} + \item + Erklären Sie die Ausgabe des Programms, + wenn Sie den Datentyp \lstinline{uint16_t} durch \lstinline{uint32_t} ersetzen. + \points{3} +% \workspace{12} + \item + Erklären Sie die Ausgabe des Programms + und die beim Compilieren auftretenden Warnungen, + wenn Sie den Datentyp \lstinline{uint16_t} durch \lstinline{uint8_t} ersetzen. + Warum tritt die Warnung aus den vorherigen Aufgabenteilen nicht mehr auf? + \points{3} +% \workspace{14} + \end{enumerate} + + \solution + + \begin{enumerate}[\quad(a)] + \item + \textbf{Erklären Sie die beim Compilieren auftretende Warnung.} + + Die Funktion \lstinline{printf()} mit der Formatspezifikation \lstinline{%s} + erwartet als Parameter einen String, d.\,h.\ einen Zeiger auf \lstinline{char}. + Der übergebene Parameter \lstinline{numbers} ist hingegen + der Name eines Arrays und somit kompatibel zu Zeigern auf Elemente des Arrays, + also auf \lstinline{uint16_t}, insbesondere nicht auf \lstinline{char}. + + \item + \textbf{Erklären Sie die Ausgabe des Programms.\\ + Welche Endianness hat der verwendete Rechner?} + + Die Funktion \lstinline{printf()} + hat einen Zeiger auf das Array \lstinline{numbers} übergeben bekommen, + gibt aber den String \lstinline{"Hello, world!\n"} aus. + Demnach muß sich in den Speicherzellen des Arrays dieser String befinden: + \begin{center} + \begin{picture}(14,1.5)(0,-0.5) + \put(0,0){\line(1,0){14}} + \put(0,1){\line(1,0){14}} + \multiput(0,0)(1,0){15}{\line(0,1){1}} + \put(0.35,0.38){\lstinline{'H'}} + \put(1.35,0.38){\lstinline{'e'}} + \put(2.35,0.38){\lstinline{'l'}} + \put(3.35,0.38){\lstinline{'l'}} + \put(4.35,0.38){\lstinline{'o'}} + \put(5.35,0.38){\lstinline{','}} + \put(6.35,0.38){\lstinline{' '}} + \put(7.35,0.38){\lstinline{'w'}} + \put(8.35,0.38){\lstinline{'o'}} + \put(9.35,0.38){\lstinline{'r'}} + \put(10.35,0.38){\lstinline{'l'}} + \put(11.35,0.38){\lstinline{'d'}} + \put(12.35,0.38){\lstinline{'!'}} + \put(13.30,0.38){\lstinline{'\\n'}} + \put(1.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{\lstinline{numbers[0]}}}$}} + \put(3.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{\lstinline{numbers[1]}}}$}} + \put(5.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{\lstinline{numbers[2]}}}$}} + \put(7.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{\lstinline{numbers[3]}}}$}} + \put(9.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{\lstinline{numbers[4]}}}$}} + \put(11.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{\lstinline{numbers[5]}}}$}} + \put(13.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{\lstinline{numbers[6]}}}$}} + \end{picture} + \end{center} + + \goodbreak + + Wenn wir die Zeichen gemäß ASCII in Hexadezimalzahlen umrechnen, erhalten wir: + \begin{center} + \begin{picture}(14,1.5)(0,-0.5) + \put(0,0){\line(1,0){14}} + \put(0,1){\line(1,0){14}} + \multiput(0,0)(1,0){15}{\line(0,1){1}} + \put(0.5,0.5){\makebox(0,0){\lstinline{0x48}}} + \put(1.5,0.5){\makebox(0,0){\lstinline{0x65}}} + \put(2.5,0.5){\makebox(0,0){\lstinline{0x6c}}} + \put(3.5,0.5){\makebox(0,0){\lstinline{0x6c}}} + \put(4.5,0.5){\makebox(0,0){\lstinline{0x6f}}} + \put(5.5,0.5){\makebox(0,0){\lstinline{0x2c}}} + \put(6.5,0.5){\makebox(0,0){\lstinline{0x20}}} + \put(7.5,0.5){\makebox(0,0){\lstinline{0x77}}} + \put(8.5,0.5){\makebox(0,0){\lstinline{0x6f}}} + \put(9.5,0.5){\makebox(0,0){\lstinline{0x72}}} + \put(10.5,0.5){\makebox(0,0){\lstinline{0x6c}}} + \put(11.5,0.5){\makebox(0,0){\lstinline{0x64}}} + \put(12.5,0.5){\makebox(0,0){\lstinline{0x21}}} + \put(13.5,0.5){\makebox(0,0){\lstinline{0x0a}}} + \put(1.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{\lstinline{numbers[0]}}}$}} + \put(3.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{\lstinline{numbers[1]}}}$}} + \put(5.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{\lstinline{numbers[2]}}}$}} + \put(7.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{\lstinline{numbers[3]}}}$}} + \put(9.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{\lstinline{numbers[4]}}}$}} + \put(11.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{\lstinline{numbers[5]}}}$}} + \put(13.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{\lstinline{numbers[6]}}}$}} + \end{picture} + \end{center} + + Auf einem Big-Endian-Rechner gälte dann: + \begin{lstlisting} + numbers[0] = 0x4865 = 18533 + numbers[1] = 0x6c6c = 27756 + numbers[2] = 0x6f2c = 28460 + numbers[3] = 0x2077 = 8311 + numbers[4] = 0x6f72 = 28530 + numbers[5] = 0x6c64 = 27748 + numbers[6] = 0x210a = 8458 + \end{lstlisting} + Dies stimmt nicht mit dem Quelltext des Programms überein. + + Auf einem Little-Endian-Rechner gälte dann: + \begin{lstlisting} + numbers[0] = 0x6548 = 25928 + numbers[1] = 0x6c6c = 27756 + numbers[2] = 0x2c6f = 11375 + numbers[3] = 0x7720 = 30496 + numbers[4] = 0x726f = 29295 + numbers[5] = 0x646c = 25708 + numbers[6] = 0x0a21 = 2593 + \end{lstlisting} + Dies stimmt mit dem Quelltext des Programms überein. + + Zusammenfassung: \lstinline{printf()} interpretiert die Speicherzellen + des Arrays \lstinline{numbers} als ASCII-Zeichen. + Wenn man die Zahlen Little-Endian im Speicher ablegt, + ergibt sich daraus der String \lstinline{"Hello, world!\n"}. + Der verwendete Rechner hat daher insbesondere die Endianness Little-Endian. + + Die oben nicht dargestellte Zahl \lstinline{numbers[7]} enthält eine Null. + Diese dient als Ende-Markierung des Strings + und sieht in Big-Endian und in Little-Endian gleich aus + (\lstinline{0x00 0x00}). + + \item + \textbf{Erklären Sie die Ausgabe des Programms, + wenn Sie den Datentyp \lstinline{uint16_t} durch \lstinline{uint32_t} ersetzen.} + + Die Ausgabe lautet dann: \lstinline[style=terminal]{He}. + + Wenn wir 32-Bit-Zahlen mit 16-Bit-Werten initialisieren, + werden die Zahlen von links mit Nullen aufgefüllt. + Auf einem Little-Endian-Rechner bedeutet das, + daß sie rechts angehängt werden. + Nachfolgende Speicherzellen enthalten daher Nullen: + \begin{center} + \begin{picture}(13,1.5)(0,-0.5) + \put(0,0){\line(1,0){13}} + \put(0,1){\line(1,0){13}} + \multiput(0,0)(1,0){14}{\line(0,1){1}} + \put(0.35,0.38){\lstinline{'H'}} + \put(1.35,0.38){\lstinline{'e'}} + \put(2.5,0.5){\makebox(0,0){\lstinline{0x00}}} + \put(3.5,0.5){\makebox(0,0){\lstinline{0x00}}} + \put(4.35,0.38){\lstinline{'l'}} + \put(5.35,0.38){\lstinline{'l'}} + \put(6.5,0.5){\makebox(0,0){\lstinline{0x00}}} + \put(7.5,0.5){\makebox(0,0){\lstinline{0x00}}} + \put(8.35,0.38){\lstinline{'o'}} + \put(9.35,0.38){\lstinline{','}} + \put(10.5,0.5){\makebox(0,0){\lstinline{0x00}}} + \put(11.5,0.5){\makebox(0,0){\lstinline{0x00}}} + \put(12.2,0.38){usw.} + \put(2.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{3.95cm}{0pt}}_{\mbox{\lstinline{numbers[0]}}}$}} + \put(6.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{3.95cm}{0pt}}_{\mbox{\lstinline{numbers[1]}}}$}} + \put(10.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{3.95cm}{0pt}}_{\mbox{\lstinline{numbers[2]}}}$}} + \end{picture} + \end{center} + Die Funktion \lstinline{printf()} interpretiert das Null-Zeichen + hinter \lstinline[style=terminal]{He} als String-Ende-Markierung + und hört entsprechend an dieser Stelle mit der Ausgabe auf. + + \item + \textbf{Erklären Sie die Ausgabe des Programms + und die beim Compilieren auftretenden Warnungen, + wenn Sie den Datentyp \lstinline{uint16_t} durch \lstinline{uint8_t} ersetzen. + Warum tritt die Warnung aus den vorherigen Aufgabenteilen nicht mehr auf?} + + Die Ausgabe lautet: \lstinline[style=terminal]{Hlo ol!}. Sie enthält + nur jeden zweiten Buchstaben des Strings \lstinline{"Hello, world!"}. + + Die Warnungen lauten: + \begin{lstlisting}[style=terminal] + aufgabe-2d.c:6:25: warning: unsigned conversion from 'int' to + 'unsigned char' changes value from '25928' to '72' [-Woverflow] + aufgabe-2d.c:6:32: warning: unsigned conversion from 'int' to + 'unsigned char' changes value from '27756' to '108' [-Woverflow] + ... + \end{lstlisting} + Die Warnungen kommen daher, daß \lstinline{uint8_t}-Variable + nur vorzeichenlose 8-Bit-Zahlen, also Zahlen von 0 bis 255, aufnehmen können. + Zusätzliche Bits werden abgeschnitten. + + Im Falle der ersten Zahl \lstinline{25928}, die ja die Buchstaben + \lstinline{'H'} und \lstinline{'e'} enthält, + sind die unteren 8 Bit allein das \lstinline{'H'} (ASCII-Wert: 72). + Daher landet auch nur das \lstinline{'H'} im Array. + + Die zweite Zahl \lstinline{27756}, die die nächsten beiden Buchstaben + (beide \lstinline{'l'}) enthält, wird als \lstinline{108} gespeichert, + also nur als ein einzelnes \lstinline{'l'}. + + Dies setzt sich über alle 16-Bit-Zahlen fort und erklärt, + wieso nur jeder zweite Buchstabe in der Ausgabe erscheint. + + Die Warnung aus den vorherigen Aufgabenteilen tritt hier nicht mehr auf. + Dies liegt daran, daß \lstinline{printf()} ein Array + von \lstinline{char}-Variablen erwartet + und ein Array von \lstinline{uint8_t}-Variablen bekommt. + \lstinline{char}-Variable haben typischerweise 8 Bit und sind daher kompatibel + mit \lstinline{uint8_t}-Variablen. + + \end{enumerate} + +\iffalse + + \exercise{Allgemeine Sortierfunktion} + + Ein Zeiger auf \lstinline{void} ist ein \emph{generischer Zeiger}, + der auch ohne explizite Typumwandlung zu allen anderen Zeigertypen + zuweisungskompatibel ist. + + Wir betrachten das folgende Fragment (\file{aufgabe-3.c}) + eines Sortier-Programms: + \begin{lstlisting} + #include <stdio.h> + + void sort (void **data, int (*compare) (void *x1, void *x2)) + { + for (int i = 0; data[i]; i++) + for (int j = i + 1; data[j]; j++) + if (compare (data[i], data[j]) > 0) + { + void *tmp = data[i]; + data[i] = data[j]; + data[j] = tmp; + } + } + + [...] + + int main (void) + { + char *strings[] = { "Thomas", "Dora", "Konrad", "Adalbert", "Sophie", NULL }; + sort (strings, compare_strings); + for (int i = 0; strings[i]; i++) + printf ("%s\n", strings[i]); + + printf ("\n"); + + int two = 2, ten = 10, zero = 0, three = 3, one = 1; + int *numbers[] = { &two, &ten, &zero, &three, &one, NULL }; + sort (numbers, compare_numbers); + for (int i = 0; numbers[i]; i++) + printf ("%d\n", *numbers[i]); + + return 0; + } + \end{lstlisting} + + Dieses Programm stellt eine allgemeine Sortier-Funktion \lstinline{sort} zur Verfügung, + die prinzipiell beliebige Arrays sortieren kann + -- also z.\,B.\ sowohl Strings als auch Zahlen. + + \begin{enumerate}[\quad(a)] + \item + Erklären Sie die Struktur des Arrays \lstinline{numbers}. + Was ist in dem Array gespeichert, und wo befinden sich die Zahlen? + Was ist der Unterschied zwischen \lstinline{&zero} und dem Wert \lstinline{NULL}? + \points{3} +% \workspace{15} + \item + Was bedeutet \lstinline{int (*compare) (void *x1, void *x2)}, + und für welchen Zweck wird es verwendet?\\ + Stellen Sie einen Bezug zur objektorientierten Programmierung her. + \points{3} +% \workspace{12} + \item + Was kann passieren, wenn man in den Arrays auf das letzte Element \lstinline{NULL} verzichtet + und warum?\\ + \points{1} +% \workspace{8} + \item + Ergänzen Sie das Fragment zu einem funktionsfähigen Programm, + das beide Arrays \lstinline{strings} und \lstinline{numbers} + sortiert ausgibt. + \points{5} + + Abgabe über das Klausur-WLAN oder auf Datenträger ist erwünscht, + aber nicht zwingend. + Für Notizen verwenden Sie nötigenfalls + die Rückseite des letzten Klausurbogens und/oder zusätzliche Blätter. + \end{enumerate} + + \exercise{PBM-Grafik} + + Bei einer PBM-Grafikdatei handelt es sich + um ein abgespeichertes C-Array von Bytes (\lstinline{uint8_t}), + das die Bildinformationen enthält: + \begin{itemize}\itemsep0pt + \item Die Datei beginnt mit der Kennung \lstinline{P4}, + danach folgen Breite und Höhe in Pixel als ASCII-Zahlen, + danach ein Trennzeichen und die eigentlichen Bilddaten. + \item Jedes Bit entspricht einem Pixel. + \item Nullen stehen für Weiß, Einsen für Schwarz. + \item MSB first. + \item Jede Zeile des Bildes wird auf ganze Bytes aufgefüllt. + \end{itemize} + Viele Grafikprogramme können PBM-Dateien öffnen und bearbeiten. + Der Anfang der Datei (Kennung, Breite und Höhe) + ist auch in einem Texteditor lesbar. + + Beispiel (\file{aufgabe-4.pbm}):\hfill + \makebox(0,0)[tr]{\framebox{\includegraphics[scale=3]{aufgabe-4.png}}} + \begin{lstlisting} + P4 + 14 14 + <Bilddaten> + \end{lstlisting} + + In dem untenstehenden Programmfragment (\file{aufgabe-4.c}) + wird eine Grafik aus Textzeilen zusammengesetzt, + so daß man mit einem Texteditor "`malen"' kann: + \begin{lstlisting} + #include <stdio.h> + + [...] + + int main (void) + { + pbm_open (14, 14, "test.pbm"); + pbm_line (" "); + pbm_line (" XXXXXX "); + pbm_line (" X X "); + pbm_line (" X X "); + pbm_line (" X X "); + pbm_line (" X XX XX X "); + pbm_line (" X X X X "); + pbm_line (" X X "); + pbm_line (" X X X X "); + pbm_line (" X X X X "); + pbm_line (" X XXXX X "); + pbm_line (" X X "); + pbm_line (" XXXXXX "); + pbm_line (" "); + pbm_close (); + return 0; + } + \end{lstlisting} + Ergänzen Sie das Programmfragment so, + daß es eine Datei \file{test.pbm} erzeugt, + die die Grafik enthält. + + Das Programm soll typische Benutzerfehler abfangen + (z.\,B.\ weniger Zeilen als in \lstinline{pbm_open} angegeben), + keine fehlerhaften Ausgaben produzieren oder abstürzen, + sondern stattdessen sinnvolle Fehlermeldungen ausgeben. + + Zum Vergleich liegt eine Datei \file{aufgabe-4.pbm} + mit dem gewünschten Ergebnis bei,\\ + und die Datei \file{aufgabe-4.png} enthält dasselbe Bild. + + \points{10} + + Abgabe über das Klausur-WLAN oder auf Datenträger ist erwünscht, + aber nicht zwingend. + Für Notizen verwenden Sie nötigenfalls + die Rückseite des letzten Klausurbogens und/oder zusätzliche Blätter. + +\fi + +\end{document} -- GitLab