From 71236ca25b01015c13f6226ff03ec5ab1dd2bd34 Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Thu, 5 Dec 2019 14:35:50 +0100 Subject: [PATCH] =?UTF-8?q?Musterl=C3=B6sung=2028.11.2019?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 20191128/dates.c | 63 ++++++ 20191128/dates.h | 10 + 20191128/hp-musterloesung-20191121.pdf | Bin 0 -> 55599 bytes 20191128/hp-musterloesung-20191121.tex | 278 +++++++++++++++++++++++++ 20191128/test-dates.c | 42 ++++ 20191128/test-textgraph.c | 36 ++++ 20191128/textgraph.c | 46 ++++ 20191128/textgraph.h | 12 ++ 8 files changed, 487 insertions(+) create mode 100644 20191128/dates.c create mode 100644 20191128/dates.h create mode 100644 20191128/hp-musterloesung-20191121.pdf create mode 100644 20191128/hp-musterloesung-20191121.tex create mode 100644 20191128/test-dates.c create mode 100644 20191128/test-textgraph.c create mode 100644 20191128/textgraph.c create mode 100644 20191128/textgraph.h diff --git a/20191128/dates.c b/20191128/dates.c new file mode 100644 index 0000000..97a49fe --- /dev/null +++ b/20191128/dates.c @@ -0,0 +1,63 @@ +#include <stdio.h> +#include "dates.h" + +int is_leap_year (int year) +{ + if (year % 4 == 0) + if (year % 100 == 0) + if (year % 400 == 0) + return 1; + else + return 0; + else + return 1; + else + return 0; +} + +int days_in_month (int month, int year) +{ + if (month == 2) + if (is_leap_year (year)) + return 29; + else + return 28; + else if (month == 4 || month == 6 || month == 9 || month == 11) + return 30; + else + return 31; +} + +void date_print (date *d) +{ + printf ("%02d.%02d.%04d", d->day, d->month, d->year); +} + +int date_set (date *d, char day, char month, int year) +{ + d->year = year; + if (month > 0 && month <= 12) + d->month = month; + else + return 0; + if (day > 0 && day <= days_in_month (month, year)) + d->day = day; + else + return 0; + return 1; +} + +void date_next (date *d) +{ + d->day++; + if (d->day > days_in_month (d->month, d->year)) + { + d->month++; + d->day = 1; + if (d->month > 12) + { + d->year++; + d->month = 1; + } + } +} diff --git a/20191128/dates.h b/20191128/dates.h new file mode 100644 index 0000000..1f931a6 --- /dev/null +++ b/20191128/dates.h @@ -0,0 +1,10 @@ +typedef struct +{ + char day, month; + int year; +} +date; + +extern void date_print (date *d); +extern int date_set (date *d, char day, char month, int year); +extern void date_next (date *d); diff --git a/20191128/hp-musterloesung-20191121.pdf b/20191128/hp-musterloesung-20191121.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a8adbf2b369d7073ba44f6aa9791ac4bb8d4ac2d GIT binary patch literal 55599 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 UMX70Arly8w23)GDuKsRZ05gp01poj5 literal 0 HcmV?d00001 diff --git a/20191128/hp-musterloesung-20191121.tex b/20191128/hp-musterloesung-20191121.tex new file mode 100644 index 0000000..fcfee6b --- /dev/null +++ b/20191128/hp-musterloesung-20191121.tex @@ -0,0 +1,278 @@ +% hp-musterloesung-20191128.pdf - Solutions to the Exercises on Low-Level Programming +% 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: Datum-Bibliothek, Text-Grafik-Bibliothek, LED-Blinkmuster + +\documentclass[a4paper]{article} + +\usepackage{pgscript} +\usepackage{sfmath} + +\begin{document} + + \section*{Hardwarenahe Programmierung\\ + Musterlösung zu den Übungsaufgaben -- 28.\ November 2019} + + \exercise{Datum-Bibliothek} + + Zerlegen Sie die Datum-Bibliothek aus der Übungsaufgabe 2 vom 7.\,11.\,2019 + in eine \file{.c}- und eine \file{.h}-Datei. \points{4} + + Hinweis: Schreiben Sie zusätzlich ein Test-Programm. + + \solution + + Die Dateien \gitfile{hp}{20191128}{dates.c} und \gitfile{hp}{20191128}{dates.h} enthalten die Bibliothek, + die Datei \gitfile{hp}{20191128}{test-dates.c} ein Programm zum Testen der Bibliothek. + + \exercise{Text-Grafik-Bibliothek} + + Schreiben Sie eine Bibliothek für "`Text-Grafik"' mit folgenden Funktionen:\vspace*{-\medskipamount} + \begin{itemize} + \item + \lstinline|void clear (char c)|\\ + Bildschirm auf Zeichen \lstinline|c| löschen,\\ + also komplett mit diesem Zeichen (z.\,B.: Leerzeichen) füllen + \item + \lstinline|void put_point (int x, int y, char c)|\\ + Punkt setzen (z.\,B.\ einen Stern (\lstinline{*}) an die Stelle $(x,y)$ "`malen"') + \item + \lstinline|char get_point (int x, int y)|\\ + Punkt lesen +% \item +% \lstinline|void fill (int x, int y, char c, char o)|\\ +% Fläche in der "`Farbe"' \lstinline|o|, +% die den Punkt \lstinline|(x, y)| enthält, +% mit der "`Farbe"' \lstinline|c| ausmalen + \item + \lstinline|void display (void)|\\ + das Gezeichnete auf dem Bildschirm ausgeben + \end{itemize} + + Hinweise:\vspace*{-\medskipamount} + \begin{itemize} + \item + Eine C-Bibliothek besteht aus (mindestens) + einer \file{.h}-Datei und einer \file{.c}-Datei. + \item + Verwenden Sie ein Array als "`Bildschirm"'. + + Vor dem Aufruf der Funktion \lstinline|display()| ist nichts zu sehen;\\ + alle Grafikoperationen erfolgen auf dem Array. + \item + Verwenden Sie Präprozessor-Konstante, + z.\,B.\ \lstinline{WIDTH} und \lstinline{HEIGHT},\\ + um Höhe und Breite des "`Bildschirms"' festzulegen: + \begin{lstlisting}[gobble=8] + #define WIDTH 72 + #define HEIGHT 24 + \end{lstlisting} + \item + Schreiben Sie zusätzlich ein Test-Programm, + das alle Funktionen der Bibliothek benutzt,\\ + um ein hübsches Bild (z.\,B.\ ein stilisiertes Gesicht -- "`Smiley"') + auszugeben. + \end{itemize} + \points{8} + + \solution + + Siehe die Dateien \gitfile{hp}{20191128}{textgraph.c} und \gitfile{hp}{20191128}{textgraph.h} (Bibliothek) + sowie \gitfile{hp}{20191128}{test-textgraph.c} (Test-Programm). + + Diese Lösung erfüllt zusätzlich die Aufgabe, + bei fehlerhafter Benutzung (Koordinaten außerhalb des Zeichenbereichs) + eine sinnvolle Fehlermeldung auszugeben, + anstatt unkontrolliert Speicher zu überschreiben und abzustürzen. + + Das Schlüsselwort \lstinline{static} + bei der Deklaration der Funktion \lstinline{check_coordinates()} + bedeutet, daß diese Funktion nur lokal (d.\,h.\ innerhalb der Bibliothek) + verwendet und insbesondere nicht nach außen + (d.\,h.\ für die Benutzung durch das Hauptprogramm) exportiert wird. + Dies dient dazu, nicht unnötig Bezeichner zu reservieren + (Vermeidung von "`Namensraumverschmutzung"'). + + Man beachte die Verwendung einfacher Anführungszeichen (Apostrophe) + bei der Angabe von \lstinline{char}-Kon"-stanten (\lstinline{'*'}) + im Gegensatz zur Verwendung doppelter Anführungszeichen + bei der Angabe von String-Konstanten + (String = Array von \lstinline{char}s, abgeschlossen mit Null-Symbol). + Um das einfache Anführungszeichen selbst als \lstinline{char}-Konstante anzugeben, + ist ein vorangestellter Backslash erforderlich: \lstinline{'\''} ("`Escape-Sequenz"'). + Entsprechendes gilt für die Verwendung doppelter Anführungszeichen + innerhalb von String-Konstanten: + \lstinline{printf ("Your name is: \"%s\"", name);} + + \exercise{LED-Blinkmuster} + + Wir betrachten das folgende Programm für einen ATmega32-Mikro-Controller + (Datei: \gitfile{hp}{20191128}{aufgabe-3.c}). + + \begin{minipage}[t]{7cm} + \begin{lstlisting}[gobble=6] + #include <stdint.h> + #include <avr/io.h> + #include <avr/interrupt.h> + + uint8_t counter = 1; + uint8_t leds = 0; + + ISR (TIMER0_COMP_vect) + { + if (counter == 0) + { + leds = (leds + 1) % 8; + PORTC = leds << 4; + } + counter++; + } + \end{lstlisting} + \end{minipage}\hfill\begin{minipage}[t]{8.5cm} + \begin{lstlisting}[gobble=6] + void init (void) + { + cli (); + TCCR0 = (1 << CS01) | (1 << CS00); + TIMSK = 1 << OCIE0; + sei (); + DDRC = 0x70; + } + + int main (void) + { + init (); + while (1) + ; /* do nothing */ + return 0; + } + \end{lstlisting} + \end{minipage} + + An die Bits Nr.\ 4, 5 und 6 des Output-Ports C des Mikro-Controllers sind LEDs angeschlossen.\\ + Sobald das Programm läuft, blinken diese in charakteristischer Weise: + \begin{quote} + \newcommand{\tdn}[1]{\raisebox{-2pt}{#1}} + \begin{tabular}{|c|c|c|c|}\hline + \tdn{Phase} & \tdn{LED oben (rot)} & \tdn{LED Mitte (gelb)} & \tdn{LED unten (grün)} \\[2pt]\hline + 1 & aus & aus & an \\\hline + 2 & aus & an & aus \\\hline + 3 & aus & an & an \\\hline + 4 & an & aus & aus \\\hline + 5 & an & aus & an \\\hline + 6 & an & an & aus \\\hline + 7 & an & an & an \\\hline + 8 & aus & aus & aus \\\hline + \end{tabular} + \end{quote} + Jede Phase dauert etwas länger als eine halbe Sekunde. + Nach 8 Phasen wiederholt sich das Schema. + + Erklären Sie das Verhalten des Programms anhand des Quelltextes: + \vspace{-\medskipamount} + \begin{itemize}\itemsep0pt + \item[(a)] + Wieso macht das Programm überhaupt etwas, + wenn doch das Hauptprogramm nach dem Initialisieren lediglich eine Endlosschleife ausführt, + in der \emph{nichts} passiert? + \points{1} + \item[(b)] + Wieso wird die Zeile \lstinline|PORTC = leds << 4;| überhaupt aufgerufen, + wenn dies doch nur unter der Bedingung \lstinline|counter == 0| passiert, + wobei die Variable \lstinline|counter| auf 1 initialisiert, + fortwährend erhöht und nirgendwo zurückgesetzt wird? + \points{2} + \item[(c)] + Wie kommt das oben beschriebene Blinkmuster zustande? + \points{2} + \item[(d)] + Wieso dauert eine Phase ungefähr eine halbe Sekunde? + \points{2} + \item[(e)] + Was bedeutet "`\lstinline|ISR (TIMER0_COMP_vect)|"'? + \points{1} + \end{itemize} + + \goodbreak + Hinweis: + \vspace{-\medskipamount} + \begin{itemize}\itemsep0pt + \item + Die Funktion \lstinline|init()| sorgt dafür, daß der Timer-Interrupt Nr.\ 0 des Mikro-Controllers + etwa 488mal pro Sekunde aufgerufen wird. + Außerdem initialisiert sie die benötigten Bits an Port C als Output-Ports. + Sie selbst brauchen die Funktion \lstinline|init()| nicht weiter zu erklären. + \end{itemize} + + \solution + + \begin{itemize}\itemsep0pt + \item[(a)] + \textbf{Wieso macht das Programm überhaupt etwas, + wenn doch das Hauptprogramm nach dem Initialisieren lediglich eine Endlosschleife ausführt, + in der \emph{nichts} passiert?} + + Das Blinken wird durch einen Interrupt-Handler implementiert. + Dieser wird nicht durch das Hauptprogramm, + sondern durch ein Hardware-Ereignis (hier: Uhr) aufgerufen. + + \item[(b)] + \textbf{Wieso wird die Zeile \lstinline|PORTC = leds << 4;| überhaupt aufgerufen, + wenn dies doch nur unter der Bedingung \lstinline|counter == 0| passiert, + wobei die Variable \lstinline|counter| auf 1 initialisiert, + fortwährend erhöht und nirgendwo zurückgesetzt wird?} + + Die vorzeichenlose 8-Bit-Variable \lstinline{counter} kann nur + Werte von 0 bis 255 annehmen; bei einem weiteren + INkrementieren springt sie wieder auf 0 (Überlauf), + und die \lstinline{if}-Bedingung ist erfüllt. + + \item[(c)] + \textbf{Wie kommt das oben beschriebene Blinkmuster zustande?} + + In jedem Aufruf des Interrupt-Handlers wird die Variable + \lstinline{leds} um 1 erhöht und anschließend modulo 8 genommen. + Sie durchläuft daher immer wieder die Zahlen von 0 bis 7. + + Durch die Schiebeoperation \lstinline{leds << 4} werden die 3 Bits + der Variablen \lstinline{leds} an diejenigen Stellen im Byte + geschoben, an denen die LEDs an den Mikro-Controller + angeschlossen sind (Bits 4, 5 und 6). + + Entsprechend durchläuft das Blinkmuster immer wieder + die Binärdarstellungen der Zahlen von 0 bis 7 + (genauer: von 1 bis 7 und danach 0). + + \item[(d)] + \textbf{Wieso dauert eine Phase ungefähr eine halbe Sekunde?} + + Der Interrupt-Handler wird gemäß Hinweis 488mal pro Sekunde aufgerufen. + Bei jedem 256sten Aufruf ändert sich das LED-Muster. + Eine Phase dauert somit $\frac{256}{488} \approx 0.52$ Sekunden. + + \item[(e)] + \textbf{Was bedeutet "`\lstinline|ISR (TIMER0_COMP_vect)|"'?} + + Deklaration eines Interrupt-Handlers für den Timer-Interrupt Nr.\ 0 + \end{itemize} + +\end{document} diff --git a/20191128/test-dates.c b/20191128/test-dates.c new file mode 100644 index 0000000..5127c11 --- /dev/null +++ b/20191128/test-dates.c @@ -0,0 +1,42 @@ +#include <stdio.h> +#include "dates.h" + +void check (char day, char month, int year) +{ + date d; + if (date_set (&d, day, month, year)) + { + date_print (&d); + printf (" --> "); + date_next (&d); + date_print (&d); + printf ("\n"); + } + else + printf ("%02d.%02d.%04d: invalid date\n", day, month, year); +} + +int main (void) +{ + check (6, 11, 2016); + check (29, 11, 2016); + check (30, 11, 2016); + check (31, 11, 2016); + check (29, 12, 2016); + check (30, 12, 2016); + check (31, 12, 2016); + check (28, 2, 2016); + check (29, 2, 2016); + check (30, 2, 2016); + check (28, 2, 2015); + check (29, 2, 2015); + check (30, 2, 2015); + check (31, 12, 2008); + check (28, 2, 2000); + check (29, 2, 2000); + check (30, 2, 2000); + check (28, 2, 1900); + check (29, 2, 1900); + check (30, 2, 1900); + return 0; +} diff --git a/20191128/test-textgraph.c b/20191128/test-textgraph.c new file mode 100644 index 0000000..4033f61 --- /dev/null +++ b/20191128/test-textgraph.c @@ -0,0 +1,36 @@ +#include <stdio.h> +#include "textgraph.h" + +int main (void) +{ + clear (' '); + put_point (-5, 10, 'X'); + for (int i = 17; i < 23; i++) + put_point (i, 5, '*'); + put_point (15, 6, '*'); + put_point (14, 7, '*'); + put_point (13, 8, '*'); + put_point (13, 9, '*'); + put_point (14, 10, '*'); + put_point (15, 11, '*'); + for (int i = 17; i < 23; i++) + put_point (i, 12, '*'); + put_point (24, 11, '*'); + put_point (25, 10, '*'); + put_point (26, 9, '*'); + put_point (26, 8, '*'); + put_point (25, 7, '*'); + put_point (24, 6, '*'); + put_point (18, 8, 'O'); + put_point (21, 8, 'O'); + put_point (17, 10, '`'); + for (int i = 18; i < 22; i++) + put_point (i, 10, '-'); + put_point (22, 10, '\''); + put_point (13, 42, 'Y'); + printf ("get_point (%d, %d): '%c'\n", 13, 9, get_point (13, 9)); + printf ("get_point (%d, %d): '%c'\n", 14, 9, get_point (14, 9)); + printf ("get_point (%d, %d): '%c'\n", 94, 9, get_point (94, 9)); + display (); + return 0; +} diff --git a/20191128/textgraph.c b/20191128/textgraph.c new file mode 100644 index 0000000..a17f9a9 --- /dev/null +++ b/20191128/textgraph.c @@ -0,0 +1,46 @@ +#include <stdio.h> +#include "textgraph.h" + +char buffer[HEIGHT][WIDTH]; + +void clear (char c) +{ + for (int y = 0; y < HEIGHT; y++) + for (int x = 0; x < WIDTH; x++) + buffer[y][x] = c; +} + +static int check_coordinates (int x, int y, char *function) +{ + if (x >= 0 && x < WIDTH && y >= 0 && y < HEIGHT) + return 1; + else + { + fprintf (stderr, "coordinates (%d,%d) out of range in %s\n", x, y, function); + return 0; + } +} + +void put_point (int x, int y, char c) +{ + if (check_coordinates (x, y, "put_point")) + buffer[y][x] = c; +} + +char get_point (int x, int y) +{ + if (check_coordinates (x, y, "get_point")) + return buffer[y][x]; + else + return 0; +} + +void display (void) +{ + for (int y = 0; y < HEIGHT; y++) + { + for (int x = 0; x < WIDTH; x++) + printf ("%c", buffer[y][x]); + printf ("\n"); + } +} diff --git a/20191128/textgraph.h b/20191128/textgraph.h new file mode 100644 index 0000000..419e0fb --- /dev/null +++ b/20191128/textgraph.h @@ -0,0 +1,12 @@ +#ifndef TEXTGRAPH_H +#define TEXTGRAPH_H + +#define WIDTH 40 +#define HEIGHT 20 + +extern void clear (char c); +extern void put_point (int x, int y, char c); +extern char get_point (int x, int y); +extern void display (void); + +#endif -- GitLab