diff --git a/20231116/hp-20231116.pdf b/20231116/hp-20231116.pdf
index 5d8ad8c7c024d23614889e9a42d51a264e8407d6..0b5959d27419f80c0d8be603431b3f1a1130897c 100644
Binary files a/20231116/hp-20231116.pdf and b/20231116/hp-20231116.pdf differ
diff --git a/20231116/hp-20231116.tex b/20231116/hp-20231116.tex
index e10f6c2aa8d43c8ad9c6ec02dbec81360e13cff4..d96bbf3f4148317038c074a825d4b0b7fc10af71 100644
--- a/20231116/hp-20231116.tex
+++ b/20231116/hp-20231116.tex
@@ -20,7 +20,7 @@
 % Attribution-ShareAlike 3.0 Unported License along with this
 % document.  If not, see <http://creativecommons.org/licenses/>.
 
-% README: Byte-Reihenfolge, Darstellung negativer Zahlen, Darstellung von Gleitkommazahlen, Speicherausrichtung
+% README: Byte-Reihenfolge, Darstellung negativer Zahlen, Darstellung von Gleitkommazahlen
 
 \documentclass[10pt,t]{beamer}
 
@@ -61,6 +61,7 @@
         \item[4.5] Byte-Reihenfolge -- Endianness
         \item[4.6] Binärdarstellung negativer Zahlen
         \item[4.7] Binärdarstellung von Gleitkommazahlen
+        \color{black}
         \item[4.8] Speicherausrichtung -- Alignment
       \end{itemize}
     \item[\textbf{5}] \textbf{Algorithmen}
@@ -547,6 +548,7 @@
         \item[4.5] Byte-Reihenfolge -- Endianness
         \item[4.6] Binärdarstellung negativer Zahlen
         \item[4.7] Binärdarstellung von Gleitkommazahlen
+        \color{black}
         \item[4.8] Speicherausrichtung -- Alignment
       \end{itemize}
     \item[\textbf{5}] \textbf{Algorithmen}
@@ -871,16 +873,18 @@
     \item
       Zahlen aufsummieren:\\
       vorher sortieren, mit der kleinsten Zahl beginnen
-    \item
-      Ableitungen bilden:\\
-      Beim Bilden von Differenzquotienten\\
-      verliert man notwendigerweise an Präzision!\\
-      \textarrow\ Die Differenzen sehr sorgfältig auswählen.\\
-      \textarrow\ Am besten gar nicht ableiten, sondern integrieren.
+%    \item
+%      Ableitungen bilden:\\
+%      Beim Bilden von Differenzquotienten\\
+%      verliert man notwendigerweise an Präzision!\\
+%      \textarrow\ Die Differenzen sehr sorgfältig auswählen.\\
+%      \textarrow\ Am besten gar nicht ableiten, sondern integrieren.
   \end{itemize}
 
 \end{frame}
 
+\iffalse
+
 \subsection{Speicherausrichtung -- Alignment}
 
 \begin{frame}[fragile]
@@ -947,4 +951,6 @@
 
 \end{frame}
 
+\fi
+
 \end{document}
diff --git a/20231116/hp-musterloesung-20231116.pdf b/20231116/hp-musterloesung-20231116.pdf
index e1a8b074f3e986af2da73bb1c7491cc74eb1a684..429cab8899551fd68e5c426323d1bdff75083470 100644
Binary files a/20231116/hp-musterloesung-20231116.pdf and b/20231116/hp-musterloesung-20231116.pdf differ
diff --git a/20231116/hp-musterloesung-20231116.tex b/20231116/hp-musterloesung-20231116.tex
index 5e52b6fb67e9b3ece80d2034c1a923a7b9d77b1b..e3bcfb3ae99b4b11d79ebbb91714b75f532d496d 100644
--- a/20231116/hp-musterloesung-20231116.tex
+++ b/20231116/hp-musterloesung-20231116.tex
@@ -1,4 +1,4 @@
-% hp-musterloesung-20231109.pdf - Solutions to the Exercises on Low-Level Programming / Applied Computer Sciences
+% hp-musterloesung-20231116.pdf - Solutions to the Exercises on Low-Level Programming / Applied Computer Sciences
 % Copyright (C) 2013, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023  Peter Gerwinski
 %
 % This document is free software: you can redistribute it and/or
@@ -33,7 +33,7 @@
 \begin{document}
 
   \section*{Hardwarenahe Programmierung\\
-            Musterlösung zu den Übungsaufgaben -- 9.\ November 2023}
+            Musterlösung zu den Übungsaufgaben -- 16.\ November 2023}
 
   \exercise{Trickprogrammierung}
 
diff --git a/20231116/sum-01.c b/20231116/sum-01.c
new file mode 100644
index 0000000000000000000000000000000000000000..0362b2f512138c77dde1ae1cd5e113dba56ed301
--- /dev/null
+++ b/20231116/sum-01.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+#include <math.h>
+
+/* 1/1² + 1/2² + 1/3² + ... = pi²/6 */
+
+int main (void)
+{
+  float pi = M_PI;
+  printf ("%0.9f\n", pi * pi / 6.0);
+  float S = 0.0;
+  for (float x = 1; x <= 100; x++)
+    S += 1.0 / (x * x);
+  printf ("%0.9f\n", S);
+  return 0;
+}
diff --git a/20231116/sum-02.c b/20231116/sum-02.c
new file mode 100644
index 0000000000000000000000000000000000000000..c0fabe8394e2c1cb6619a0ba817ae4a7b2b67670
--- /dev/null
+++ b/20231116/sum-02.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+#include <math.h>
+
+/* 1/1² + 1/2² + 1/3² + ... = pi²/6 */
+
+int main (void)
+{
+  float pi = M_PI;
+  printf ("%0.9f\n", pi * pi / 6.0);
+  float S = 0.0;
+  for (float x = 1; x <= 1000000; x++)
+    S += 1.0 / (x * x);
+  printf ("%0.9f\n", S);
+  return 0;
+}
diff --git a/20231116/sum-03.c b/20231116/sum-03.c
new file mode 100644
index 0000000000000000000000000000000000000000..472d8b7cb1fd74ac102e4a662ce7d27dfce1eb8a
--- /dev/null
+++ b/20231116/sum-03.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+#include <math.h>
+
+/* 1/1² + 1/2² + 1/3² + ... = pi²/6 */
+
+int main (void)
+{
+  float pi = M_PI;
+  printf ("%0.9f\n", pi * pi / 6.0);
+  float S = 0.0;
+  for (float x = 1; x <= 10000000; x++)  /* ca. 1/20 s Rechenzeit */
+    S += 1.0 / (x * x);
+  printf ("%0.9f\n", S);
+  return 0;
+}
diff --git a/20231116/sum-04.c b/20231116/sum-04.c
new file mode 100644
index 0000000000000000000000000000000000000000..c49d13aa687b7019d2b306e9f10f30da478d56f1
--- /dev/null
+++ b/20231116/sum-04.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+#include <math.h>
+
+/* 1/1² + 1/2² + 1/3² + ... = pi²/6 */
+
+int main (void)
+{
+  float pi = M_PI;
+  printf ("%0.9f\n", pi * pi / 6.0);
+  float S = 0.0;
+  for (float x = 1; x <= 100000000; x++)  /* erwarte: ca. 1/2 s Rechenzeit */
+    S += 1.0 / (x * x);
+  printf ("%0.9f\n", S);
+  return 0;
+}
diff --git a/20231116/sum-05.c b/20231116/sum-05.c
new file mode 100644
index 0000000000000000000000000000000000000000..8612524abcc79fa720193972d61b623ff750e443
--- /dev/null
+++ b/20231116/sum-05.c
@@ -0,0 +1,14 @@
+#include <stdio.h>
+
+int main (void)
+{
+  float x = 10000000;
+  printf ("%f\n", x);
+  x++;
+  printf ("%f\n", x);
+  x = 100000000;
+  printf ("%f\n", x);
+  x++;
+  printf ("%f\n", x);
+  return 0;
+}
diff --git a/20231116/sum-06.c b/20231116/sum-06.c
new file mode 100644
index 0000000000000000000000000000000000000000..477e087168ae5d43158edbf04261292b51ebb16d
--- /dev/null
+++ b/20231116/sum-06.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+#include <math.h>
+
+/* 1/1² + 1/2² + 1/3² + ... = pi²/6 */
+
+int main (void)
+{
+  float pi = M_PI;
+  printf ("%0.9f\n", pi * pi / 6.0);
+  float S = 0.0;
+  for (int i = 1; i <= 100000000; i++)  /* erwarte: ca. 1/2 s Rechenzeit */
+    S += 1.0 / (i * i);
+  printf ("%0.9f\n", S);
+  return 0;
+}
diff --git a/20231116/sum-07.c b/20231116/sum-07.c
new file mode 100644
index 0000000000000000000000000000000000000000..af482431387bbb2b7b4e17f8e5c658c759824322
--- /dev/null
+++ b/20231116/sum-07.c
@@ -0,0 +1,8 @@
+#include <stdio.h>
+
+int main (void)
+{
+  int i = 65536;
+  printf ("%d\n", i * i);
+  return 0;
+}
diff --git a/20231116/sum-09.c b/20231116/sum-09.c
new file mode 100644
index 0000000000000000000000000000000000000000..e2c732f2d878c76989bccbfd30f1ec3b38997e28
--- /dev/null
+++ b/20231116/sum-09.c
@@ -0,0 +1,25 @@
+#include <stdio.h>
+#include <math.h>
+
+/* 1/1² + 1/2² + 1/3² + ... = pi²/6 */
+
+int main (void)
+{
+  float pi = M_PI;
+  printf ("%0.9f\n", pi * pi / 6.0);
+  float S = 0.0;
+  for (int i = 1; i <= 100000000; i++)
+    {
+      float x = i;
+      S += 1.0 / (x * x);  /* kleine Zahl zu großer addieren: verschwindet */
+    }
+  printf ("%0.9f\n", S);
+  S = 0.0;
+  for (int i = 100000000; i >= 1; i--)  /* Zuerst die kleinen Zahlen addieren, dann die großen. */
+    {
+      float x = i;
+      S += 1.0 / (x * x);
+    }
+  printf ("%0.9f\n", S);
+  return 0;
+}
diff --git a/20231123/aufgabe-2.c b/20231123/aufgabe-2.c
new file mode 100644
index 0000000000000000000000000000000000000000..47595ef0658e94d76a42263e82200f94895cdeea
--- /dev/null
+++ b/20231123/aufgabe-2.c
@@ -0,0 +1,23 @@
+#include <stdio.h>
+#include <string.h>
+
+typedef struct
+{
+  char first_name[10];
+  char family_name[20];
+  char day, month;
+  int year;
+} person;
+
+int main (void)
+{
+  person sls;
+  sls.day = 26;
+  sls.month = 7;
+  sls.year = 1951;
+  strcpy (sls.first_name, "Sabine");
+  strcpy (sls.family_name, "Leutheusser-Schnarrenberger");
+  printf ("%s %s wurde am %d.%d.%d geboren.\n",
+          sls.first_name, sls.family_name, sls.day, sls.month, sls.year);
+  return 0;
+}
diff --git a/20231123/aufgabe-3.c b/20231123/aufgabe-3.c
new file mode 100644
index 0000000000000000000000000000000000000000..5b0cb23fdd5ee15a4403808c18d2104ed49caf3f
--- /dev/null
+++ b/20231123/aufgabe-3.c
@@ -0,0 +1,62 @@
+#include <gtk/gtk.h>
+
+#define WIDTH 320
+#define HEIGHT 240
+
+double t = 0.0;
+double dt = 0.2;
+
+int r = 5;
+
+double x = 10;
+double y = 200;
+double vx = 20;
+double vy = -60;
+double g = 9.81;
+
+gboolean draw (GtkWidget *widget, cairo_t *c, gpointer data)
+{
+  GdkRGBA blue = { 0.0, 0.5, 1.0, 1.0 };
+
+  gdk_cairo_set_source_rgba (c, &blue);
+  cairo_arc (c, x, y, r, 0, 2 * G_PI);
+  cairo_fill (c);
+
+  return FALSE;
+}
+
+gboolean timer (GtkWidget *widget)
+{
+  t += dt;
+  x += vx * dt;
+  y += vy * dt;
+  vx = vx;
+  vy = 0.5 * g * (t * t);
+  if (y + r >= HEIGHT)
+    vy = -vy * 0.9;
+  if (x + r >= WIDTH)
+    vx = -vx * 0.9;
+  if (x - r <= 0)
+    vx = -vx * 0.9;
+  gtk_widget_queue_draw_area (widget, 0, 0, WIDTH, HEIGHT);
+  g_timeout_add (50, (GSourceFunc) timer, widget);
+  return FALSE;
+}
+
+int main (int argc, char **argv)
+{
+  gtk_init (&argc, &argv);
+
+  GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_widget_show (window);
+  gtk_window_set_title (GTK_WINDOW (window), "Hello");
+  g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+
+  GtkWidget *drawing_area = gtk_drawing_area_new ();
+  gtk_widget_show (drawing_area);
+  gtk_container_add (GTK_CONTAINER (window), drawing_area);
+  gtk_widget_set_size_request (drawing_area, WIDTH, HEIGHT);
+
+  gtk_main ();
+  return 0;
+}
diff --git a/20231123/hp-20231123.pdf b/20231123/hp-20231123.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..721a2fe874f61111db02c6f2e18d0b937123a3ec
Binary files /dev/null and b/20231123/hp-20231123.pdf differ
diff --git a/20231123/hp-20231123.tex b/20231123/hp-20231123.tex
new file mode 100644
index 0000000000000000000000000000000000000000..1975ab620ce0aa95de87e6b30f9be90c46c309e7
--- /dev/null
+++ b/20231123/hp-20231123.tex
@@ -0,0 +1,883 @@
+% hp-20231123.pdf - Lecture Slides on Low-Level Programming
+% Copyright (C) 2012, 2013, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023  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: Speicherausrichtung, Algorithmen: Differentialgleichungen
+
+\documentclass[10pt,t]{beamer}
+
+\usepackage{pgslides}
+\usepackage{tikz}
+
+\newcommand{\redurl}[1]{\href{#1}{\color{red}\nolinkurl{#1}}}
+
+\title{Hardwarenahe Programmierung}
+\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski}
+\date{23.\ November 2023}
+
+\begin{document}
+
+\maketitleframe
+
+\title{Hardwarenahe Programmierung}
+
+\nosectionnonumber{\inserttitle}
+
+\begin{frame}
+
+  \shownosectionnonumber
+
+  \begin{itemize}
+    \item[\textbf{1}] \textbf{Einführung}
+      \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/hp}}}
+    \item[\textbf{2}] \textbf{Einführung in C}
+    \item[\textbf{3}] \textbf{Bibliotheken}
+    \item[\textbf{4}] \textbf{Hardwarenahe Programmierung}
+      \begin{itemize}
+        \item[4.1] Bit-Operationen
+        \item[4.2] I/O-Ports
+        \item[4.3] Interrupts
+        \item[4.4] volatile-Variable
+        \color{medgreen}
+        \item[4.5] Byte-Reihenfolge -- Endianness
+        \item[4.6] Binärdarstellung negativer Zahlen
+        \item[4.7] Binärdarstellung von Gleitkommazahlen
+        \color{red}
+        \item[4.8] Speicherausrichtung -- Alignment
+      \end{itemize}
+    \item[\textbf{5}] \textbf{Algorithmen}
+    \item[\textbf{6}] \textbf{Objektorientierte Programmierung}
+    \item[\textbf{7}] \textbf{Datenstrukturen}
+  \end{itemize}
+
+\end{frame}
+
+\setcounter{section}{3}
+\section{Hardwarenahe Programmierung}
+\setcounter{subsection}{4}
+\subsection{Byte-Reihenfolge -- Endianness}
+\subsubsection{Konzept}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+  \showsubsubsection
+
+  Eine Zahl geht über mehrere Speicherzellen.\\
+  Beispiel: 16-Bit-Zahl in 2 8-Bit-Speicherzellen
+
+  \smallskip
+
+  Welche Bits liegen wo?
+
+%  \pause
+  \bigskip
+
+  $1027 = 1024 + 2 + 1 = 0000\,0100\,0000\,0011_2 = 0403_{16}$
+
+%  \pause
+  \bigskip
+  Speicherzellen:
+
+  \medskip
+  \begin{tabular}{|c|c|l}\cline{1-2}
+    \raisebox{-0.25ex}{04} & \raisebox{-0.25ex}{03} & \strut Big-Endian "`großes Ende zuerst"' \\\cline{1-2}
+    \multicolumn{2}{c}{} & für Menschen leichter lesbar \\
+    \multicolumn{3}{c}{} \\[-5pt]\cline{1-2}
+    \raisebox{-0.25ex}{03} & \raisebox{-0.25ex}{04} & \strut Little-Endian "`kleines Ende zuerst"' \\\cline{1-2}
+    \multicolumn{2}{c}{} & bei Additionen effizienter
+  \end{tabular}
+
+%  \pause
+  \medskip
+  \textarrow\ Geschmackssache
+%  \pause
+  \\
+  \quad\textbf{\dots\ außer bei Datenaustausch!}
+
+%  \pause
+%  \bigskip
+%
+%  Aber: nicht verwechseln! \qquad $0304_{16} = 772$
+
+\end{frame}
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  Eine Zahl geht über mehrere Speicherzellen.\\
+  Beispiel: 16-Bit-Zahl in 2 8-Bit-Speicherzellen
+
+  \smallskip
+
+  Welche Bits liegen wo?
+
+  \medskip
+
+  \textarrow\ Geschmackssache\\
+  \textbf{\dots\ außer bei Datenaustausch!}
+
+  \begin{itemize}
+    \item
+      Dateiformate
+    \item
+      Datenübertragung
+  \end{itemize}
+
+\end{frame}
+
+\subsubsection{Dateiformate}
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  Audio-Formate: Reihenfolge der Bytes in 16- und 32-Bit-Zahlen
+  \begin{itemize}
+    \item
+      RIFF-WAVE-Dateien (\file{.wav}): Little-Endian
+    \item
+      Au-Dateien (\file{.au}): Big-Endian
+%    \pause
+    \item
+      ältere AIFF-Dateien (\file{.aiff}): Big-Endian
+    \item
+      neuere AIFF-Dateien (\file{.aiff}): Little-Endian
+  \end{itemize}
+
+%  \pause
+  \bigskip
+
+  Grafik-Formate: Reihenfolge der Bits in den Bytes
+  \begin{itemize}
+    \item
+      PBM-Dateien: Big-Endian\only<1->{, MSB first}
+    \item
+      XBM-Dateien: Little-Endian\only<1->{, LSB first}
+  \end{itemize}
+  \only<1->{MSB/LSB = most/least significant bit}
+
+\end{frame}
+
+\subsubsection{Datenübertragung}
+
+\begin{frame}
+
+  \showsubsection
+  \showsubsubsection
+
+  \begin{itemize}
+    \item
+      RS-232 (serielle Schnittstelle): LSB first
+    \item
+      I$^2$C: MSB first
+    \item
+      USB: beides
+%    \pause
+    \medskip
+    \item
+      Ethernet: LSB first
+    \item
+      TCP/IP (Internet): Big-Endian
+  \end{itemize}
+
+\end{frame}
+
+\subsection{Binärdarstellung negativer Zahlen}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Speicher ist begrenzt!\\
+  \textarrow\ feste Anzahl von Bits
+
+  \medskip
+
+  8-Bit-Zahlen ohne Vorzeichen: \lstinline{uint8_t}\\
+  \textarrow\ Zahlenwerte von \lstinline{0x00} bis \lstinline{0xff} = 0 bis 255\\
+%  \pause
+  \textarrow\ 255 + 1 = 0
+
+%  \pause
+  \medskip
+
+  8-Bit-Zahlen mit Vorzeichen: \lstinline{int8_t}\\
+  \lstinline{0xff} = 255 ist die "`natürliche"' Schreibweise für $-1$.\\
+%  \pause
+  \textarrow\ Zweierkomplement
+
+%  \pause
+  \medskip
+
+  Oberstes Bit = 1: negativ\\
+  Oberstes Bit = 0: positiv\\
+  \textarrow\ 127 + 1 = $-128$
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Speicher ist begrenzt!\\
+  \textarrow\ feste Anzahl von Bits
+
+  \medskip
+
+  16-Bit-Zahlen ohne Vorzeichen:
+  \lstinline{uint16_t}\hfill\lstinline{uint8_t}\\
+  \textarrow\ Zahlenwerte von \lstinline{0x0000} bis \lstinline{0xffff}
+  = 0 bis 65535\hfill 0 bis 255\\
+  \textarrow\ 65535 + 1 = 0\hfill 255 + 1 = 0
+
+  \medskip
+
+  16-Bit-Zahlen mit Vorzeichen:
+  \lstinline{int16_t}\hfill\lstinline{int8_t}\\
+  \lstinline{0xffff} = 66535 ist die "`natürliche"' Schreibweise für $-1$.\hfill
+  \lstinline{0xff} = 255 = $-1$\\
+  \textarrow\ Zweierkomplement
+
+  \medskip
+
+  Oberstes Bit = 1: negativ\\
+  Oberstes Bit = 0: positiv\\
+  \textarrow\ 32767 + 1 = $-32768$
+
+  \bigskip
+  Literatur: \url{http://xkcd.com/571/}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Frage: \emph{Für welche Zahl steht der Speicherinhalt\,
+  \raisebox{2pt}{%
+    \tabcolsep0.25em
+    \begin{tabular}{|c|c|}\hline
+      \rule{0pt}{11pt}a3 & 90 \\\hline
+    \end{tabular}}
+  (hexadezimal)?}
+  
+%  \pause
+  \smallskip
+  Antwort: \emph{Das kommt darauf an.} ;--)
+
+%  \pause
+  \medskip
+  Little-Endian:
+
+  \smallskip
+
+  \begin{tabular}{lrl}
+    als \lstinline,int8_t,: & $-93$ & (nur erstes Byte)\\
+    als \lstinline,uint8_t,: & $163$ & (nur erstes Byte)\\
+    als \lstinline,int16_t,: & $-28509$\\
+    als \lstinline,uint16_t,: & $37027$\\
+    \lstinline,int32_t, oder größer: & $37027$
+      & (zusätzliche Bytes mit Nullen aufgefüllt)
+  \end{tabular}
+
+%  \pause
+  \medskip
+  Big-Endian:
+
+  \smallskip
+
+  \begin{tabular}{lrl}
+    als \lstinline,int8_t,:   & $-93$ & (nur erstes Byte)\\
+    als \lstinline,uint8_t,:  & $163$ & (nur erstes Byte)\\
+    als \lstinline,int16_t,:  & $-23664$\\
+    als \lstinline,uint16_t,: & $41872$\\ als \lstinline,int32_t,:  & $-1550843904$ & (zusätzliche Bytes\\
+    als \lstinline,uint32_t,: & $2744123392$  & mit Nullen aufgefüllt)\\
+    als \lstinline,int64_t,:  & $-6660823848880963584$\\
+    als \lstinline,uint64_t,: & $11785920224828588032$\\
+  \end{tabular}
+
+  \vspace*{-1cm}
+
+\end{frame}
+
+\subsection{Binärdarstellung von Gleitkommazahlen}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+%  (Diese Seite wurde unbewußt leer gelassen.)
+
+  Beispiel für Gleitkommazahl: $2{,}351\cdot10^5$ (oder: $2.351\times10^5$)
+
+  \smallskip
+
+  Bezeichnungen: $\text{Mantisse} \cdot 10^{\text{Exponent}}$
+
+  \smallskip
+
+  C-Schreibweise: \lstinline{2.351e5} (oder: \lstinline{2.351E5})
+
+%  \pause
+  \bigskip
+
+  Wie speichert man Gleitkommazahlen?
+
+  \smallskip
+
+  $m$-Bit-Zahl, davon
+  \begin{itemize}
+    \item
+      $e$ Bits für den Exponenten (einschließlich Vorzeichen),
+    \item
+      $1$ Bit für das Vorzeichen der Mantisse,
+    \item
+      $m - e - 1$ Bits für die Mantisse.
+  \end{itemize}
+
+%  \pause
+  \begin{picture}(0,0)
+    \color{red}
+    \put(1.95,0.65){\makebox(0,0){\tikz{\draw(0,0)--(0.5,0.25);}}}
+    \put(1.95,0.65){\makebox(0,0){\tikz{\draw(0,0.25)--(0.5,0);}}}
+  \end{picture}%
+  {\color{red}Trick: Mantisse als \newterm{normalisierte Zahl\/} abspeichern}
+
+%  \pause
+  \bigskip
+  Vorteil gegenüber ganzen Zahlen:\\
+  größerer Wertebereich bei vergleichbarem Speicherplatzbedarf
+
+  \medskip
+
+  Nachteil gegenüber ganzen Zahlen: Rundungsfehler\\
+  \textcolor{red}{\textarrow\
+  \textbf{ungeeignet} für Anwendungen, bei denen es auf jedes Bit ankommt\\
+  \phantom{\textarrow\ }(z.\,B.\ Verschlüsselung)}
+  \vspace*{-1cm}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Problem beim Arbeiten mit Gleitkommazahlen: Auslöschung von Ziffern
+  \begin{itemize}
+    \item
+      Zahlen aufsummieren:\\
+      vorher sortieren, mit der kleinsten Zahl beginnen
+    \pause
+    \item
+      Ableitungen bilden:\\
+      Beim Bilden von Differenzquotienten\\
+      verliert man notwendigerweise an Präzision!\\
+      \textarrow\ Die Differenzen sehr sorgfältig auswählen.\\
+      \textarrow\ Am besten gar nicht ableiten, sondern integrieren.
+  \end{itemize}
+
+\end{frame}
+
+\subsection{Speicherausrichtung -- Alignment}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  \begin{lstlisting}
+    #include <stdint.h>
+
+    uint8_t a;
+    uint16_t b;
+    uint8_t c;
+  \end{lstlisting}
+
+  \pause
+  \bigskip
+
+  Speicheradresse durch 2 teilbar -- "`16-Bit-Alignment"'
+  \begin{itemize}
+    \item
+      2-Byte-Operation: effizienter
+    \pause
+    \item
+      \dots\ oder sogar nur dann erlaubt
+    \pause
+    \arrowitem
+      Compiler optimiert Speicherausrichtung
+  \end{itemize}
+
+  \medskip
+
+  \pause
+  \begin{minipage}{3cm}
+    \begin{lstlisting}[gobble=6]
+      ¡uint8_t a;
+      uint8_t dummy;
+      uint16_t b;
+      uint8_t c;¿
+    \end{lstlisting}
+  \end{minipage}
+  \pause
+  \begin{minipage}{3cm}
+    \begin{lstlisting}[gobble=6]
+      ¡uint8_t a;
+      uint8_t c;
+      uint16_t b;¿
+    \end{lstlisting}
+  \end{minipage}
+
+  \pause
+  \vspace{-1.75cm}
+  \strut\hfill
+  \begin{minipage}{6.5cm}
+    Fazit:
+    \begin{itemize}
+      \item
+        \textbf{Adressen von Variablen\\
+        sind systemabhängig}
+      \item
+        Bei Definition von Datenformaten\\
+        Alignment beachten \textarrow\ effizienter
+    \end{itemize}
+  \end{minipage}
+
+\end{frame}
+
+\section{Algorithmen}
+\subsection{Differentialgleichungen}
+
+\begin{frame}[fragile]
+
+  \showsection
+  \showsubsection
+
+  \textbf{Beispiel 1: Gleichmäßig beschleunigte Bewegung}
+
+  \strut\hfill
+  \begin{minipage}{2.5cm}
+    \vspace*{0.6cm}
+    \begin{align*}
+      x'(t) &= v_x(t) \\[0.65cm]
+      y'(t) &= v_y(t) \\[0.75cm]
+      v_x'(t) &= 0 \\[0.65cm]
+      v_y'(t) &= -g
+    \end{align*}
+    \vspace*{0.0cm}
+  \end{minipage}%
+  \only<1>{\hspace*{9.49cm}}\strut
+  \only<2->{\hfill$\Rightarrow$\hfill}%
+  \begin{onlyenv}<2-8>
+    \begin{minipage}{8.3cm}
+      \begin{align*}
+        x(t) &= \int v_x(t)\,dt
+          \visible<4->{= \int v_{0x}\,dt}
+          \visible<5->{= x_0 + v_{0x}\cdot t}\\[\medskipamount]
+        y(t) &= \int v_y(t)\,dt
+          \visible<7->{= \int v_{0y} - g\cdot t\,dt}
+          \visible<8->{= y_0 + v_{0y}\cdot t
+                         - {\textstyle\frac12}gt^2}\\[\bigskipamount]
+        v_x(t) &= \int 0\,dt
+          \visible<3->{= v_{0x}} \\[\medskipamount]
+        v_y(t) &= \int -g\,dt
+          \visible<6->{= v_{0y} - g\cdot t}
+      \end{align*}
+    \end{minipage}%
+  \end{onlyenv}%
+  \begin{onlyenv}<9->
+    \begin{minipage}{3.5cm}
+      \vspace*{0.5cm}
+      \begin{lstlisting}[gobble=8,xleftmargin=0.5em]
+        ¡x += vx * dt;¿
+      \end{lstlisting}
+      \vspace{0.75cm}
+      \begin{lstlisting}[gobble=8,xleftmargin=0.5em]
+        ¡y += vy * dt;¿
+      \end{lstlisting}
+      \vspace{0.90cm}
+      \begin{lstlisting}[gobble=8,xleftmargin=0.5em]
+        ¡vx += 0 * dt;¿
+      \end{lstlisting}
+      \vspace{0.75cm}
+      \begin{lstlisting}[gobble=8,xleftmargin=0.5em]
+        ¡vy += -g * dt;¿
+      \end{lstlisting}
+    \end{minipage}%
+    \begin{minipage}{5.13cm}
+%      Siehe: \file{gtk-13.c}
+      \strut
+    \end{minipage}
+  \end{onlyenv}%
+  \hfill\strut
+
+\end{frame}
+
+\begin{frame}[fragile]
+  \showsection
+  \showsubsection
+
+  \textbf{Beispiel 1: Gleichmäßig beschleunigte Bewegung}
+
+  \medskip
+
+  \textbf{Beispiel 2: Mathematisches Pendel}
+
+  \vspace*{-2\bigskipamount}
+
+  \begin{picture}(0,0)
+    \put(8,-6.5){\includegraphics{pendulum.pdf}}
+  \end{picture}
+
+  \begin{eqnarray*}
+    \varphi'(t) &=& \omega(t) \\[\smallskipamount]
+    \omega'(t) &=& -\frac{g}{l}\cdot\sin\varphi(t)\hspace*{7.1cm}
+  \end{eqnarray*}
+  \vspace*{-1.5\medskipamount}
+  \begin{itemize}
+    \item
+      Von Hand (analytisch):\\
+      Lösung raten (Ansatz), Parameter berechnen
+    \item
+      Mit Computer (numerisch):\\
+      Eulersches Polygonzugverfahren
+  \end{itemize}
+  \smallskip
+  \begin{lstlisting}[gobble=0]
+    phi += dt * omega;
+    omega += - dt * g / l * sin (phi);
+  \end{lstlisting}
+
+  \pause
+  \bigskip
+
+  \textbf{Beispiel 3: Weltraum-Simulation}
+
+  Praktikumsaufgabe
+  \vspace*{-1cm}
+
+\end{frame}
+
+\iffalse
+
+\nosectionnonumber{\inserttitle}
+
+\begin{frame}
+
+  \shownosectionnonumber
+
+  \begin{itemize}
+    \item[\textbf{1}] \textbf{Einführung}
+      \hfill\makebox(0,0)[br]{\raisebox{2.25ex}{\url{https://gitlab.cvh-server.de/pgerwinski/hp}}}
+    \item[\textbf{2}] \textbf{Einführung in C}
+    \item[\textbf{4}] \textbf{Hardwarenahe Programmierung}
+      \begin{itemize}
+        \item[4.1] Bit-Operationen
+        \item[4.2] I/O-Ports
+        \item[4.3] Interrupts
+        \item[4.4] volatile-Variable
+        \color{medgreen}
+        \item[4.5] Byte-Reihenfolge -- Endianness
+        \item[4.6] Binärdarstellung negativer Zahlen
+        \item[4.7] Speicherausrichtung -- Alignment
+      \end{itemize}
+    \item[\textbf{5}] \textbf{Algorithmen}
+      \begin{itemize}
+        \color{medgreen}
+        \item[5.1] Differentialgleichungen
+        \color{red}
+        \item[5.2] Rekursion
+        \color{black}
+        \item[5.3] Aufwandsabschätzungen
+      \end{itemize}
+    \item[\textbf{6}] \textbf{Objektorientierte Programmierung}
+    \item[\textbf{7}] \textbf{Datenstrukturen}
+  \end{itemize}
+
+\end{frame}
+
+\setcounter{section}{4}
+\section{Algorithmen}
+\setcounter{subsection}{1}
+\subsection{Rekursion}
+
+\begin{frame}[fragile]
+
+  \showsubsection
+
+  Vollständige Induktion:
+  \vspace*{-0.725cm}
+  \begin{displaymath}
+    \hspace*{4cm}
+    \left.
+      \begin{array}{r}
+        \mbox{Aussage gilt für $n = 1$}\\[2pt]
+        \mbox{Schluß von $n - 1$ auf $n$}
+      \end{array}
+    \right\}
+    \mbox{Aussage gilt für alle $n\in\mathbb{N}$}
+  \end{displaymath}
+  \vspace*{-0.5cm}
+
+  \pause
+
+  Türme von Hanoi
+
+  \begin{onlyenv}<2>
+    \begin{center}
+      \includegraphics[width=12.2cm]{Tower_of_Hanoi.jpeg}
+    \end{center}
+  \end{onlyenv}
+
+  \begin{onlyenv}<3->
+    \begin{itemize}
+      \item
+        64 Scheiben, 3 Plätze,
+        \only<3-4>{\hfill\makebox(0,0)[rt]{\includegraphics[width=6cm]{Tower_of_Hanoi.jpeg}}}\\
+        immer 1 Scheibe verschieben
+      \item
+        Ziel: Turm verschieben
+      \item
+        Es dürfen nur kleinere Scheiben\\
+        auf größeren liegen.
+      \bigskip
+      \pause
+      \pause
+      \item
+        $n = 1$ Scheibe: fertig
+      \item
+        Wenn $n - 1$ Scheiben verschiebbar:\\
+        schiebe $n - 1$ Scheiben auf Hilfsplatz,\\
+        verschiebe die darunterliegende,\\
+        hole $n - 1$ Scheiben von Hilfsplatz
+    \end{itemize}
+    \begin{onlyenv}<5>
+      \vspace{-4.3cm}
+      \begin{lstlisting}[gobble=8,xleftmargin=6.4cm]
+        void move (int from, int to, int disks)
+        {
+          if (disks == 1)
+            move_one_disk (from, to);
+          else
+            {
+              int help = 0 + 1 + 2 - from - to;
+              move (from, help, disks - 1);
+              move (from, to, 1);
+              move (help, to, disks - 1);
+            }
+        }
+      \end{lstlisting}
+    \end{onlyenv}
+%     \begin{onlyenv}<6->
+%       \vspace{-5.0cm}
+%       \hspace*{7.4cm}\begin{minipage}[t]{5cm}
+%         32 Scheiben:
+%         \begin{lstlisting}[gobble=10,style=terminal]
+%           $ ¡time ./hanoi-9b¿
+%           ...
+%           real    0m30,672s
+%           user    0m30,662s
+%           sys     0m0,008s
+%         \end{lstlisting}
+%         \pause[7]
+%         \begin{itemize}
+%           \arrowitem
+%             etwas über 1 Minute\\
+%             für 64 Scheiben
+%         \end{itemize}
+%         \pause
+%         \vspace*{-0.5cm}
+%         \begin{picture}(0,0)
+%           \color{red}
+%           \put(0,0){\makebox(0,0)[bl]{\tikz[line width=1pt]{\draw(0,0)--(4,0.8);}}}
+%           \put(0,0.8){\makebox(0,0)[tl]{\tikz[line width=1pt]{\draw(0,0)--(4,-0.8);}}}
+%         \end{picture}
+% 
+%         Für jede zusätzliche Scheibe\\verdoppelt sich die Rechenzeit!
+%         % 30.672 * 2^32 / 3600 / 24 / 365.25 = 4174.43775518138261464750
+%         \begin{itemize}
+%           \arrowitem
+%             $\frac{30,672\,\text{s}\,\cdot\,2^{32}}{3600\,\cdot\,24\,\cdot\,365,25} \approx 4174$
+%             Jahre\\[\smallskipamount]
+%             für 64 Scheiben
+%         \end{itemize}
+%       \end{minipage}
+%     \end{onlyenv}
+  \end{onlyenv}
+
+\end{frame}
+
+\subsection{Aufwandsabschätzungen \protect\color{gray}-- Komplexitätsanalyse}
+
+\begin{frame}[fragile]
+
+%  \newcommand{\w}{\hspace*{0.75pt}}
+
+  \showsubsection
+
+  \begin{picture}(0,0)
+    \put(7.6,-0.5){%
+      \begin{minipage}[t]{5.3cm}
+%        \vspace*{-1.0cm}\includegraphics{landau-symbols.pdf}
+        \vspace*{-1.0cm}\alt<16->{\includegraphics{landau-symbols-3.pdf}}%
+                       {\alt<15->{\includegraphics{landau-symbols-2.pdf}}%
+                                 {\includegraphics{landau-symbols.pdf}}}
+        \small
+        \begin{description}\itemsep0pt\leftskip-0.5cm
+          \item[$n$:] Eingabedaten
+          \item[$g(n)$:] Rechenzeit
+        \end{description}
+      \end{minipage}}
+  \end{picture}
+
+  \vspace*{-\bigskipamount}
+
+  Wann ist ein Programm "`schnell"'?
+
+  \medskip
+
+  \begin{onlyenv}<1-2>
+      Türme von Hanoi: $\mathcal{O}(2^n)$
+      \par\medskip
+      Für jede zusätzliche Scheibe\\verdoppelt sich die Rechenzeit!
+      \begin{itemize}
+        \arrowitem
+          $\frac{30,672\,\text{s}\,\cdot\,2^{32}}{3600\,\cdot\,24\,\cdot\,365,25} \approx 4174$
+          Jahre\\[\smallskipamount]
+          für 64 Scheiben
+      \end{itemize}
+
+      \bigskip
+  \end{onlyenv}
+
+  \begin{onlyenv}<2->
+    Faustregel:\\Schachtelung der Schleifen zählen\\
+    $k$ Schleifen ineinander \textarrow\ $\mathcal{O}(n^k)$
+
+    \bigskip
+  \end{onlyenv}
+
+  \begin{onlyenv}<3-13>
+    \textbf{Beispiel: Sortieralgorithmen}
+
+    \smallskip
+
+    Anzahl der Vergleiche bei $n$ Strings
+    \begin{itemize}
+      \item
+        Maximum suchen \pause[4]mit Schummeln\pause: $\mathcal{O}(1)$
+      \pause
+      \item
+        Maximum suchen\pause: $\mathcal{O}(n)$
+      \pause
+      \item
+        Selection-Sort\pause: $\mathcal{O}(n^2)$
+      \pause
+      \item
+        Bubble-Sort\pause: $\mathcal{O}(n)$ bis $\mathcal{O}(n^2)$
+      \pause
+      \item
+        Quicksort\pause: $\mathcal{O}(n\log n)$ bis $\mathcal{O}(n^2)$
+    \end{itemize}
+
+  \end{onlyenv}
+
+  \begin{onlyenv}<14>
+    \textbf{Wie schnell ist RSA-Verschlüsselung?}
+
+    \smallskip
+
+    \begin{math}
+      c = m^e\,\%\,N
+    \end{math}
+    \quad
+    ("`$\%$"' = "`modulo"')
+
+    \medskip
+
+    \begin{lstlisting}[gobble=6,xleftmargin=2em]
+      int c = 1;
+      for (int i = 0; i < e; i++)
+        c = (c * m) % N;
+    \end{lstlisting}
+
+    \smallskip
+
+    \begin{itemize}
+      \item
+        $\mathcal{O}(e)$ Iterationen
+%      \item
+%        wenn $n$ die Anzahl der Binärziffern (Bits) von $e$ ist:
+%        $\mathcal{O}(2^n)$ Iterationen
+      \item
+        mit Trick:
+        $\mathcal{O}(\log e)$ Iterationen ($\log e$ = Anzahl der Ziffern von $e$)
+    \end{itemize}
+
+    \smallskip
+
+    Jede Iteration enthält eine Multiplikation und eine Division.\\
+    Aufwand dafür: $\mathcal{O}(\log e)$\\
+    \textarrow\ Gesamtaufwand: $\mathcal{O}\bigl((\log e)^2\bigr)$
+
+  \end{onlyenv}
+
+  \begin{onlyenv}<15->
+
+    \textbf{Wie schnell ist RSA?}\\
+
+    \smallskip
+
+    ($n$ = typische beteiligte Zahl, z.\,B. $e,p,q$)
+
+    \begin{itemize}
+      \item
+        Ver- und Entschlüsselung (Exponentiation):\\
+        \strut\hbox to 3.5cm{\color{red}$\mathcal{O}\!\left((\log n)^2\right)$\hss}
+        \only<16->{{\color{magenta}$\mathcal{O}(n^2)$}}
+      \item
+        Schlüsselerzeugung (Berechnung von $d$):\\
+        \strut\hbox to 3.5cm{\color{red}$\mathcal{O}\!\left((\log n)^2\right)$\hss}
+        \only<16->{{\color{magenta}$\mathcal{O}(n^2)$}}
+      \item
+        Verschlüsselung brechen (Primfaktorzerlegung):\\
+        \strut\hbox to 3.5cm{\color{red}$\mathcal{O}\bigl(2^{\sqrt{\log n\,\cdot\,\log\log n}}\bigr)$\hss}
+        \only<16->{{\color{magenta}$\mathcal{O}\bigl(2^{\sqrt{n\log n}}\bigr)$}}
+    \end{itemize}
+
+    \vspace{0cm plus 1filll}
+
+    \textbf{Die Sicherheit von RSA beruht darauf,
+    daß das Brechen der Verschlüsselung aufwendiger ist als
+    \boldmath$\mathcal{O}\bigl((\log n)^k\bigr)$ (für beliebiges $k$).}
+
+    \vspace*{0.65cm}
+
+  \end{onlyenv}
+
+\end{frame}
+
+\fi
+
+\end{document}
diff --git a/20231123/hp-musterloesung-20231123.pdf b/20231123/hp-musterloesung-20231123.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..94f0e422f0917d55a875b58ff437e692bec61a86
Binary files /dev/null and b/20231123/hp-musterloesung-20231123.pdf differ
diff --git a/20231123/hp-musterloesung-20231123.tex b/20231123/hp-musterloesung-20231123.tex
new file mode 100644
index 0000000000000000000000000000000000000000..810480f0f431e547c1f4cc9f472b1337f2598e0b
--- /dev/null
+++ b/20231123/hp-musterloesung-20231123.tex
@@ -0,0 +1,394 @@
+% hp-musterloesung-20231116.pdf - Solutions to the Exercises on Low-Level Programming / Applied Computer Sciences
+% Copyright (C) 2013, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023  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: Kondensator, Personen-Datenbank, Hexdumps
+
+\documentclass[a4paper]{article}
+
+\usepackage{pgscript}
+\usepackage{gnuplot-lua-tikz}
+
+\begin{document}
+
+  \section*{Hardwarenahe Programmierung\\
+            Musterlösung zu den Übungsaufgaben -- 16.\ November 2023}
+
+  \exercise{Kondensator}
+
+  Ein Kondensator der Kapazität $C = 100\,\mu{\rm F}$
+  ist auf die Spannung $U_0 = 5\,{\rm V}$ aufgeladen
+  und wird über einen Widerstand $R = 33\,{\rm k}\Omega$ entladen.
+
+  \begin{enumerate}[(a)]
+    \item
+      Schreiben Sie ein C-Programm, das
+      den zeitlichen Spannungsverlauf in einer Tabelle darstellt.
+      \points{5}
+    \item
+      Schreiben Sie ein C-Programm, das ermittelt,
+      wie lange es dauert, bis die Spannung unter $0.1\,{\rm V}$ gefallen ist.
+      \points{4}
+    \item
+      Vergleichen Sie die berechneten Werte mit der exakten theoretischen Entladekurve:
+      \begin{math}
+        U(t) = U_0 \cdot e^{-\frac{t}{RC}}
+      \end{math}\\
+      \points{3}
+  \end{enumerate}
+
+  Hinweise:
+  \begin{itemize}
+    \item
+      Für die Simulation zerlegen wir den Entladevorgang in kurze Zeitintervalle $dt$.
+      Innerhalb jedes Zeitintervalls betrachten wir den Strom $I$ als konstant
+      und berechnen, wieviel Ladung $Q$ innerhalb des Zeitintervalls
+      aus dem Kondensator herausfließt.
+      Aus der neuen Ladung berechnen wir die Spannung am Ende des Zeitintervalls.
+    \item
+      Für den Vergleich mit der exakten theoretischen Entladekurve
+      benötigen Sie die Exponentialfunktion \lstinline{exp()}.
+      Diese finden Sie in der Mathematik-Bibliothek:
+      \lstinline{#include <math.h>} im Quelltext,
+      beim \lstinline[style=cmd]{gcc}-Aufruf \lstinline[style=cmd]{-lm} mit angeben.
+    \item
+      $Q = C \cdot U$,\quad $U = R \cdot I$,\quad $I = \frac{dQ}{dt}$
+  \end{itemize}
+
+  \solution
+
+  \begin{itemize}
+    \item
+      \textbf{Schreiben Sie ein C-Programm, das
+      den zeitlichen Spannungsverlauf in einer Tabelle darstellt.}
+
+      In dem Programm \gitfile{hp}{2023ws/20231123}{loesung-1a.c}
+      arbeiten wir, dem ersten Hinweis folgend,
+      mit einem Zeitintervall von \lstinline{dt = 0.01}.
+      Mit dieser Schrittweite lassen wir uns eine Tabelle ausgeben,
+      die jeweils die Zeit und durch die Simulation berechnete Spannung ausgibt.
+
+      Wir simulieren, wie die Ladung $Q = C \cdot U$ des Kondensators
+      im Laufe der Zeit abfließt.
+      Dazu berechnen wir in jedem Zeitschritt zunächst den Strom $I = U / R$,
+      der aus dem Kondensator fließt.
+      Dieser Strom bewirkt, daß innerhalb des Zeitintervalls $dt$
+      die Ladung $dQ = I \cdot dt$ aus dem Kondensator abfließt.
+      Am Ende des Zeitintervalls berechnen wir die zur neuen Ladung $Q$
+      gehörende neue Spannung $U = Q / C$.
+
+      Für eine einfache Ausgabe der Tabelle
+      verwenden wir die Formatspezifikationen \lstinline{%10.3lf} für drei 
+      bzw.\ \lstinline{%15.8lf} für acht Nachkommastellen Genauigkeit.
+      Damit schreiben wir jeweils eine \emph{lange Fließkommazahl\/} (\lstinline{%lf})
+      rechtsbündig in ein Feld der Breite 10 bzw.\ 15
+      und lassen uns 3 bzw.\ 8 Nachkommastellen ausgeben. 
+
+      Wir compilieren das Programm mit:
+      \lstinline[style=cmd]{gcc -Wall -O loesung-1a.c -o loesung-1a}
+
+    \item
+      \textbf{Schreiben Sie ein C-Programm, das ermittelt,
+      wie lange es dauert, bis die Spannung unter \boldmath $0.1\,{\rm V}$ gefallen ist.}
+
+      Wir ändern das Programm \gitfile{hp}{2023ws/20231123}{loesung-1a.c} so ab,
+      daß zum einen die Schleife abbricht, sobald die Spannung 
+      den Wert $0.1\,{\rm V}$ unterschreitet (\gitfile{hp}{2023ws/20231123}{loesung-1b.c}),
+      und daß zum anderen nicht jedesmal eine Zeile für die Tabelle ausgegeben wird,
+      sondern erst am Ende die Zeit (und die Spannung).
+
+      Der Ausgabe entnehmen wir, daß die Spannung bei etwa $t = 12.90\,{\rm s}$
+      den Wert $0.1\,{\rm V}$ unterschreitet.
+
+    \item
+      \textbf{Vergleichen Sie die berechneten Werte
+      mit der exakten theoretischen Entladekurve:\\[0.5\smallskipamount]
+      \boldmath  
+      \begin{math}
+        U(t) = U_0 \cdot e^{-\frac{t}{RC}}
+      \end{math}}
+
+      Wir ändern das Programm \gitfile{hp}{2023ws/20231123}{loesung-1a.c} so ab,
+      daß es zusätzlich zur Zeit und zur simulierten Spannung
+      die exakte Spannung $U_0 \cdot e^{-\frac{t}{RC}}$
+      gemäß der theoretischen Entladekurve ausgibt (\gitfile{hp}{2023ws/20231123}{loesung-1c.c}),
+
+      Da dieses Programm die Exponentialfunktion verwendet, müssen wir nun
+      beim Compilieren zusätzlich \lstinline[style=cmd]{-lm}\hspace{1pt}
+      für das Einbinden der Mathematik-Bibliothek angeben.
+
+      Der erweiterten Tabelle können wir entnehmen,
+      daß die durch die Simulation berechnete Spannung
+      mit der Spannung $U_0 \cdot e^{-\frac{t}{RC}}$
+      gemäß der theoretischen Entladekurve
+      bis auf wenige Prozent übereinstimmt.
+      Dies ist für viele praktische Anwendungen ausreichend,
+      wenn auch nicht für Präzisionsmessungen.
+
+      Wenn Sie die Ausgabe des Programms, z.\,B.\ mit
+      \lstinline[style=cmd]{./loesung-1c > loesung-1c.dat},
+      in einer Datei \gitfile{hp}{2023ws/20231123}{loesung-1c.dat} speichern,
+      können Sie sich die beiden Kurven graphisch darstellen lassen,
+      z.\,B.\ mit \file{gnuplot} und dem folgenden Befehl:
+      \begin{lstlisting}[style=cmd,gobble=8]
+        plot "loesung-1c.dat" using 1:2 with lines title "Simulation",
+             "loesung-1c.dat" using 1:3 with lines title "Theorie"
+      \end{lstlisting}
+      \vspace*{-\bigskipamount}
+      \begin{center}
+        \input{loesung-1c.tikz}
+      \end{center}
+      Der Unterschied zwischen der simulierten und der theoretischen Entladungskurve
+      ist mit bloßem Auge nicht sichtbar.
+  \end{itemize}
+
+  \exercise{Personen-Datenbank}
+
+  Wir betrachten das folgende Programm (\gitfile{hp}{2023ws/20231123}{aufgabe-2.c}):
+  \begin{lstlisting}
+    #include <stdio.h>
+    #include <string.h>
+
+    typedef struct
+    {
+      char first_name[10];
+      char family_name[20];
+      char day, month;
+      int year;
+    } person;
+
+    int main (void)
+    {
+      person sls;
+      sls.day = 26;
+      sls.month = 7;
+      sls.year = 1951;
+      strcpy (sls.first_name, "Sabine");
+      strcpy (sls.family_name, "Leutheusser-Schnarrenberger");
+      printf ("%s %s wurde am %d.%d.%d geboren.\n",
+              sls.first_name, sls.family_name, sls.day, sls.month, sls.year);
+      return 0;
+    }
+  \end{lstlisting}
+
+  Die Standard-Funktion \lstinline{strcpy()} bewirkt ein Kopieren eines Strings
+  von rechts nach links, hier also z.\,B.\ die Zuweisung der String-Konstanten
+  \lstinline{"Sabine"} an die String-Variable \lstinline{sls.first_name[]}.
+
+  Das Programm wird für einen 32-Bit-Rechner compiliert und ausgeführt.\\
+  (Die \lstinline[style=cmd]{gcc}-Option \lstinline[style=cmd]{-m32} sorgt dafür,
+  daß \lstinline[style=cmd]{gcc} Code für einen 32-Bit-Prozessor erzeugt.)
+
+  \begin{lstlisting}[style=terminal]
+    $ ¡gcc -Wall -O -m32 aufgabe-2.c -o aufgabe-2¿
+    $ ¡./aufgabe-2¿
+    Sabine Leutheusser-Schnarrenberger wurde am 110.98.1701278309 geboren.
+    Speicherzugriffsfehler
+  \end{lstlisting}
+
+  \begin{enumerate}[\quad(a)]
+    \item
+      Erklären Sie die Ausgabe des Programms einschließlich der Zahlenwerte.
+      \points{4}
+    \item
+      Welche Endianness hat der verwendete Rechner?
+      Begründen Sie Ihre Antwort.
+      \points{1}
+    \item
+      Wie sähe die Ausgabe auf einem Rechner mit entgegengesetzter Endianness aus?
+      \points{2}
+    \item
+      Erklären Sie den Speicherzugriffsfehler.
+      (Es kann sein, daß sich der Fehler auf Ihrem Rechner nicht bemerkbar macht.
+      Er ist aber trotzdem vorhanden.)
+      \points{2}
+  \end{enumerate}
+
+  \goodbreak
+
+  \solution
+
+  \begin{enumerate}[\quad(a)]
+    \item
+      \textbf{Erklären Sie die Ausgabe des Programms einschließlich der Zahlenwerte.}
+
+      Der String \lstinline{"Leutheusser-Schnarrenberger"}
+      hat 27 Zeichen und daher mehr als die in der Variablen
+      \lstinline{sls.family_name} vorgesehenen 20 Zeichen.
+      Das \lstinline{"nberger"} paßt nicht mehr in die String-Variable.
+      
+      Die Zuweisung \lstinline{strcpy (sls.family_name, "Leutheusser-Schnarrenberger")}
+      überschreibt daher 8 Speicherzellen außerhalb der String-Variablen
+      \lstinline{sls.family_name} mit dem String \lstinline{"nberger"}
+      (7 Buchstaben zzgl.\ String-Ende-Symbol) -- und damit insbesondere die Variablen
+      \lstinline{sls.day}, \lstinline{sls.month} und \lstinline{sls.year}.
+
+      Die überschriebenen Speicherzellen sehen demnach folgendermaßen aus:
+      \begin{center}
+        \begin{picture}(8,1.5)(0,-0.5)
+          \put(0,0){\line(1,0){8}}
+          \put(0,1){\line(1,0){8}}
+          \multiput(0,0)(1,0){9}{\line(0,1){1}}
+          \put(0.4,0.38){\lstinline{n}}
+          \put(1.4,0.38){\lstinline{b}}
+          \put(2.4,0.38){\lstinline{e}}
+          \put(3.4,0.38){\lstinline{r}}
+          \put(4.4,0.38){\lstinline{g}}
+          \put(5.4,0.38){\lstinline{e}}
+          \put(6.4,0.38){\lstinline{r}}
+          \put(7.5,0.5){\makebox(0,0){\lstinline{0x00}}}
+          \put(0.5,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{0.95cm}{0pt}}_{\mbox{\lstinline{day}}}$}}
+          \put(1.5,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{0.95cm}{0pt}}_{\mbox{\lstinline{month}}}$}}
+          \put(4.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{3.95cm}{0pt}}_{\mbox{\lstinline{year}}}$}}
+          \put(7.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{?}}$}}
+        \end{picture}
+      \end{center}
+      ("`?"' steht für zwei Speicherzellen, von denen wir nicht wissen,
+      wofür sie genutzt werden.)
+
+      Wenn wir die ASCII-Zeichen in Hexadezimalzahlen umrechnen, entspricht dies:
+      \begin{center}
+        \begin{picture}(7,1.5)(0,-0.5)
+          \put(0,0){\line(1,0){8}}
+          \put(0,1){\line(1,0){8}}
+          \multiput(0,0)(1,0){9}{\line(0,1){1}}
+          \put(0.5,0.5){\makebox(0,0){\lstinline{0x6e}}}
+          \put(1.5,0.5){\makebox(0,0){\lstinline{0x62}}}
+          \put(2.5,0.5){\makebox(0,0){\lstinline{0x65}}}
+          \put(3.5,0.5){\makebox(0,0){\lstinline{0x72}}}
+          \put(4.5,0.5){\makebox(0,0){\lstinline{0x67}}}
+          \put(5.5,0.5){\makebox(0,0){\lstinline{0x65}}}
+          \put(6.5,0.5){\makebox(0,0){\lstinline{0x72}}}
+          \put(7.5,0.5){\makebox(0,0){\lstinline{0x00}}}
+          \put(0.5,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{0.95cm}{0pt}}_{\mbox{\lstinline{day}}}$}}
+          \put(1.5,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{0.95cm}{0pt}}_{\mbox{\lstinline{month}}}$}}
+          \put(4.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{3.95cm}{0pt}}_{\mbox{\lstinline{year}}}$}}
+          \put(7.0,-0.1){\makebox(0,0)[t]{$\underbrace{\rule{1.95cm}{0pt}}_{\mbox{?}}$}}
+        \end{picture}
+      \end{center}
+      Dies entspricht bereits genau den Werten \lstinline{110} und \lstinline{98}
+      für die Variablen \lstinline{sls.day} bzw.\ \lstinline{sls.month}.
+
+      Für die Variable \lstinline{sls.year} müssen wir ihre vier Speicherzellen
+      unter der Berücksichtigung der Endianness des Rechners zusammenziehen.
+      Für Big-Endian ergibt dies \lstinline{0x65726765 == 1701996389}.
+      Für Little-Endian ergibt sich der Wert \lstinline{0x65677265 == 1701278309},
+      der auch in der Ausgabe des Programms auftaucht.
+
+    \item
+      \textbf{Welche Endianness hat der verwendete Rechner?
+      Begründen Sie Ihre Antwort.}
+
+      Wie in (a) begründet, ergibt sich die Ausgabe von
+      \lstinline[style=terminal]{1701278309} für das Jahr
+      aus dem Speicherformat Little-Endian.
+
+    \item
+      \textbf{Wie sähe die Ausgabe auf einem Rechner mit entgegengesetzter Endianness aus?}
+
+      Wie in (a) begründet, ergäbe sich aus dem Speicherformat Big-Endian
+      die Ausgabe von \lstinline[style=terminal]{1701996389} für das Jahr.
+
+    \item
+      \textbf{Erklären Sie den Speicherzugriffsfehler.
+      (Es kann sein, daß sich der Fehler auf Ihrem Rechner nicht bemerkbar macht.
+      Er ist aber trotzdem vorhanden.)}
+
+      Die zwei in (a) mit "`?"' bezeichneten Speicherzellen
+      wurden ebenfalls überschrieben.
+      Dies ist in der Ausgabe zunächst nicht sichtbar,
+      bewirkt aber später den Speicherzugriffsfehler.
+
+      (Tatsächlich handelt es sich bei den überschriebenen Speicherzellen
+      um einen Teil der Rücksprungadresse, die \lstinline{main()} verwendet,
+      um mit \lstinline{return 0} an das Betriebssystem zurückzugeben.)
+
+  \end{enumerate}
+
+  \textbf{Hinweis 1:}
+  Um auf einen solchen Lösungsweg zu kommen, wird empfohlen,
+  "`geheimnisvolle"' Zahlen nach hexadezimal umzurechnen
+  und in Speicherzellen (Zweiergruppen von Hex-Ziffern) zu zerlegen.
+  Oft erkennt man dann direkt ASCII-Zeichen:
+  Großbuchstaben beginnen mit der Hex-Ziffer \lstinline{4} oder \lstinline{5},
+  Kleinbuchstaben mit \lstinline{6} oder \lstinline{7}.
+
+  \textbf{Hinweis 2:}
+  Um derartige Programmierfehler in der Praxis von vorneherein zu vermeiden,
+  wird empfohlen, anstelle von \lstinline{strcpy()}
+  grundsätzlich die Funktion \lstinline{strncpy()} zu verwenden.
+  Diese erwartet einen zusätzlichen Parameter,
+  der die maximal zulässige Länge des Strings enthält.
+  Ohne einen derartigen expliziten Parameter kann die Funktion nicht wissen,
+  wie lang die Variable ist, in der der String gespeichert werden soll.
+
+  \exercise{Hexdumps}
+
+  Das folgende Programm (\gitfile{hp}{2023ws/20231123}{aufgabe-4.c}) liest
+  einen String ein und gibt die ASCII-Werte der Buchstaben hexadezimal aus.
+  (Anders als z.\,B.\ \lstinline{scanf()}
+  akzeptiert die Funktion \lstinline{fgets()} zum Lesen von Strings auch Leerzeichen,
+  und sie vermeidet Pufferüberläufe.)
+  \begin{lstlisting}[style=numbered]
+    #include <stdio.h>
+
+    int main (void)
+    {
+      char buffer[100];
+      fgets (buffer, 100, stdin);
+      for (char *p = buffer; *p; p++)
+        printf ("%02x", *p);
+      printf ("\n");
+    }
+  \end{lstlisting}
+  Beispiel: Bei der Eingabe von \lstinline[style=cmd]{Dies ist ein Test.}
+  erscheint die Ausgabe\\
+  \lstinline[style=terminal]{44696573206973742065696e20546573742e0a}.
+
+  Schreiben Sie ein Programm, das diese Umwandlung in umgekehrter Richtung vornimmt,
+  also z.\,B.\ bei Eingabe von \lstinline[style=cmd]{44696573206973742065696e20546573742e0a}
+  wieder \lstinline[style=terminal]{Dies ist ein Test.} ausgibt.
+
+  \points{6}
+
+  Hinweis für die Klausur:
+  Abgabe in digitaler Form ist erwünscht, aber nicht zwingend.
+
+  \solution
+
+  Siehe \gitfile{hp}{2023ws/20231123}{loesung-3.c}.
+
+  Das Programm macht mehrfach davon Gebrauch,
+  daß in C Zeichen und Zahlen äquivalent sind.
+  Wenn z.\,B.\ die \lstinline{char}-Variable \lstinline{c}
+  den Wert \lstinline{'3'} (Ziffer 3) enthält,
+  dann hat der Ausdruck \lstinline{c - '0'} den Wert \lstinline{3} (Zahlenwert 3).
+  Hierfür ist es insbesondere nicht nötig, vorauszusetzen,
+  daß wir den ASCII-Zeichensatz verwenden und \lstinline{'0'}
+  den Wert \lstinline{48} hat.
+
+  Bei Eingabe von \lstinline[style=cmd]{44696573206973742065696e20546573742e0a}
+  gibt das Programm zusätzlich eine Leerzeile aus.
+  Die liegt daran, daß das \lstinline[style=cmd]{0a} am Ende
+  bereits eine Zeilenschaltung enthält und das Programm mit
+  \lstinline{printf ("\n")} eine zusätzliche Zeilenschaltung ausgibt.
+
+\end{document}
diff --git a/20231123/hp-uebung-20231123.pdf b/20231123/hp-uebung-20231123.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..6beb192a0a95fd8864f56b5dac454eb0f06a3e18
Binary files /dev/null and b/20231123/hp-uebung-20231123.pdf differ
diff --git a/20231123/hp-uebung-20231123.tex b/20231123/hp-uebung-20231123.tex
new file mode 100644
index 0000000000000000000000000000000000000000..5ec4c23a85d0cc054e38ed08b2d28df9af5104cc
--- /dev/null
+++ b/20231123/hp-uebung-20231123.tex
@@ -0,0 +1,188 @@
+% hp-uebung-20231123.pdf - Exercises on Low-Level Programming / Applied Computer Sciences
+% Copyright (C) 2013, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023  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: Kondensator, Personen-Datenbank, Hexdumps
+
+\documentclass[a4paper]{article}
+
+\usepackage{pgscript}
+\usepackage{gensymb}
+
+\newcommand{\ItwoC}{I\raisebox{0.5ex}{\footnotesize 2}C}
+\newcommand{\ITWOC}{I\raisebox{0.5ex}{\normalsize 2}C}
+
+\begin{document}
+
+  \thispagestyle{empty}
+
+  \section*{Hardwarenahe Programmierung\\
+            Übungsaufgaben -- 23.\ November 2023}
+
+  Diese Übung enthält Punkteangaben wie in einer Klausur.
+  Um zu "`bestehen"', müssen Sie innerhalb von 80 Minuten
+  unter Verwendung ausschließlich zugelassener Hilfsmittel
+  14 Punkte (von insgesamt \totalpoints) erreichen.
+
+  \exercise{Kondensator}
+
+  Ein Kondensator der Kapazität $C = 100\,\mu{\rm F}$
+  ist auf die Spannung $U_0 = 5\,{\rm V}$ aufgeladen
+  und wird über einen Widerstand $R = 33\,{\rm k}\Omega$ entladen.
+
+  \begin{enumerate}[(a)]
+    \item
+      Schreiben Sie ein C-Programm, das
+      den zeitlichen Spannungsverlauf in einer Tabelle darstellt.
+      \points{5}
+    \item
+      Schreiben Sie ein C-Programm, das ermittelt,
+      wie lange es dauert, bis die Spannung unter $0.1\,{\rm V}$ gefallen ist.
+      \points{4}
+    \item
+      Vergleichen Sie die berechneten Werte mit der exakten theoretischen Entladekurve:
+      \begin{math}
+        U(t) = U_0 \cdot e^{-\frac{t}{RC}}
+      \end{math}\\
+      \points{3}
+  \end{enumerate}
+
+  Hinweise:
+  \begin{itemize}
+    \item
+      Für die Simulation zerlegen wir den Entladevorgang in kurze Zeitintervalle $dt$.
+      Innerhalb jedes Zeitintervalls betrachten wir den Strom $I$ als konstant
+      und berechnen, wieviel Ladung $Q$ innerhalb des Zeitintervalls
+      aus dem Kondensator herausfließt.
+      Aus der neuen Ladung berechnen wir die Spannung am Ende des Zeitintervalls.
+    \item
+      Für den Vergleich mit der exakten theoretischen Entladekurve
+      benötigen Sie die Exponentialfunktion \lstinline{exp()}.
+      Diese finden Sie in der Mathematik-Bibliothek:
+      \lstinline{#include <math.h>} im Quelltext,
+      beim \lstinline[style=cmd]{gcc}-Aufruf \lstinline[style=cmd]{-lm} mit angeben.
+    \item
+      $Q = C \cdot U$,\quad $U = R \cdot I$,\quad $I = \frac{dQ}{dt}$
+  \end{itemize}
+
+  \exercise{Personen-Datenbank}
+
+  Wir betrachten das folgende Programm (\gitfile{hp}{2023ws/20231123}{aufgabe-2.c}):
+  \begin{lstlisting}
+    #include <stdio.h>
+    #include <string.h>
+
+    typedef struct
+    {
+      char first_name[10];
+      char family_name[20];
+      char day, month;
+      int year;
+    } person;
+
+    int main (void)
+    {
+      person sls;
+      sls.day = 26;
+      sls.month = 7;
+      sls.year = 1951;
+      strcpy (sls.first_name, "Sabine");
+      strcpy (sls.family_name, "Leutheusser-Schnarrenberger");
+      printf ("%s %s wurde am %d.%d.%d geboren.\n",
+              sls.first_name, sls.family_name, sls.day, sls.month, sls.year);
+      return 0;
+    }
+  \end{lstlisting}
+
+  Die Standard-Funktion \lstinline{strcpy()} bewirkt ein Kopieren eines Strings
+  von rechts nach links, hier also z.\,B.\ die Zuweisung der String-Konstanten
+  \lstinline{"Sabine"} an die String-Variable \lstinline{sls.first_name[]}.
+
+  Das Programm wird für einen 32-Bit-Rechner compiliert und ausgeführt.\\
+  (Die \lstinline[style=cmd]{gcc}-Option \lstinline[style=cmd]{-m32} sorgt dafür,
+  daß \lstinline[style=cmd]{gcc} Code für einen 32-Bit-Prozessor erzeugt.)
+
+  \begin{lstlisting}[style=terminal]
+    $ ¡gcc -Wall -O -m32 aufgabe-2.c -o aufgabe-2¿
+    $ ¡./aufgabe-2¿
+    Sabine Leutheusser-Schnarrenberger wurde am 110.98.1701278309 geboren.
+    Speicherzugriffsfehler
+  \end{lstlisting}
+
+  \begin{enumerate}[\quad(a)]
+    \item
+      Erklären Sie die Ausgabe des Programms einschließlich der Zahlenwerte.
+      \points{4}
+    \item
+      Welche Endianness hat der verwendete Rechner?
+      Begründen Sie Ihre Antwort.
+      \points{1}
+    \item
+      Wie sähe die Ausgabe auf einem Rechner mit entgegengesetzter Endianness aus?
+      \points{2}
+    \item
+      Erklären Sie den Speicherzugriffsfehler.
+      (Es kann sein, daß sich der Fehler auf Ihrem Rechner nicht bemerkbar macht.
+      Er ist aber trotzdem vorhanden.)
+      \points{2}
+  \end{enumerate}
+
+  \exercise{Hexdumps}
+
+  Das folgende Programm (\gitfile{hp}{2023ws/20231123}{aufgabe-4.c}) liest
+  einen String ein und gibt die ASCII-Werte der Buchstaben hexadezimal aus.
+  (Anders als z.\,B.\ \lstinline{scanf()}
+  akzeptiert die Funktion \lstinline{fgets()} zum Lesen von Strings auch Leerzeichen,
+  und sie vermeidet Pufferüberläufe.)
+  \begin{lstlisting}[style=numbered]
+    #include <stdio.h>
+
+    int main (void)
+    {
+      char buffer[100];
+      fgets (buffer, 100, stdin);
+      for (char *p = buffer; *p; p++)
+        printf ("%02x", *p);
+      printf ("\n");
+    }
+  \end{lstlisting}
+  Beispiel: Bei der Eingabe von \lstinline[style=cmd]{Dies ist ein Test.}
+  erscheint die Ausgabe\\
+  \lstinline[style=terminal]{44696573206973742065696e20546573742e0a}.
+
+  Schreiben Sie ein Programm, das diese Umwandlung in umgekehrter Richtung vornimmt,
+  also z.\,B.\ bei Eingabe von \lstinline[style=cmd]{44696573206973742065696e20546573742e0a}
+  wieder \lstinline[style=terminal]{Dies ist ein Test.} ausgibt.
+
+  \points{6}
+
+  Hinweis für die Klausur:
+  Abgabe in digitaler Form ist erwünscht, aber nicht zwingend.
+
+  \begin{flushright}
+    \textit{Viel Erfolg!}
+  \end{flushright}
+
+  \makeatletter
+    \immediate\write\@mainaux{\string\gdef\string\totalpoints{\arabic{points}}}
+  \makeatother
+
+\end{document}
diff --git a/20231123/loesung-1a.c b/20231123/loesung-1a.c
new file mode 100644
index 0000000000000000000000000000000000000000..f355706a6ff6f95bd72897123a985fb2b7ead7c3
--- /dev/null
+++ b/20231123/loesung-1a.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+#include <math.h>
+
+int main (void)
+{
+  double C = 0.0001;
+  double U0 = 5.0;
+  double U = U0;
+  double R = 33000.0;
+  double t = 0.0;
+  double dt = 0.01;
+  double Q = C * U;
+  while (U > 0.09)
+    {
+      printf ("%10.3lf%15.8lf\n", t, U);
+      double I = U / R;
+      Q -= I * dt;
+      U = Q / C;
+      t += dt;
+    }
+  return 0;
+}
diff --git a/20231123/loesung-1b.c b/20231123/loesung-1b.c
new file mode 100644
index 0000000000000000000000000000000000000000..f5fc22022ef10a1b986bbd11fba8298a7547792d
--- /dev/null
+++ b/20231123/loesung-1b.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+#include <math.h>
+
+int main (void)
+{
+  double C = 0.0001;
+  double U0 = 5.0;
+  double U = U0;
+  double R = 33000.0;
+  double t = 0.0;
+  double dt = 0.01;
+  double Q = C * U;
+  while (U >= 0.1)
+    {
+      double I = U / R;
+      Q -= I * dt;
+      U = Q / C;
+      t += dt;
+    }
+  printf ("%10.3lf%15.8lf\n", t, U);
+  return 0;
+}
diff --git a/20231123/loesung-1c.c b/20231123/loesung-1c.c
new file mode 100644
index 0000000000000000000000000000000000000000..71802e036dd56534470028b61f646d297d1d8840
--- /dev/null
+++ b/20231123/loesung-1c.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+#include <math.h>
+
+int main (void)
+{
+  double C = 0.0001;
+  double U0 = 5.0;
+  double U = U0;
+  double R = 33000.0;
+  double t = 0.0;
+  double dt = 0.01;
+  double Q = C * U;
+  while (U > 0.09)
+    {
+      printf ("%10.3lf%15.8lf%15.8lf\n", t, U, U0 * exp (-t / (R * C)));
+      double I = U / R;
+      Q -= I * dt;
+      U = Q / C;
+      t += dt;
+    }
+  return 0;
+}
diff --git a/20231123/loesung-1c.dat b/20231123/loesung-1c.dat
new file mode 100644
index 0000000000000000000000000000000000000000..4df706295bde25a74e025c5335f43617d93129a8
--- /dev/null
+++ b/20231123/loesung-1c.dat
@@ -0,0 +1,1324 @@
+     0.000     5.00000000     5.00000000
+     0.010     4.98484848     4.98487142
+     0.020     4.96974288     4.96978861
+     0.030     4.95468306     4.95475144
+     0.040     4.93966887     4.93975977
+     0.050     4.92470017     4.92481346
+     0.060     4.90977684     4.90991237
+     0.070     4.89489873     4.89505637
+     0.080     4.88006570     4.88024532
+     0.090     4.86527762     4.86547908
+     0.100     4.85053436     4.85075752
+     0.110     4.83583577     4.83608050
+     0.120     4.82118172     4.82144789
+     0.130     4.80657208     4.80685956
+     0.140     4.79200671     4.79231537
+     0.150     4.77748548     4.77781518
+     0.160     4.76300825     4.76335887
+     0.170     4.74857489     4.74894630
+     0.180     4.73418527     4.73457733
+     0.190     4.71983925     4.72025184
+     0.200     4.70553671     4.70596970
+     0.210     4.69127751     4.69173077
+     0.220     4.67706151     4.67753493
+     0.230     4.66288860     4.66338203
+     0.240     4.64875864     4.64927196
+     0.250     4.63467149     4.63520458
+     0.260     4.62062703     4.62117977
+     0.270     4.60662513     4.60719739
+     0.280     4.59266566     4.59325732
+     0.290     4.57874849     4.57935942
+     0.300     4.56487349     4.56550358
+     0.310     4.55104054     4.55168966
+     0.320     4.53724951     4.53791754
+     0.330     4.52350027     4.52418709
+     0.340     4.50979269     4.51049818
+     0.350     4.49612666     4.49685070
+     0.360     4.48250203     4.48324450
+     0.370     4.46891869     4.46967948
+     0.380     4.45537651     4.45615549
+     0.390     4.44187537     4.44267243
+     0.400     4.42841514     4.42923016
+     0.410     4.41499570     4.41582857
+     0.420     4.40161693     4.40246753
+     0.430     4.38827870     4.38914691
+     0.440     4.37498088     4.37586660
+     0.450     4.36172336     4.36262646
+     0.460     4.34850602     4.34942639
+     0.470     4.33532873     4.33626626
+     0.480     4.32219137     4.32314595
+     0.490     4.30909382     4.31006534
+     0.500     4.29603596     4.29702430
+     0.510     4.28301767     4.28402273
+     0.520     4.27003883     4.27106049
+     0.530     4.25709932     4.25813747
+     0.540     4.24419901     4.24525356
+     0.550     4.23133781     4.23240862
+     0.560     4.21851557     4.21960256
+     0.570     4.20573219     4.20683524
+     0.580     4.19298755     4.19410655
+     0.590     4.18028152     4.18141637
+     0.600     4.16761400     4.16876459
+     0.610     4.15498487     4.15615109
+     0.620     4.14239401     4.14357576
+     0.630     4.12984130     4.13103847
+     0.640     4.11732663     4.11853912
+     0.650     4.10484988     4.10607759
+     0.660     4.09241094     4.09365377
+     0.670     4.08000970     4.08126753
+     0.680     4.06764603     4.06891877
+     0.690     4.05531983     4.05660738
+     0.700     4.04303098     4.04433324
+     0.710     4.03077937     4.03209623
+     0.720     4.01856489     4.01989625
+     0.730     4.00638742     4.00773319
+     0.740     3.99424685     3.99560692
+     0.750     3.98214307     3.98351735
+     0.760     3.97007597     3.97146436
+     0.770     3.95804544     3.95944783
+     0.780     3.94605136     3.94746767
+     0.790     3.93409363     3.93552375
+     0.800     3.92217214     3.92361597
+     0.810     3.91028677     3.91174422
+     0.820     3.89843741     3.89990839
+     0.830     3.88662397     3.88810838
+     0.840     3.87484632     3.87634406
+     0.850     3.86310436     3.86461535
+     0.860     3.85139798     3.85292212
+     0.870     3.83972708     3.84126427
+     0.880     3.82809154     3.82964169
+     0.890     3.81649127     3.81805428
+     0.900     3.80492614     3.80650193
+     0.910     3.79339606     3.79498454
+     0.920     3.78190092     3.78350199
+     0.930     3.77044062     3.77205419
+     0.940     3.75901504     3.76064102
+     0.950     3.74762408     3.74926239
+     0.960     3.73626765     3.73791819
+     0.970     3.72494562     3.72660831
+     0.980     3.71365791     3.71533265
+     0.990     3.70240440     3.70409110
+     1.000     3.69118499     3.69288357
+     1.010     3.67999958     3.68170996
+     1.020     3.66884807     3.67057015
+     1.030     3.65773035     3.65946404
+     1.040     3.64664632     3.64839154
+     1.050     3.63559587     3.63735255
+     1.060     3.62457892     3.62634695
+     1.070     3.61359534     3.61537465
+     1.080     3.60264506     3.60443555
+     1.090     3.59172795     3.59352955
+     1.100     3.58084393     3.58265655
+     1.110     3.56999288     3.57181645
+     1.120     3.55917472     3.56100915
+     1.130     3.54838934     3.55023454
+     1.140     3.53763665     3.53949254
+     1.150     3.52691654     3.52878304
+     1.160     3.51622891     3.51810594
+     1.170     3.50557367     3.50746115
+     1.180     3.49495072     3.49684857
+     1.190     3.48435996     3.48626810
+     1.200     3.47380130     3.47571964
+     1.210     3.46327463     3.46520310
+     1.220     3.45277985     3.45471838
+     1.230     3.44231689     3.44426538
+     1.240     3.43188562     3.43384401
+     1.250     3.42148597     3.42345417
+     1.260     3.41111783     3.41309577
+     1.270     3.40078111     3.40276871
+     1.280     3.39047571     3.39247290
+     1.290     3.38020154     3.38220824
+     1.300     3.36995851     3.37197464
+     1.310     3.35974651     3.36177200
+     1.320     3.34956546     3.35160023
+     1.330     3.33941526     3.34145924
+     1.340     3.32929582     3.33134893
+     1.350     3.31920705     3.32126921
+     1.360     3.30914885     3.31122000
+     1.370     3.29912112     3.30120118
+     1.380     3.28912378     3.29121269
+     1.390     3.27915674     3.28125441
+     1.400     3.26921990     3.27132626
+     1.410     3.25931318     3.26142816
+     1.420     3.24943647     3.25156000
+     1.430     3.23958969     3.24172171
+     1.440     3.22977276     3.23191317
+     1.450     3.21998557     3.22213432
+     1.460     3.21022803     3.21238506
+     1.470     3.20050007     3.20266529
+     1.480     3.19080158     3.19297494
+     1.490     3.18113249     3.18331390
+     1.500     3.17149269     3.17368209
+     1.510     3.16188211     3.16407943
+     1.520     3.15230065     3.15450583
+     1.530     3.14274822     3.14496119
+     1.540     3.13322474     3.13544543
+     1.550     3.12373012     3.12595846
+     1.560     3.11426427     3.11650019
+     1.570     3.10482711     3.10707055
+     1.580     3.09541854     3.09766944
+     1.590     3.08603849     3.08829677
+     1.600     3.07668685     3.07895246
+     1.610     3.06736356     3.06963642
+     1.620     3.05806852     3.06034857
+     1.630     3.04880164     3.05108882
+     1.640     3.03956285     3.04185710
+     1.650     3.03035206     3.03265330
+     1.660     3.02116917     3.02347735
+     1.670     3.01201411     3.01432917
+     1.680     3.00288680     3.00520866
+     1.690     2.99378714     2.99611575
+     1.700     2.98471506     2.98705036
+     1.710     2.97567047     2.97801239
+     1.720     2.96665328     2.96900177
+     1.730     2.95766343     2.96001841
+     1.740     2.94870081     2.95106223
+     1.750     2.93976535     2.94213316
+     1.760     2.93085697     2.93323110
+     1.770     2.92197559     2.92435597
+     1.780     2.91312112     2.91550770
+     1.790     2.90429348     2.90668620
+     1.800     2.89549259     2.89789139
+     1.810     2.88671837     2.88912320
+     1.820     2.87797074     2.88038153
+     1.830     2.86924961     2.87166631
+     1.840     2.86055492     2.86297746
+     1.850     2.85188657     2.85431491
+     1.860     2.84324449     2.84567856
+     1.870     2.83462859     2.83706834
+     1.880     2.82603881     2.82848418
+     1.890     2.81747506     2.81992599
+     1.900     2.80893725     2.81139369
+     1.910     2.80042532     2.80288721
+     1.920     2.79193919     2.79440647
+     1.930     2.78347876     2.78595139
+     1.940     2.77504398     2.77752189
+     1.950     2.76663476     2.76911790
+     1.960     2.75825101     2.76073933
+     1.970     2.74989268     2.75238612
+     1.980     2.74155967     2.74405818
+     1.990     2.73325191     2.73575544
+     2.000     2.72496933     2.72747782
+     2.010     2.71671185     2.71922525
+     2.020     2.70847939     2.71099764
+     2.030     2.70027187     2.70279493
+     2.040     2.69208923     2.69461704
+     2.050     2.68393139     2.68646389
+     2.060     2.67579826     2.67833542
+     2.070     2.66768978     2.67023153
+     2.080     2.65960587     2.66215217
+     2.090     2.65154646     2.65409725
+     2.100     2.64351147     2.64606671
+     2.110     2.63550083     2.63806046
+     2.120     2.62751447     2.63007844
+     2.130     2.61955230     2.62212057
+     2.140     2.61161426     2.61418677
+     2.150     2.60370028     2.60627699
+     2.160     2.59581028     2.59839113
+     2.170     2.58794419     2.59052914
+     2.180     2.58010193     2.58269093
+     2.190     2.57228344     2.57487644
+     2.200     2.56448864     2.56708560
+     2.210     2.55671747     2.55931832
+     2.220     2.54896984     2.55157455
+     2.230     2.54124569     2.54385421
+     2.240     2.53354494     2.53615723
+     2.250     2.52586753     2.52848354
+     2.260     2.51821339     2.52083306
+     2.270     2.51058244     2.51320574
+     2.280     2.50297461     2.50560149
+     2.290     2.49538984     2.49802025
+     2.300     2.48782805     2.49046195
+     2.310     2.48028918     2.48292652
+     2.320     2.47277315     2.47541389
+     2.330     2.46527990     2.46792399
+     2.340     2.45780936     2.46045675
+     2.350     2.45036145     2.45301211
+     2.360     2.44293611     2.44558999
+     2.370     2.43553328     2.43819033
+     2.380     2.42815287     2.43081305
+     2.390     2.42079483     2.42345810
+     2.400     2.41345909     2.41612541
+     2.410     2.40614558     2.40881490
+     2.420     2.39885423     2.40152651
+     2.430     2.39158497     2.39426017
+     2.440     2.38433775     2.38701582
+     2.450     2.37711248     2.37979338
+     2.460     2.36990911     2.37259280
+     2.470     2.36272757     2.36541401
+     2.480     2.35556778     2.35825694
+     2.490     2.34842970     2.35112152
+     2.500     2.34131325     2.34400770
+     2.510     2.33421836     2.33691539
+     2.520     2.32714497     2.32984455
+     2.530     2.32009302     2.32279510
+     2.540     2.31306243     2.31576698
+     2.550     2.30605315     2.30876013
+     2.560     2.29906511     2.30177448
+     2.570     2.29209825     2.29480996
+     2.580     2.28515249     2.28786652
+     2.590     2.27822779     2.28094408
+     2.600     2.27132407     2.27404259
+     2.610     2.26444127     2.26716198
+     2.620     2.25757933     2.26030219
+     2.630     2.25073818     2.25346316
+     2.640     2.24391776     2.24664482
+     2.650     2.23711801     2.23984711
+     2.660     2.23033886     2.23306997
+     2.670     2.22358026     2.22631333
+     2.680     2.21684214     2.21957714
+     2.690     2.21012443     2.21286133
+     2.700     2.20342709     2.20616584
+     2.710     2.19675003     2.19949061
+     2.720     2.19009322     2.19283557
+     2.730     2.18345657     2.18620067
+     2.740     2.17684003     2.17958585
+     2.750     2.17024355     2.17299104
+     2.760     2.16366705     2.16641619
+     2.770     2.15711049     2.15986123
+     2.780     2.15057379     2.15332610
+     2.790     2.14405690     2.14681075
+     2.800     2.13755976     2.14031511
+     2.810     2.13108230     2.13383912
+     2.820     2.12462448     2.12738273
+     2.830     2.11818622     2.12094587
+     2.840     2.11176748     2.11452849
+     2.850     2.10536818     2.10813053
+     2.860     2.09898828     2.10175192
+     2.870     2.09262771     2.09539262
+     2.880     2.08628641     2.08905255
+     2.890     2.07996433     2.08273167
+     2.900     2.07366141     2.07642992
+     2.910     2.06737759     2.07014723
+     2.920     2.06111280     2.06388355
+     2.930     2.05486701     2.05763883
+     2.940     2.04864014     2.05141299
+     2.950     2.04243214     2.04520600
+     2.960     2.03624295     2.03901779
+     2.970     2.03007252     2.03284830
+     2.980     2.02392078     2.02669748
+     2.990     2.01778769     2.02056526
+     3.000     2.01167318     2.01445161
+     3.010     2.00557720     2.00835645
+     3.020     1.99949969     2.00227973
+     3.030     1.99344060     1.99622140
+     3.040     1.98739988     1.99018140
+     3.050     1.98137745     1.98415968
+     3.060     1.97537328     1.97815617
+     3.070     1.96938730     1.97217083
+     3.080     1.96341946     1.96620360
+     3.090     1.95746970     1.96025443
+     3.100     1.95153798     1.95432326
+     3.110     1.94562422     1.94841003
+     3.120     1.93972839     1.94251469
+     3.130     1.93385043     1.93663719
+     3.140     1.92799028     1.93077748
+     3.150     1.92214788     1.92493549
+     3.160     1.91632319     1.91911119
+     3.170     1.91051615     1.91330450
+     3.180     1.90472671     1.90751538
+     3.190     1.89895481     1.90174378
+     3.200     1.89320040     1.89598965
+     3.210     1.88746343     1.89025292
+     3.220     1.88174384     1.88453355
+     3.230     1.87604159     1.87883149
+     3.240     1.87035661     1.87314668
+     3.250     1.86468887     1.86747906
+     3.260     1.85903829     1.86182860
+     3.270     1.85340484     1.85619524
+     3.280     1.84778847     1.85057892
+     3.290     1.84218911     1.84497959
+     3.300     1.83660672     1.83939721
+     3.310     1.83104124     1.83383171
+     3.320     1.82549263     1.82828306
+     3.330     1.81996084     1.82275119
+     3.340     1.81444580     1.81723606
+     3.350     1.80894748     1.81173762
+     3.360     1.80346582     1.80625582
+     3.370     1.79800078     1.80079060
+     3.380     1.79255229     1.79534192
+     3.390     1.78712031     1.78990972
+     3.400     1.78170480     1.78449397
+     3.410     1.77630569     1.77909459
+     3.420     1.77092295     1.77371156
+     3.430     1.76555651     1.76834481
+     3.440     1.76020634     1.76299430
+     3.450     1.75487238     1.75765998
+     3.460     1.74955459     1.75234180
+     3.470     1.74425291     1.74703971
+     3.480     1.73896729     1.74175366
+     3.490     1.73369769     1.73648361
+     3.500     1.72844406     1.73122950
+     3.510     1.72320636     1.72599129
+     3.520     1.71798452     1.72076893
+     3.530     1.71277850     1.71556238
+     3.540     1.70758827     1.71037157
+     3.550     1.70241376     1.70519647
+     3.560     1.69725493     1.70003703
+     3.570     1.69211173     1.69489320
+     3.580     1.68698412     1.68976494
+     3.590     1.68187205     1.68465219
+     3.600     1.67677546     1.67955491
+     3.610     1.67169433     1.67447305
+     3.620     1.66662859     1.66940657
+     3.630     1.66157820     1.66435542
+     3.640     1.65654311     1.65931955
+     3.650     1.65152328     1.65429892
+     3.660     1.64651867     1.64929348
+     3.670     1.64152922     1.64430319
+     3.680     1.63655489     1.63932799
+     3.690     1.63159563     1.63436785
+     3.700     1.62665140     1.62942272
+     3.710     1.62172215     1.62449255
+     3.720     1.61680784     1.61957729
+     3.730     1.61190842     1.61467691
+     3.740     1.60702385     1.60979136
+     3.750     1.60215408     1.60492059
+     3.760     1.59729907     1.60006455
+     3.770     1.59245877     1.59522321
+     3.780     1.58763314     1.59039652
+     3.790     1.58282213     1.58558443
+     3.800     1.57802570     1.58078690
+     3.810     1.57324380     1.57600389
+     3.820     1.56847640     1.57123535
+     3.830     1.56372344     1.56648123
+     3.840     1.55898488     1.56174151
+     3.850     1.55426069     1.55701612
+     3.860     1.54955081     1.55230503
+     3.870     1.54485520     1.54760820
+     3.880     1.54017382     1.54292557
+     3.890     1.53550662     1.53825712
+     3.900     1.53085357     1.53360279
+     3.910     1.52621462     1.52896254
+     3.920     1.52158973     1.52433633
+     3.930     1.51697885     1.51972412
+     3.940     1.51238195     1.51512587
+     3.950     1.50779897     1.51054153
+     3.960     1.50322988     1.50597106
+     3.970     1.49867464     1.50141442
+     3.980     1.49413320     1.49687156
+     3.990     1.48960553     1.49234246
+     4.000     1.48509157     1.48782705
+     4.010     1.48059129     1.48332531
+     4.020     1.47610465     1.47883719
+     4.030     1.47163161     1.47436264
+     4.040     1.46717212     1.46990164
+     4.050     1.46272614     1.46545414
+     4.060     1.45829364     1.46102009
+     4.070     1.45387457     1.45659946
+     4.080     1.44946889     1.45219220
+     4.090     1.44507656     1.44779828
+     4.100     1.44069754     1.44341765
+     4.110     1.43633179     1.43905028
+     4.120     1.43197927     1.43469612
+     4.130     1.42763994     1.43035514
+     4.140     1.42331375     1.42602729
+     4.150     1.41900068     1.42171253
+     4.160     1.41470068     1.41741084
+     4.170     1.41041371     1.41312215
+     4.180     1.40613973     1.40884645
+     4.190     1.40187870     1.40458368
+     4.200     1.39763058     1.40033380
+     4.210     1.39339534     1.39609679
+     4.220     1.38917293     1.39187260
+     4.230     1.38496331     1.38766119
+     4.240     1.38076645     1.38346252
+     4.250     1.37658231     1.37927655
+     4.260     1.37241085     1.37510325
+     4.270     1.36825203     1.37094258
+     4.280     1.36410581     1.36679450
+     4.290     1.35997216     1.36265897
+     4.300     1.35585103     1.35853595
+     4.310     1.35174239     1.35442540
+     4.320     1.34764620     1.35032729
+     4.330     1.34356242     1.34624159
+     4.340     1.33949102     1.34216824
+     4.350     1.33543196     1.33810722
+     4.360     1.33138520     1.33405849
+     4.370     1.32735070     1.33002201
+     4.380     1.32332842     1.32599774
+     4.390     1.31931833     1.32198564
+     4.400     1.31532040     1.31798569
+     4.410     1.31133458     1.31399784
+     4.420     1.30736084     1.31002206
+     4.430     1.30339914     1.30605830
+     4.440     1.29944945     1.30210654
+     4.450     1.29551172     1.29816673
+     4.460     1.29158593     1.29423885
+     4.470     1.28767203     1.29032285
+     4.480     1.28376999     1.28641870
+     4.490     1.27987978     1.28252636
+     4.500     1.27600136     1.27864580
+     4.510     1.27213469     1.27477698
+     4.520     1.26827973     1.27091987
+     4.530     1.26443646     1.26707442
+     4.540     1.26060484     1.26324062
+     4.550     1.25678482     1.25941841
+     4.560     1.25297638     1.25560777
+     4.570     1.24917948     1.25180865
+     4.580     1.24539409     1.24802103
+     4.590     1.24162017     1.24424488
+     4.600     1.23785769     1.24048015
+     4.610     1.23410660     1.23672680
+     4.620     1.23036688     1.23298482
+     4.630     1.22663850     1.22925416
+     4.640     1.22292141     1.22553478
+     4.650     1.21921559     1.22182666
+     4.660     1.21552100     1.21812976
+     4.670     1.21183760     1.21444405
+     4.680     1.20816537     1.21076948
+     4.690     1.20450426     1.20710604
+     4.700     1.20085425     1.20345368
+     4.710     1.19721529     1.19981237
+     4.720     1.19358737     1.19618208
+     4.730     1.18997044     1.19256277
+     4.740     1.18636447     1.18895441
+     4.750     1.18276942     1.18535697
+     4.760     1.17918527     1.18177042
+     4.770     1.17561198     1.17819472
+     4.780     1.17204952     1.17462984
+     4.790     1.16849786     1.17107574
+     4.800     1.16495696     1.16753240
+     4.810     1.16142678     1.16399977
+     4.820     1.15790731     1.16047784
+     4.830     1.15439850     1.15696656
+     4.840     1.15090032     1.15346591
+     4.850     1.14741274     1.14997585
+     4.860     1.14393574     1.14649635
+     4.870     1.14046926     1.14302738
+     4.880     1.13701330     1.13956890
+     4.890     1.13356780     1.13612089
+     4.900     1.13013275     1.13268331
+     4.910     1.12670810     1.12925613
+     4.920     1.12329384     1.12583932
+     4.930     1.11988992     1.12243285
+     4.940     1.11649631     1.11903669
+     4.950     1.11311299     1.11565080
+     4.960     1.10973992     1.11227516
+     4.970     1.10637707     1.10890973
+     4.980     1.10302441     1.10555448
+     4.990     1.09968191     1.10220939
+     5.000     1.09634954     1.09887442
+     5.010     1.09302727     1.09554953
+     5.020     1.08971507     1.09223471
+     5.030     1.08641290     1.08892992
+     5.040     1.08312074     1.08563513
+     5.050     1.07983856     1.08235030
+     5.060     1.07656632     1.07907542
+     5.070     1.07330400     1.07581044
+     5.080     1.07005156     1.07255534
+     5.090     1.06680898     1.06931010
+     5.100     1.06357623     1.06607467
+     5.110     1.06035327     1.06284903
+     5.120     1.05714008     1.05963315
+     5.130     1.05393662     1.05642700
+     5.140     1.05074287     1.05323055
+     5.150     1.04755880     1.05004377
+     5.160     1.04438438     1.04686664
+     5.170     1.04121958     1.04369912
+     5.180     1.03806437     1.04054118
+     5.190     1.03491872     1.03739280
+     5.200     1.03178261     1.03425394
+     5.210     1.02865599     1.03112458
+     5.220     1.02553885     1.02800469
+     5.230     1.02243116     1.02489424
+     5.240     1.01933288     1.02179320
+     5.250     1.01624399     1.01870155
+     5.260     1.01316447     1.01561924
+     5.270     1.01009427     1.01254627
+     5.280     1.00703338     1.00948259
+     5.290     1.00398176     1.00642818
+     5.300     1.00093939     1.00338302
+     5.310     0.99790625     1.00034706
+     5.320     0.99488229     0.99732030
+     5.330     0.99186749     0.99430269
+     5.340     0.98886183     0.99129421
+     5.350     0.98586528     0.98829484
+     5.360     0.98287781     0.98530454
+     5.370     0.97989939     0.98232328
+     5.380     0.97693000     0.97935105
+     5.390     0.97396961     0.97638781
+     5.400     0.97101818     0.97343354
+     5.410     0.96807571     0.97048821
+     5.420     0.96514214     0.96755179
+     5.430     0.96221747     0.96462425
+     5.440     0.95930166     0.96170557
+     5.450     0.95639468     0.95879572
+     5.460     0.95349652     0.95589468
+     5.470     0.95060714     0.95300241
+     5.480     0.94772651     0.95011890
+     5.490     0.94485461     0.94724411
+     5.500     0.94199141     0.94437801
+     5.510     0.93913689     0.94152059
+     5.520     0.93629102     0.93867182
+     5.530     0.93345378     0.93583167
+     5.540     0.93062513     0.93300010
+     5.550     0.92780505     0.93017711
+     5.560     0.92499352     0.92736266
+     5.570     0.92219051     0.92455672
+     5.580     0.91939600     0.92175928
+     5.590     0.91660995     0.91897029
+     5.600     0.91383234     0.91618975
+     5.610     0.91106315     0.91341762
+     5.620     0.90830236     0.91065388
+     5.630     0.90554992     0.90789850
+     5.640     0.90280583     0.90515145
+     5.650     0.90007006     0.90241272
+     5.660     0.89734257     0.89968228
+     5.670     0.89462335     0.89696009
+     5.680     0.89191237     0.89424615
+     5.690     0.88920961     0.89154041
+     5.700     0.88651503     0.88884286
+     5.710     0.88382863     0.88615348
+     5.720     0.88115036     0.88347223
+     5.730     0.87848020     0.88079909
+     5.740     0.87581814     0.87813404
+     5.750     0.87316415     0.87547706
+     5.760     0.87051820     0.87282811
+     5.770     0.86788026     0.87018718
+     5.780     0.86525032     0.86755424
+     5.790     0.86262835     0.86492927
+     5.800     0.86001433     0.86231224
+     5.810     0.85740822     0.85970313
+     5.820     0.85481002     0.85710191
+     5.830     0.85221968     0.85450856
+     5.840     0.84963720     0.85192306
+     5.850     0.84706254     0.84934539
+     5.860     0.84449568     0.84677551
+     5.870     0.84193661     0.84421341
+     5.880     0.83938528     0.84165906
+     5.890     0.83684169     0.83911243
+     5.900     0.83430581     0.83657352
+     5.910     0.83177761     0.83404228
+     5.920     0.82925707     0.83151871
+     5.930     0.82674417     0.82900277
+     5.940     0.82423888     0.82649444
+     5.950     0.82174119     0.82399370
+     5.960     0.81925107     0.82150053
+     5.970     0.81676849     0.81901490
+     5.980     0.81429343     0.81653680
+     5.990     0.81182588     0.81406619
+     6.000     0.80936580     0.81160306
+     6.010     0.80691317     0.80914738
+     6.020     0.80446798     0.80669912
+     6.030     0.80203020     0.80425828
+     6.040     0.79959981     0.80182482
+     6.050     0.79717678     0.79939873
+     6.060     0.79476109     0.79697998
+     6.070     0.79235272     0.79456854
+     6.080     0.78995165     0.79216440
+     6.090     0.78755786     0.78976754
+     6.100     0.78517132     0.78737793
+     6.110     0.78279201     0.78499554
+     6.120     0.78041992     0.78262037
+     6.130     0.77805501     0.78025238
+     6.140     0.77569727     0.77789156
+     6.150     0.77334667     0.77553788
+     6.160     0.77100319     0.77319132
+     6.170     0.76866682     0.77085187
+     6.180     0.76633753     0.76851949
+     6.190     0.76401529     0.76619416
+     6.200     0.76170009     0.76387588
+     6.210     0.75939191     0.76156461
+     6.220     0.75709072     0.75926033
+     6.230     0.75479651     0.75696302
+     6.240     0.75250925     0.75467267
+     6.250     0.75022892     0.75238924
+     6.260     0.74795550     0.75011272
+     6.270     0.74568896     0.74784310
+     6.280     0.74342930     0.74558034
+     6.290     0.74117648     0.74332442
+     6.300     0.73893049     0.74107533
+     6.310     0.73669131     0.73883305
+     6.320     0.73445891     0.73659755
+     6.330     0.73223328     0.73436881
+     6.340     0.73001439     0.73214682
+     6.350     0.72780223     0.72993155
+     6.360     0.72559677     0.72772299
+     6.370     0.72339799     0.72552110
+     6.380     0.72120587     0.72332588
+     6.390     0.71902040     0.72113730
+     6.400     0.71684155     0.71895535
+     6.410     0.71466930     0.71677999
+     6.420     0.71250364     0.71461122
+     6.430     0.71034454     0.71244901
+     6.440     0.70819198     0.71029334
+     6.450     0.70604594     0.70814419
+     6.460     0.70390641     0.70600155
+     6.470     0.70177336     0.70386539
+     6.480     0.69964677     0.70173569
+     6.490     0.69752663     0.69961244
+     6.500     0.69541291     0.69749561
+     6.510     0.69330560     0.69538519
+     6.520     0.69120468     0.69328115
+     6.530     0.68911012     0.69118348
+     6.540     0.68702190     0.68909215
+     6.550     0.68494002     0.68700715
+     6.560     0.68286444     0.68492847
+     6.570     0.68079516     0.68285607
+     6.580     0.67873214     0.68078994
+     6.590     0.67667538     0.67873006
+     6.600     0.67462485     0.67667642
+     6.610     0.67258053     0.67462899
+     6.620     0.67054241     0.67258775
+     6.630     0.66851046     0.67055269
+     6.640     0.66648467     0.66852379
+     6.650     0.66446502     0.66650102
+     6.660     0.66245149     0.66448438
+     6.670     0.66044406     0.66247384
+     6.680     0.65844271     0.66046938
+     6.690     0.65644743     0.65847099
+     6.700     0.65445820     0.65647864
+     6.710     0.65247499     0.65449232
+     6.720     0.65049780     0.65251202
+     6.730     0.64852659     0.65053770
+     6.740     0.64656136     0.64856936
+     6.750     0.64460208     0.64660697
+     6.760     0.64264874     0.64465052
+     6.770     0.64070132     0.64269999
+     6.780     0.63875980     0.64075536
+     6.790     0.63682417     0.63881662
+     6.800     0.63489440     0.63688374
+     6.810     0.63297047     0.63495671
+     6.820     0.63105238     0.63303551
+     6.830     0.62914010     0.63112013
+     6.840     0.62723362     0.62921054
+     6.850     0.62533291     0.62730673
+     6.860     0.62343796     0.62540867
+     6.870     0.62154875     0.62351636
+     6.880     0.61966527     0.62162978
+     6.890     0.61778750     0.61974890
+     6.900     0.61591542     0.61787372
+     6.910     0.61404901     0.61600421
+     6.920     0.61218825     0.61414036
+     6.930     0.61033313     0.61228214
+     6.940     0.60848364     0.61042955
+     6.950     0.60663975     0.60858256
+     6.960     0.60480145     0.60674116
+     6.970     0.60296872     0.60490534
+     6.980     0.60114154     0.60307507
+     6.990     0.59931990     0.60125033
+     7.000     0.59750378     0.59943112
+     7.010     0.59569316     0.59761741
+     7.020     0.59388803     0.59580919
+     7.030     0.59208837     0.59400644
+     7.040     0.59029416     0.59220915
+     7.050     0.58850539     0.59041729
+     7.060     0.58672204     0.58863085
+     7.070     0.58494410     0.58684982
+     7.080     0.58317154     0.58507418
+     7.090     0.58140435     0.58330391
+     7.100     0.57964252     0.58153900
+     7.110     0.57788603     0.57977943
+     7.120     0.57613486     0.57802518
+     7.130     0.57438899     0.57627624
+     7.140     0.57264842     0.57453259
+     7.150     0.57091312     0.57279422
+     7.160     0.56918308     0.57106111
+     7.170     0.56745829     0.56933324
+     7.180     0.56573872     0.56761060
+     7.190     0.56402436     0.56589317
+     7.200     0.56231519     0.56418094
+     7.210     0.56061121     0.56247389
+     7.220     0.55891238     0.56077200
+     7.230     0.55721871     0.55907526
+     7.240     0.55553017     0.55738366
+     7.250     0.55384674     0.55569717
+     7.260     0.55216842     0.55401579
+     7.270     0.55049518     0.55233950
+     7.280     0.54882702     0.55066827
+     7.290     0.54716390     0.54900211
+     7.300     0.54550583     0.54734098
+     7.310     0.54385278     0.54568489
+     7.320     0.54220474     0.54403380
+     7.330     0.54056170     0.54238771
+     7.340     0.53892363     0.54074659
+     7.350     0.53729053     0.53911045
+     7.360     0.53566238     0.53747925
+     7.370     0.53403916     0.53585299
+     7.380     0.53242086     0.53423165
+     7.390     0.53080746     0.53261522
+     7.400     0.52919895     0.53100368
+     7.410     0.52759532     0.52939701
+     7.420     0.52599655     0.52779521
+     7.430     0.52440262     0.52619825
+     7.440     0.52281352     0.52460612
+     7.450     0.52122924     0.52301881
+     7.460     0.51964975     0.52143631
+     7.470     0.51807506     0.51985859
+     7.480     0.51650513     0.51828564
+     7.490     0.51493997     0.51671746
+     7.500     0.51337954     0.51515402
+     7.510     0.51182385     0.51359531
+     7.520     0.51027287     0.51204131
+     7.530     0.50872658     0.51049202
+     7.540     0.50718499     0.50894742
+     7.550     0.50564806     0.50740749
+     7.560     0.50411580     0.50587222
+     7.570     0.50258817     0.50434159
+     7.580     0.50106518     0.50281560
+     7.590     0.49954680     0.50129422
+     7.600     0.49803302     0.49977744
+     7.610     0.49652383     0.49826526
+     7.620     0.49501921     0.49675765
+     7.630     0.49351915     0.49525460
+     7.640     0.49202364     0.49375610
+     7.650     0.49053266     0.49226214
+     7.660     0.48904620     0.49077269
+     7.670     0.48756424     0.48928775
+     7.680     0.48608677     0.48780731
+     7.690     0.48461378     0.48633134
+     7.700     0.48314526     0.48485984
+     7.710     0.48168118     0.48339279
+     7.720     0.48022154     0.48193018
+     7.730     0.47876632     0.48047200
+     7.740     0.47731552     0.47901823
+     7.750     0.47586911     0.47756885
+     7.760     0.47442708     0.47612386
+     7.770     0.47298942     0.47468325
+     7.780     0.47155612     0.47324699
+     7.790     0.47012716     0.47181508
+     7.800     0.46870253     0.47038750
+     7.810     0.46728222     0.46896424
+     7.820     0.46586622     0.46754529
+     7.830     0.46445450     0.46613063
+     7.840     0.46304706     0.46472025
+     7.850     0.46164389     0.46331414
+     7.860     0.46024497     0.46191228
+     7.870     0.45885029     0.46051467
+     7.880     0.45745983     0.45912128
+     7.890     0.45607359     0.45773211
+     7.900     0.45469155     0.45634714
+     7.910     0.45331369     0.45496637
+     7.920     0.45194002     0.45358977
+     7.930     0.45057050     0.45221733
+     7.940     0.44920514     0.45084905
+     7.950     0.44784391     0.44948491
+     7.960     0.44648681     0.44812490
+     7.970     0.44513382     0.44676900
+     7.980     0.44378493     0.44541720
+     7.990     0.44244012     0.44406949
+     8.000     0.44109939     0.44272587
+     8.010     0.43976273     0.44138630
+     8.020     0.43843012     0.44005079
+     8.030     0.43710154     0.43871933
+     8.040     0.43577699     0.43739188
+     8.050     0.43445645     0.43606846
+     8.060     0.43313992     0.43474904
+     8.070     0.43182737     0.43343361
+     8.080     0.43051881     0.43212217
+     8.090     0.42921420     0.43081469
+     8.100     0.42791355     0.42951117
+     8.110     0.42661685     0.42821159
+     8.120     0.42532407     0.42691594
+     8.130     0.42403521     0.42562421
+     8.140     0.42275025     0.42433639
+     8.150     0.42146919     0.42305247
+     8.160     0.42019201     0.42177244
+     8.170     0.41891870     0.42049627
+     8.180     0.41764925     0.41922397
+     8.190     0.41638365     0.41795552
+     8.200     0.41512188     0.41669090
+     8.210     0.41386393     0.41543011
+     8.220     0.41260980     0.41417314
+     8.230     0.41135947     0.41291997
+     8.240     0.41011292     0.41167059
+     8.250     0.40887016     0.41042499
+     8.260     0.40763116     0.40918316
+     8.270     0.40639591     0.40794509
+     8.280     0.40516441     0.40671077
+     8.290     0.40393664     0.40548017
+     8.300     0.40271259     0.40425331
+     8.310     0.40149225     0.40303015
+     8.320     0.40027560     0.40181070
+     8.330     0.39906265     0.40059493
+     8.340     0.39785337     0.39938284
+     8.350     0.39664775     0.39817442
+     8.360     0.39544579     0.39696966
+     8.370     0.39424747     0.39576854
+     8.380     0.39305278     0.39457106
+     8.390     0.39186171     0.39337720
+     8.400     0.39067425     0.39218695
+     8.410     0.38949039     0.39100031
+     8.420     0.38831011     0.38981725
+     8.430     0.38713342     0.38863777
+     8.440     0.38596028     0.38746187
+     8.450     0.38479071     0.38628952
+     8.460     0.38362467     0.38512071
+     8.470     0.38246218     0.38395545
+     8.480     0.38130320     0.38279371
+     8.490     0.38014774     0.38163548
+     8.500     0.37899577     0.38048076
+     8.510     0.37784730     0.37932953
+     8.520     0.37670231     0.37818179
+     8.530     0.37556079     0.37703752
+     8.540     0.37442272     0.37589671
+     8.550     0.37328811     0.37475936
+     8.560     0.37215693     0.37362544
+     8.570     0.37102918     0.37249496
+     8.580     0.36990485     0.37136789
+     8.590     0.36878393     0.37024424
+     8.600     0.36766640     0.36912398
+     8.610     0.36655226     0.36800712
+     8.620     0.36544150     0.36689363
+     8.630     0.36433410     0.36578352
+     8.640     0.36323006     0.36467676
+     8.650     0.36212936     0.36357335
+     8.660     0.36103200     0.36247328
+     8.670     0.35993796     0.36137654
+     8.680     0.35884724     0.36028312
+     8.690     0.35775982     0.35919300
+     8.700     0.35667570     0.35810619
+     8.710     0.35559487     0.35702266
+     8.720     0.35451731     0.35594241
+     8.730     0.35344301     0.35486543
+     8.740     0.35237197     0.35379171
+     8.750     0.35130418     0.35272123
+     8.760     0.35023962     0.35165400
+     8.770     0.34917829     0.35058999
+     8.780     0.34812017     0.34952921
+     8.790     0.34706526     0.34847163
+     8.800     0.34601355     0.34741726
+     8.810     0.34496503     0.34636607
+     8.820     0.34391968     0.34531806
+     8.830     0.34287750     0.34427323
+     8.840     0.34183847     0.34323156
+     8.850     0.34080260     0.34219304
+     8.860     0.33976986     0.34115766
+     8.870     0.33874026     0.34012541
+     8.880     0.33771377     0.33909629
+     8.890     0.33669040     0.33807028
+     8.900     0.33567012     0.33704737
+     8.910     0.33465294     0.33602756
+     8.920     0.33363884     0.33501084
+     8.930     0.33262781     0.33399719
+     8.940     0.33161985     0.33298661
+     8.950     0.33061494     0.33197909
+     8.960     0.32961308     0.33097461
+     8.970     0.32861425     0.32997318
+     8.980     0.32761845     0.32897477
+     8.990     0.32662567     0.32797939
+     9.000     0.32563589     0.32698702
+     9.010     0.32464912     0.32599765
+     9.020     0.32366533     0.32501127
+     9.030     0.32268453     0.32402788
+     9.040     0.32170670     0.32304746
+     9.050     0.32073183     0.32207001
+     9.060     0.31975991     0.32109552
+     9.070     0.31879094     0.32012398
+     9.080     0.31782491     0.31915537
+     9.090     0.31686181     0.31818970
+     9.100     0.31590162     0.31722695
+     9.110     0.31494434     0.31626711
+     9.120     0.31398996     0.31531017
+     9.130     0.31303848     0.31435613
+     9.140     0.31208988     0.31340498
+     9.150     0.31114415     0.31245671
+     9.160     0.31020129     0.31151130
+     9.170     0.30926129     0.31056876
+     9.180     0.30832413     0.30962906
+     9.190     0.30738981     0.30869221
+     9.200     0.30645833     0.30775820
+     9.210     0.30552967     0.30682701
+     9.220     0.30460382     0.30589864
+     9.230     0.30368078     0.30497308
+     9.240     0.30276053     0.30405031
+     9.250     0.30184308     0.30313034
+     9.260     0.30092840     0.30221316
+     9.270     0.30001650     0.30129875
+     9.280     0.29910736     0.30038710
+     9.290     0.29820097     0.29947821
+     9.300     0.29729733     0.29857208
+     9.310     0.29639643     0.29766868
+     9.320     0.29549826     0.29676802
+     9.330     0.29460281     0.29587009
+     9.340     0.29371007     0.29497487
+     9.350     0.29282004     0.29408236
+     9.360     0.29193271     0.29319255
+     9.370     0.29104807     0.29230543
+     9.380     0.29016610     0.29142100
+     9.390     0.28928681     0.29053924
+     9.400     0.28841018     0.28966015
+     9.410     0.28753621     0.28878372
+     9.420     0.28666489     0.28790994
+     9.430     0.28579621     0.28703881
+     9.440     0.28493016     0.28617031
+     9.450     0.28406674     0.28530444
+     9.460     0.28320593     0.28444119
+     9.470     0.28234773     0.28358055
+     9.480     0.28149213     0.28272252
+     9.490     0.28063912     0.28186708
+     9.500     0.27978870     0.28101423
+     9.510     0.27894086     0.28016396
+     9.520     0.27809558     0.27931627
+     9.530     0.27725287     0.27847113
+     9.540     0.27641271     0.27762856
+     9.550     0.27557509     0.27678853
+     9.560     0.27474002     0.27595105
+     9.570     0.27390747     0.27511610
+     9.580     0.27307745     0.27428368
+     9.590     0.27224994     0.27345377
+     9.600     0.27142494     0.27262638
+     9.610     0.27060244     0.27180149
+     9.620     0.26978243     0.27097909
+     9.630     0.26896491     0.27015919
+     9.640     0.26814987     0.26934176
+     9.650     0.26733729     0.26852681
+     9.660     0.26652718     0.26771433
+     9.670     0.26571952     0.26690430
+     9.680     0.26491431     0.26609672
+     9.690     0.26411154     0.26529159
+     9.700     0.26331120     0.26448889
+     9.710     0.26251329     0.26368862
+     9.720     0.26171779     0.26289078
+     9.730     0.26092471     0.26209534
+     9.740     0.26013403     0.26130232
+     9.750     0.25934574     0.26051169
+     9.760     0.25855985     0.25972346
+     9.770     0.25777633     0.25893761
+     9.780     0.25699519     0.25815413
+     9.790     0.25621642     0.25737303
+     9.800     0.25544001     0.25659430
+     9.810     0.25466594     0.25581791
+     9.820     0.25389423     0.25504388
+     9.830     0.25312485     0.25427219
+     9.840     0.25235781     0.25350284
+     9.850     0.25159309     0.25273581
+     9.860     0.25083068     0.25197110
+     9.870     0.25007059     0.25120871
+     9.880     0.24931280     0.25044862
+     9.890     0.24855731     0.24969084
+     9.900     0.24780410     0.24893534
+     9.910     0.24705318     0.24818213
+     9.920     0.24630454     0.24743121
+     9.930     0.24555816     0.24668255
+     9.940     0.24481404     0.24593616
+     9.950     0.24407218     0.24519202
+     9.960     0.24333257     0.24445014
+     9.970     0.24259520     0.24371051
+     9.980     0.24186006     0.24297311
+     9.990     0.24112715     0.24223794
+    10.000     0.24039646     0.24150500
+    10.010     0.23966799     0.24077427
+    10.020     0.23894172     0.24004576
+    10.030     0.23821766     0.23931945
+    10.040     0.23749579     0.23859533
+    10.050     0.23677610     0.23787341
+    10.060     0.23605860     0.23715367
+    10.070     0.23534327     0.23643611
+    10.080     0.23463011     0.23572073
+    10.090     0.23391911     0.23500750
+    10.100     0.23321026     0.23429644
+    10.110     0.23250356     0.23358752
+    10.120     0.23179901     0.23288075
+    10.130     0.23109659     0.23217612
+    10.140     0.23039629     0.23147362
+    10.150     0.22969812     0.23077325
+    10.160     0.22900207     0.23007499
+    10.170     0.22830812     0.22937885
+    10.180     0.22761628     0.22868482
+    10.190     0.22692653     0.22799288
+    10.200     0.22623888     0.22730304
+    10.210     0.22555331     0.22661528
+    10.220     0.22486981     0.22592961
+    10.230     0.22418839     0.22524601
+    10.240     0.22350903     0.22456448
+    10.250     0.22283173     0.22388501
+    10.260     0.22215648     0.22320760
+    10.270     0.22148328     0.22253224
+    10.280     0.22081212     0.22185892
+    10.290     0.22014299     0.22118764
+    10.300     0.21947589     0.22051839
+    10.310     0.21881081     0.21985116
+    10.320     0.21814775     0.21918595
+    10.330     0.21748669     0.21852276
+    10.340     0.21682764     0.21786157
+    10.350     0.21617059     0.21720238
+    10.360     0.21551553     0.21654519
+    10.370     0.21486245     0.21588998
+    10.380     0.21421135     0.21523676
+    10.390     0.21356223     0.21458552
+    10.400     0.21291507     0.21393624
+    10.410     0.21226987     0.21328893
+    10.420     0.21162663     0.21264358
+    10.430     0.21098534     0.21200018
+    10.440     0.21034599     0.21135873
+    10.450     0.20970858     0.21071922
+    10.460     0.20907309     0.21008164
+    10.470     0.20843954     0.20944599
+    10.480     0.20780790     0.20881227
+    10.490     0.20717818     0.20818046
+    10.500     0.20655037     0.20755057
+    10.510     0.20592446     0.20692258
+    10.520     0.20530045     0.20629649
+    10.530     0.20467833     0.20567229
+    10.540     0.20405809     0.20504999
+    10.550     0.20343973     0.20442957
+    10.560     0.20282325     0.20381102
+    10.570     0.20220863     0.20319435
+    10.580     0.20159588     0.20257954
+    10.590     0.20098498     0.20196659
+    10.600     0.20037593     0.20135550
+    10.610     0.19976873     0.20074625
+    10.620     0.19916337     0.20013885
+    10.630     0.19855985     0.19953329
+    10.640     0.19795815     0.19892956
+    10.650     0.19735828     0.19832765
+    10.660     0.19676022     0.19772757
+    10.670     0.19616398     0.19712930
+    10.680     0.19556954     0.19653284
+    10.690     0.19497691     0.19593819
+    10.700     0.19438607     0.19534534
+    10.710     0.19379702     0.19475428
+    10.720     0.19320976     0.19416501
+    10.730     0.19262427     0.19357752
+    10.740     0.19204056     0.19299181
+    10.750     0.19145862     0.19240787
+    10.760     0.19087845     0.19182570
+    10.770     0.19030003     0.19124529
+    10.780     0.18972336     0.19066663
+    10.790     0.18914844     0.19008973
+    10.800     0.18857526     0.18951457
+    10.810     0.18800382     0.18894115
+    10.820     0.18743411     0.18836947
+    10.830     0.18686613     0.18779952
+    10.840     0.18629987     0.18723129
+    10.850     0.18573533     0.18666478
+    10.860     0.18517249     0.18609999
+    10.870     0.18461136     0.18553690
+    10.880     0.18405193     0.18497552
+    10.890     0.18349420     0.18441584
+    10.900     0.18293816     0.18385785
+    10.910     0.18238380     0.18330155
+    10.920     0.18183112     0.18274693
+    10.930     0.18128012     0.18219399
+    10.940     0.18073079     0.18164272
+    10.950     0.18018312     0.18109312
+    10.960     0.17963711     0.18054518
+    10.970     0.17909275     0.17999890
+    10.980     0.17855005     0.17945428
+    10.990     0.17800899     0.17891130
+    11.000     0.17746956     0.17836997
+    11.010     0.17693178     0.17783027
+    11.020     0.17639562     0.17729221
+    11.030     0.17586109     0.17675577
+    11.040     0.17532818     0.17622096
+    11.050     0.17479688     0.17568776
+    11.060     0.17426719     0.17515618
+    11.070     0.17373911     0.17462621
+    11.080     0.17321263     0.17409784
+    11.090     0.17268774     0.17357107
+    11.100     0.17216444     0.17304589
+    11.110     0.17164273     0.17252230
+    11.120     0.17112260     0.17200030
+    11.130     0.17060405     0.17147988
+    11.140     0.17008707     0.17096103
+    11.150     0.16957165     0.17044375
+    11.160     0.16905780     0.16992803
+    11.170     0.16854550     0.16941388
+    11.180     0.16803476     0.16890128
+    11.190     0.16752556     0.16839023
+    11.200     0.16701791     0.16788073
+    11.210     0.16651180     0.16737277
+    11.220     0.16600721     0.16686635
+    11.230     0.16550416     0.16636146
+    11.240     0.16500263     0.16585810
+    11.250     0.16450263     0.16535626
+    11.260     0.16400413     0.16485594
+    11.270     0.16350715     0.16435713
+    11.280     0.16301167     0.16385983
+    11.290     0.16251770     0.16336404
+    11.300     0.16202522     0.16286974
+    11.310     0.16153424     0.16237695
+    11.320     0.16104474     0.16188564
+    11.330     0.16055672     0.16139582
+    11.340     0.16007019     0.16090748
+    11.350     0.15958513     0.16042062
+    11.360     0.15910154     0.15993523
+    11.370     0.15861941     0.15945132
+    11.380     0.15813875     0.15896886
+    11.390     0.15765954     0.15848787
+    11.400     0.15718178     0.15800833
+    11.410     0.15670547     0.15753024
+    11.420     0.15623061     0.15705360
+    11.430     0.15575718     0.15657840
+    11.440     0.15528519     0.15610464
+    11.450     0.15481463     0.15563231
+    11.460     0.15434549     0.15516141
+    11.470     0.15387778     0.15469193
+    11.480     0.15341148     0.15422388
+    11.490     0.15294660     0.15375724
+    11.500     0.15248313     0.15329202
+    11.510     0.15202106     0.15282820
+    11.520     0.15156039     0.15236578
+    11.530     0.15110111     0.15190477
+    11.540     0.15064323     0.15144515
+    11.550     0.15018674     0.15098692
+    11.560     0.14973162     0.15053007
+    11.570     0.14927789     0.15007461
+    11.580     0.14882553     0.14962053
+    11.590     0.14837455     0.14916782
+    11.600     0.14792493     0.14871648
+    11.610     0.14747667     0.14826651
+    11.620     0.14702977     0.14781789
+    11.630     0.14658423     0.14737064
+    11.640     0.14614003     0.14692474
+    11.650     0.14569718     0.14648018
+    11.660     0.14525568     0.14603698
+    11.670     0.14481551     0.14559511
+    11.680     0.14437667     0.14515458
+    11.690     0.14393917     0.14471538
+    11.700     0.14350299     0.14427752
+    11.710     0.14306813     0.14384097
+    11.720     0.14263459     0.14340575
+    11.730     0.14220237     0.14297185
+    11.740     0.14177145     0.14253925
+    11.750     0.14134184     0.14210797
+    11.760     0.14091353     0.14167799
+    11.770     0.14048652     0.14124932
+    11.780     0.14006080     0.14082194
+    11.790     0.13963638     0.14039585
+    11.800     0.13921324     0.13997105
+    11.810     0.13879138     0.13954754
+    11.820     0.13837080     0.13912531
+    11.830     0.13795149     0.13870435
+    11.840     0.13753346     0.13828467
+    11.850     0.13711669     0.13786626
+    11.860     0.13670118     0.13744912
+    11.870     0.13628694     0.13703324
+    11.880     0.13587395     0.13661861
+    11.890     0.13546221     0.13620524
+    11.900     0.13505172     0.13579312
+    11.910     0.13464247     0.13538225
+    11.920     0.13423446     0.13497262
+    11.930     0.13382769     0.13456424
+    11.940     0.13342215     0.13415708
+    11.950     0.13301784     0.13375116
+    11.960     0.13261476     0.13334647
+    11.970     0.13221290     0.13294300
+    11.980     0.13181225     0.13254075
+    11.990     0.13141282     0.13213972
+    12.000     0.13101460     0.13173990
+    12.010     0.13061758     0.13134130
+    12.020     0.13022177     0.13094389
+    12.030     0.12982716     0.13054770
+    12.040     0.12943375     0.13015270
+    12.050     0.12904152     0.12975889
+    12.060     0.12865049     0.12936628
+    12.070     0.12826064     0.12897485
+    12.080     0.12787197     0.12858461
+    12.090     0.12748448     0.12819555
+    12.100     0.12709816     0.12780767
+    12.110     0.12671302     0.12742096
+    12.120     0.12632904     0.12703542
+    12.130     0.12594622     0.12665104
+    12.140     0.12556457     0.12626783
+    12.150     0.12518407     0.12588578
+    12.160     0.12480472     0.12550489
+    12.170     0.12442653     0.12512515
+    12.180     0.12404948     0.12474655
+    12.190     0.12367357     0.12436911
+    12.200     0.12329880     0.12399280
+    12.210     0.12292517     0.12361763
+    12.220     0.12255267     0.12324360
+    12.230     0.12218130     0.12287070
+    12.240     0.12181105     0.12249893
+    12.250     0.12144192     0.12212828
+    12.260     0.12107392     0.12175876
+    12.270     0.12070703     0.12139035
+    12.280     0.12034125     0.12102306
+    12.290     0.11997658     0.12065687
+    12.300     0.11961301     0.12029180
+    12.310     0.11925055     0.11992783
+    12.320     0.11888918     0.11956496
+    12.330     0.11852891     0.11920319
+    12.340     0.11816974     0.11884252
+    12.350     0.11781165     0.11848294
+    12.360     0.11745464     0.11812444
+    12.370     0.11709872     0.11776703
+    12.380     0.11674387     0.11741070
+    12.390     0.11639010     0.11705545
+    12.400     0.11603741     0.11670127
+    12.410     0.11568578     0.11634817
+    12.420     0.11533522     0.11599613
+    12.430     0.11498571     0.11564516
+    12.440     0.11463727     0.11529525
+    12.450     0.11428989     0.11494640
+    12.460     0.11394355     0.11459860
+    12.470     0.11359827     0.11425186
+    12.480     0.11325403     0.11390617
+    12.490     0.11291084     0.11356152
+    12.500     0.11256869     0.11321791
+    12.510     0.11222757     0.11287535
+    12.520     0.11188748     0.11253382
+    12.530     0.11154843     0.11219332
+    12.540     0.11121041     0.11185386
+    12.550     0.11087340     0.11151542
+    12.560     0.11053742     0.11117801
+    12.570     0.11020246     0.11084161
+    12.580     0.10986852     0.11050624
+    12.590     0.10953558     0.11017188
+    12.600     0.10920366     0.10983853
+    12.610     0.10887274     0.10950619
+    12.620     0.10854282     0.10917485
+    12.630     0.10821390     0.10884452
+    12.640     0.10788598     0.10851519
+    12.650     0.10755905     0.10818685
+    12.660     0.10723312     0.10785951
+    12.670     0.10690817     0.10753316
+    12.680     0.10658420     0.10720779
+    12.690     0.10626122     0.10688341
+    12.700     0.10593922     0.10656001
+    12.710     0.10561819     0.10623759
+    12.720     0.10529813     0.10591615
+    12.730     0.10497905     0.10559568
+    12.740     0.10466093     0.10527617
+    12.750     0.10434378     0.10495764
+    12.760     0.10402758     0.10464007
+    12.770     0.10371235     0.10432346
+    12.780     0.10339807     0.10400780
+    12.790     0.10308474     0.10369310
+    12.800     0.10277236     0.10337936
+    12.810     0.10246093     0.10306656
+    12.820     0.10215044     0.10275471
+    12.830     0.10184090     0.10244380
+    12.840     0.10153229     0.10213384
+    12.850     0.10122461     0.10182481
+    12.860     0.10091787     0.10151672
+    12.870     0.10061206     0.10120956
+    12.880     0.10030718     0.10090333
+    12.890     0.10000321     0.10059802
+    12.900     0.09970017     0.10029364
+    12.910     0.09939805     0.09999018
+    12.920     0.09909685     0.09968764
+    12.930     0.09879655     0.09938601
+    12.940     0.09849717     0.09908530
+    12.950     0.09819869     0.09878549
+    12.960     0.09790112     0.09848660
+    12.970     0.09760445     0.09818860
+    12.980     0.09730868     0.09789151
+    12.990     0.09701381     0.09759532
+    13.000     0.09671982     0.09730003
+    13.010     0.09642673     0.09700562
+    13.020     0.09613453     0.09671211
+    13.030     0.09584321     0.09641949
+    13.040     0.09555278     0.09612775
+    13.050     0.09526323     0.09583690
+    13.060     0.09497455     0.09554692
+    13.070     0.09468675     0.09525782
+    13.080     0.09439982     0.09496960
+    13.090     0.09411376     0.09468225
+    13.100     0.09382857     0.09439577
+    13.110     0.09354424     0.09411015
+    13.120     0.09326077     0.09382540
+    13.130     0.09297816     0.09354151
+    13.140     0.09269641     0.09325848
+    13.150     0.09241551     0.09297631
+    13.160     0.09213546     0.09269499
+    13.170     0.09185627     0.09241452
+    13.180     0.09157791     0.09213490
+    13.190     0.09130040     0.09185613
+    13.200     0.09102374     0.09157819
+    13.210     0.09074791     0.09130110
+    13.220     0.09047291     0.09102485
+    13.230     0.09019875     0.09074944
diff --git a/20231123/loesung-1c.tikz b/20231123/loesung-1c.tikz
new file mode 100644
index 0000000000000000000000000000000000000000..e97073c442cd1f84adf842357e3cb254fb05e54c
--- /dev/null
+++ b/20231123/loesung-1c.tikz
@@ -0,0 +1,521 @@
+\begin{tikzpicture}[gnuplot]
+%% generated with GNUPLOT 5.0p5 (Lua 5.1; terminal rev. 99, script rev. 100)
+%% Mi 14 Nov 2018 19:24:42 CET
+\path (0.000,0.000) rectangle (12.500,8.750);
+\gpcolor{color=gp lt color border}
+\gpsetlinetype{gp lt border}
+\gpsetdashtype{gp dt solid}
+\gpsetlinewidth{1.00}
+\draw[gp path] (1.012,0.616)--(1.192,0.616);
+\draw[gp path] (11.947,0.616)--(11.767,0.616);
+\node[gp node right] at (0.828,0.616) {$0$};
+\draw[gp path] (1.012,1.393)--(1.192,1.393);
+\draw[gp path] (11.947,1.393)--(11.767,1.393);
+\node[gp node right] at (0.828,1.393) {$0.5$};
+\draw[gp path] (1.012,2.169)--(1.192,2.169);
+\draw[gp path] (11.947,2.169)--(11.767,2.169);
+\node[gp node right] at (0.828,2.169) {$1$};
+\draw[gp path] (1.012,2.946)--(1.192,2.946);
+\draw[gp path] (11.947,2.946)--(11.767,2.946);
+\node[gp node right] at (0.828,2.946) {$1.5$};
+\draw[gp path] (1.012,3.722)--(1.192,3.722);
+\draw[gp path] (11.947,3.722)--(11.767,3.722);
+\node[gp node right] at (0.828,3.722) {$2$};
+\draw[gp path] (1.012,4.499)--(1.192,4.499);
+\draw[gp path] (11.947,4.499)--(11.767,4.499);
+\node[gp node right] at (0.828,4.499) {$2.5$};
+\draw[gp path] (1.012,5.275)--(1.192,5.275);
+\draw[gp path] (11.947,5.275)--(11.767,5.275);
+\node[gp node right] at (0.828,5.275) {$3$};
+\draw[gp path] (1.012,6.052)--(1.192,6.052);
+\draw[gp path] (11.947,6.052)--(11.767,6.052);
+\node[gp node right] at (0.828,6.052) {$3.5$};
+\draw[gp path] (1.012,6.828)--(1.192,6.828);
+\draw[gp path] (11.947,6.828)--(11.767,6.828);
+\node[gp node right] at (0.828,6.828) {$4$};
+\draw[gp path] (1.012,7.605)--(1.192,7.605);
+\draw[gp path] (11.947,7.605)--(11.767,7.605);
+\node[gp node right] at (0.828,7.605) {$4.5$};
+\draw[gp path] (1.012,8.381)--(1.192,8.381);
+\draw[gp path] (11.947,8.381)--(11.767,8.381);
+\node[gp node right] at (0.828,8.381) {$5$};
+\draw[gp path] (1.012,0.616)--(1.012,0.796);
+\draw[gp path] (1.012,8.381)--(1.012,8.201);
+\node[gp node center] at (1.012,0.308) {$0$};
+\draw[gp path] (2.574,0.616)--(2.574,0.796);
+\draw[gp path] (2.574,8.381)--(2.574,8.201);
+\node[gp node center] at (2.574,0.308) {$2$};
+\draw[gp path] (4.136,0.616)--(4.136,0.796);
+\draw[gp path] (4.136,8.381)--(4.136,8.201);
+\node[gp node center] at (4.136,0.308) {$4$};
+\draw[gp path] (5.698,0.616)--(5.698,0.796);
+\draw[gp path] (5.698,8.381)--(5.698,8.201);
+\node[gp node center] at (5.698,0.308) {$6$};
+\draw[gp path] (7.261,0.616)--(7.261,0.796);
+\draw[gp path] (7.261,8.381)--(7.261,8.201);
+\node[gp node center] at (7.261,0.308) {$8$};
+\draw[gp path] (8.823,0.616)--(8.823,0.796);
+\draw[gp path] (8.823,8.381)--(8.823,8.201);
+\node[gp node center] at (8.823,0.308) {$10$};
+\draw[gp path] (10.385,0.616)--(10.385,0.796);
+\draw[gp path] (10.385,8.381)--(10.385,8.201);
+\node[gp node center] at (10.385,0.308) {$12$};
+\draw[gp path] (11.947,0.616)--(11.947,0.796);
+\draw[gp path] (11.947,8.381)--(11.947,8.201);
+\node[gp node center] at (11.947,0.308) {$14$};
+\draw[gp path] (1.012,8.381)--(1.012,0.616)--(11.947,0.616)--(11.947,8.381)--cycle;
+\node[gp node right] at (10.479,7.8) {Simulation};
+\gpcolor{rgb color={0.580,0.000,0.827}}
+\draw[gp path] (10.663,7.8)--(11.579,7.8);
+\draw[gp path] (1.012,8.381)--(1.020,8.358)--(1.028,8.334)--(1.035,8.311)--(1.043,8.288)%
+  --(1.051,8.265)--(1.059,8.241)--(1.067,8.218)--(1.074,8.195)--(1.082,8.171)--(1.090,8.150)%
+  --(1.098,8.126)--(1.106,8.103)--(1.114,8.081)--(1.121,8.058)--(1.129,8.035)--(1.137,8.013)%
+  --(1.145,7.991)--(1.153,7.968)--(1.160,7.946)--(1.168,7.924)--(1.176,7.901)--(1.184,7.879)%
+  --(1.192,7.858)--(1.199,7.836)--(1.207,7.814)--(1.215,7.792)--(1.223,7.771)--(1.231,7.749)%
+  --(1.239,7.727)--(1.246,7.705)--(1.254,7.684)--(1.262,7.662)--(1.270,7.642)--(1.278,7.620)%
+  --(1.285,7.598)--(1.293,7.578)--(1.301,7.556)--(1.309,7.535)--(1.317,7.514)--(1.324,7.493)%
+  --(1.332,7.472)--(1.340,7.452)--(1.348,7.431)--(1.356,7.410)--(1.363,7.390)--(1.371,7.370)%
+  --(1.379,7.348)--(1.387,7.328)--(1.395,7.308)--(1.403,7.288)--(1.410,7.267)--(1.418,7.247)%
+  --(1.426,7.227)--(1.434,7.207)--(1.442,7.187)--(1.449,7.168)--(1.457,7.148)--(1.465,7.128)%
+  --(1.473,7.108)--(1.481,7.089)--(1.488,7.069)--(1.496,7.049)--(1.504,7.030)--(1.512,7.010)%
+  --(1.520,6.991)--(1.528,6.971)--(1.535,6.952)--(1.543,6.934)--(1.551,6.913)--(1.559,6.895)%
+  --(1.567,6.876)--(1.574,6.858)--(1.582,6.837)--(1.590,6.819)--(1.598,6.800)--(1.606,6.781)%
+  --(1.613,6.763)--(1.621,6.744)--(1.629,6.726)--(1.637,6.707)--(1.645,6.688)--(1.652,6.670)%
+  --(1.660,6.653)--(1.668,6.634)--(1.676,6.615)--(1.684,6.597)--(1.692,6.580)--(1.699,6.561)%
+  --(1.707,6.542)--(1.715,6.525)--(1.723,6.507)--(1.731,6.489)--(1.738,6.471)--(1.746,6.454)%
+  --(1.754,6.437)--(1.762,6.418)--(1.770,6.401)--(1.777,6.384)--(1.785,6.365)--(1.793,6.348)%
+  --(1.801,6.331)--(1.809,6.314)--(1.817,6.297)--(1.824,6.280)--(1.832,6.263)--(1.840,6.246)%
+  --(1.848,6.229)--(1.856,6.211)--(1.863,6.194)--(1.871,6.177)--(1.879,6.160)--(1.887,6.143)%
+  --(1.895,6.126)--(1.902,6.111)--(1.910,6.093)--(1.918,6.076)--(1.926,6.061)--(1.934,6.044)%
+  --(1.941,6.027)--(1.949,6.011)--(1.957,5.994)--(1.965,5.979)--(1.973,5.961)--(1.981,5.946)%
+  --(1.988,5.929)--(1.996,5.913)--(2.004,5.898)--(2.012,5.881)--(2.020,5.865)--(2.027,5.850)%
+  --(2.035,5.834)--(2.043,5.819)--(2.051,5.801)--(2.059,5.786)--(2.066,5.770)--(2.074,5.755)%
+  --(2.082,5.739)--(2.090,5.724)--(2.098,5.708)--(2.106,5.693)--(2.113,5.677)--(2.121,5.662)%
+  --(2.129,5.648)--(2.137,5.632)--(2.145,5.617)--(2.152,5.601)--(2.160,5.587)--(2.168,5.572)%
+  --(2.176,5.556)--(2.184,5.541)--(2.191,5.527)--(2.199,5.511)--(2.207,5.497)--(2.215,5.482)%
+  --(2.223,5.468)--(2.230,5.452)--(2.238,5.438)--(2.246,5.423)--(2.254,5.409)--(2.262,5.395)%
+  --(2.270,5.379)--(2.277,5.365)--(2.285,5.351)--(2.293,5.337)--(2.301,5.322)--(2.309,5.308)%
+  --(2.316,5.294)--(2.324,5.280)--(2.332,5.266)--(2.340,5.252)--(2.348,5.238)--(2.355,5.224)%
+  --(2.363,5.210)--(2.371,5.196)--(2.379,5.182)--(2.387,5.168)--(2.394,5.154)--(2.402,5.140)%
+  --(2.410,5.126)--(2.418,5.112)--(2.426,5.100)--(2.434,5.086)--(2.441,5.072)--(2.449,5.059)%
+  --(2.457,5.045)--(2.465,5.031)--(2.473,5.019)--(2.480,5.005)--(2.488,4.991)--(2.496,4.978)%
+  --(2.504,4.964)--(2.512,4.952)--(2.519,4.938)--(2.527,4.926)--(2.535,4.913)--(2.543,4.899)%
+  --(2.551,4.887)--(2.559,4.874)--(2.566,4.860)--(2.574,4.848)--(2.582,4.836)--(2.590,4.822)%
+  --(2.598,4.809)--(2.605,4.797)--(2.613,4.784)--(2.621,4.772)--(2.629,4.759)--(2.637,4.747)%
+  --(2.644,4.735)--(2.652,4.722)--(2.660,4.710)--(2.668,4.697)--(2.676,4.685)--(2.683,4.672)%
+  --(2.691,4.660)--(2.699,4.648)--(2.707,4.635)--(2.715,4.623)--(2.723,4.610)--(2.730,4.598)%
+  --(2.738,4.587)--(2.746,4.575)--(2.754,4.562)--(2.762,4.551)--(2.769,4.539)--(2.777,4.526)%
+  --(2.785,4.516)--(2.793,4.503)--(2.801,4.491)--(2.808,4.480)--(2.816,4.467)--(2.824,4.457)%
+  --(2.832,4.444)--(2.840,4.433)--(2.848,4.421)--(2.855,4.410)--(2.863,4.399)--(2.871,4.387)%
+  --(2.879,4.376)--(2.887,4.363)--(2.894,4.353)--(2.902,4.342)--(2.910,4.331)--(2.918,4.318)%
+  --(2.926,4.307)--(2.933,4.297)--(2.941,4.286)--(2.949,4.275)--(2.957,4.262)--(2.965,4.252)%
+  --(2.972,4.241)--(2.980,4.230)--(2.988,4.219)--(2.996,4.208)--(3.004,4.197)--(3.012,4.186)%
+  --(3.019,4.175)--(3.027,4.165)--(3.035,4.154)--(3.043,4.143)--(3.051,4.132)--(3.058,4.123)%
+  --(3.066,4.112)--(3.074,4.101)--(3.082,4.090)--(3.090,4.079)--(3.097,4.070)--(3.105,4.059)%
+  --(3.113,4.048)--(3.121,4.037)--(3.129,4.028)--(3.137,4.017)--(3.144,4.006)--(3.152,3.997)%
+  --(3.160,3.986)--(3.168,3.977)--(3.176,3.966)--(3.183,3.957)--(3.191,3.946)--(3.199,3.936)%
+  --(3.207,3.925)--(3.215,3.916)--(3.222,3.905)--(3.230,3.896)--(3.238,3.885)--(3.246,3.876)%
+  --(3.254,3.866)--(3.261,3.856)--(3.269,3.846)--(3.277,3.837)--(3.285,3.826)--(3.293,3.817)%
+  --(3.301,3.807)--(3.308,3.798)--(3.316,3.787)--(3.324,3.778)--(3.332,3.769)--(3.340,3.759)%
+  --(3.347,3.750)--(3.355,3.741)--(3.363,3.731)--(3.371,3.720)--(3.379,3.711)--(3.386,3.702)%
+  --(3.394,3.692)--(3.402,3.683)--(3.410,3.674)--(3.418,3.665)--(3.426,3.655)--(3.433,3.647)%
+  --(3.441,3.638)--(3.449,3.629)--(3.457,3.620)--(3.465,3.610)--(3.472,3.601)--(3.480,3.592)%
+  --(3.488,3.584)--(3.496,3.574)--(3.504,3.565)--(3.511,3.556)--(3.519,3.547)--(3.527,3.539)%
+  --(3.535,3.529)--(3.543,3.520)--(3.550,3.512)--(3.558,3.503)--(3.566,3.494)--(3.574,3.486)%
+  --(3.582,3.477)--(3.590,3.469)--(3.597,3.460)--(3.605,3.450)--(3.613,3.442)--(3.621,3.433)%
+  --(3.629,3.425)--(3.636,3.416)--(3.644,3.408)--(3.652,3.401)--(3.660,3.391)--(3.668,3.383)%
+  --(3.675,3.374)--(3.683,3.366)--(3.691,3.359)--(3.699,3.349)--(3.707,3.342)--(3.715,3.334)%
+  --(3.722,3.324)--(3.730,3.317)--(3.738,3.309)--(3.746,3.300)--(3.754,3.292)--(3.761,3.284)%
+  --(3.769,3.276)--(3.777,3.269)--(3.785,3.259)--(3.793,3.251)--(3.800,3.244)--(3.808,3.236)%
+  --(3.816,3.228)--(3.824,3.220)--(3.832,3.213)--(3.839,3.205)--(3.847,3.197)--(3.855,3.189)%
+  --(3.863,3.182)--(3.871,3.174)--(3.879,3.166)--(3.886,3.158)--(3.894,3.150)--(3.902,3.143)%
+  --(3.910,3.135)--(3.918,3.127)--(3.925,3.119)--(3.933,3.112)--(3.941,3.104)--(3.949,3.096)%
+  --(3.957,3.088)--(3.964,3.082)--(3.972,3.074)--(3.980,3.067)--(3.988,3.059)--(3.996,3.051)%
+  --(4.004,3.045)--(4.011,3.037)--(4.019,3.029)--(4.027,3.023)--(4.035,3.015)--(4.043,3.008)%
+  --(4.050,3.001)--(4.058,2.994)--(4.066,2.986)--(4.074,2.980)--(4.082,2.972)--(4.089,2.964)%
+  --(4.097,2.958)--(4.105,2.950)--(4.113,2.944)--(4.121,2.936)--(4.128,2.930)--(4.136,2.922)%
+  --(4.144,2.916)--(4.152,2.908)--(4.160,2.902)--(4.168,2.894)--(4.175,2.888)--(4.183,2.880)%
+  --(4.191,2.874)--(4.199,2.866)--(4.207,2.860)--(4.214,2.854)--(4.222,2.846)--(4.230,2.840)%
+  --(4.238,2.834)--(4.246,2.826)--(4.253,2.820)--(4.261,2.813)--(4.269,2.806)--(4.277,2.800)%
+  --(4.285,2.793)--(4.293,2.787)--(4.300,2.779)--(4.308,2.773)--(4.316,2.767)--(4.324,2.761)%
+  --(4.332,2.754)--(4.339,2.747)--(4.347,2.741)--(4.355,2.734)--(4.363,2.728)--(4.371,2.722)%
+  --(4.378,2.716)--(4.386,2.709)--(4.394,2.703)--(4.402,2.695)--(4.410,2.689)--(4.417,2.683)%
+  --(4.425,2.677)--(4.433,2.671)--(4.441,2.664)--(4.449,2.658)--(4.457,2.652)--(4.464,2.646)%
+  --(4.472,2.640)--(4.480,2.633)--(4.488,2.629)--(4.496,2.622)--(4.503,2.616)--(4.511,2.610)%
+  --(4.519,2.604)--(4.527,2.598)--(4.535,2.591)--(4.542,2.585)--(4.550,2.579)--(4.558,2.574)%
+  --(4.566,2.568)--(4.574,2.562)--(4.581,2.556)--(4.589,2.549)--(4.597,2.545)--(4.605,2.539)%
+  --(4.613,2.532)--(4.621,2.526)--(4.628,2.522)--(4.636,2.515)--(4.644,2.509)--(4.652,2.504)%
+  --(4.660,2.498)--(4.667,2.492)--(4.675,2.487)--(4.683,2.481)--(4.691,2.475)--(4.699,2.470)%
+  --(4.706,2.464)--(4.714,2.458)--(4.722,2.453)--(4.730,2.447)--(4.738,2.442)--(4.746,2.436)%
+  --(4.753,2.430)--(4.761,2.425)--(4.769,2.419)--(4.777,2.414)--(4.785,2.408)--(4.792,2.404)%
+  --(4.800,2.397)--(4.808,2.393)--(4.816,2.386)--(4.824,2.382)--(4.831,2.377)--(4.839,2.371)%
+  --(4.847,2.366)--(4.855,2.360)--(4.863,2.355)--(4.870,2.349)--(4.878,2.344)--(4.886,2.340)%
+  --(4.894,2.334)--(4.902,2.329)--(4.910,2.324)--(4.917,2.318)--(4.925,2.313)--(4.933,2.309)%
+  --(4.941,2.303)--(4.949,2.298)--(4.956,2.293)--(4.964,2.289)--(4.972,2.282)--(4.980,2.278)%
+  --(4.988,2.273)--(4.995,2.268)--(5.003,2.262)--(5.011,2.258)--(5.019,2.253)--(5.027,2.248)%
+  --(5.035,2.244)--(5.042,2.237)--(5.050,2.233)--(5.058,2.228)--(5.066,2.223)--(5.074,2.219)%
+  --(5.081,2.214)--(5.089,2.209)--(5.097,2.203)--(5.105,2.199)--(5.113,2.194)--(5.120,2.189)%
+  --(5.128,2.185)--(5.136,2.180)--(5.144,2.175)--(5.152,2.171)--(5.159,2.166)--(5.167,2.161)%
+  --(5.175,2.157)--(5.183,2.152)--(5.191,2.147)--(5.199,2.143)--(5.206,2.138)--(5.214,2.133)%
+  --(5.222,2.129)--(5.230,2.124)--(5.238,2.119)--(5.245,2.115)--(5.253,2.110)--(5.261,2.105)%
+  --(5.269,2.101)--(5.277,2.096)--(5.284,2.093)--(5.292,2.088)--(5.300,2.084)--(5.308,2.079)%
+  --(5.316,2.074)--(5.324,2.070)--(5.331,2.065)--(5.339,2.062)--(5.347,2.057)--(5.355,2.053)%
+  --(5.363,2.048)--(5.370,2.043)--(5.378,2.040)--(5.386,2.035)--(5.394,2.031)--(5.402,2.026)%
+  --(5.409,2.023)--(5.417,2.018)--(5.425,2.014)--(5.433,2.009)--(5.441,2.006)--(5.448,2.001)%
+  --(5.456,1.997)--(5.464,1.994)--(5.472,1.989)--(5.480,1.984)--(5.488,1.980)--(5.495,1.976)%
+  --(5.503,1.972)--(5.511,1.969)--(5.519,1.964)--(5.527,1.959)--(5.534,1.956)--(5.542,1.952)%
+  --(5.550,1.947)--(5.558,1.944)--(5.566,1.939)--(5.573,1.936)--(5.581,1.931)--(5.589,1.927)%
+  --(5.597,1.924)--(5.605,1.919)--(5.613,1.916)--(5.620,1.911)--(5.628,1.908)--(5.636,1.903)%
+  --(5.644,1.900)--(5.652,1.896)--(5.659,1.893)--(5.667,1.888)--(5.675,1.885)--(5.683,1.880)%
+  --(5.691,1.877)--(5.698,1.872)--(5.706,1.869)--(5.714,1.865)--(5.722,1.862)--(5.730,1.858)%
+  --(5.737,1.854)--(5.745,1.851)--(5.753,1.846)--(5.761,1.843)--(5.769,1.840)--(5.777,1.835)%
+  --(5.784,1.832)--(5.792,1.827)--(5.800,1.824)--(5.808,1.821)--(5.816,1.816)--(5.823,1.813)%
+  --(5.831,1.810)--(5.839,1.806)--(5.847,1.802)--(5.855,1.799)--(5.862,1.795)--(5.870,1.792)%
+  --(5.878,1.789)--(5.886,1.785)--(5.894,1.781)--(5.902,1.778)--(5.909,1.775)--(5.917,1.770)%
+  --(5.925,1.767)--(5.933,1.764)--(5.941,1.761)--(5.948,1.756)--(5.956,1.753)--(5.964,1.750)%
+  --(5.972,1.747)--(5.980,1.743)--(5.987,1.739)--(5.995,1.736)--(6.003,1.733)--(6.011,1.730)%
+  --(6.019,1.726)--(6.026,1.723)--(6.034,1.719)--(6.042,1.716)--(6.050,1.712)--(6.058,1.709)%
+  --(6.066,1.706)--(6.073,1.703)--(6.081,1.700)--(6.089,1.695)--(6.097,1.692)--(6.105,1.689)%
+  --(6.112,1.686)--(6.120,1.683)--(6.128,1.680)--(6.136,1.677)--(6.144,1.674)--(6.151,1.670)%
+  --(6.159,1.667)--(6.167,1.664)--(6.175,1.661)--(6.183,1.658)--(6.191,1.655)--(6.198,1.650)%
+  --(6.206,1.647)--(6.214,1.644)--(6.222,1.641)--(6.230,1.638)--(6.237,1.635)--(6.245,1.632)%
+  --(6.253,1.629)--(6.261,1.625)--(6.269,1.624)--(6.276,1.621)--(6.284,1.618)--(6.292,1.615)%
+  --(6.300,1.611)--(6.308,1.608)--(6.315,1.605)--(6.323,1.602)--(6.331,1.599)--(6.339,1.596)%
+  --(6.347,1.593)--(6.355,1.590)--(6.362,1.587)--(6.370,1.584)--(6.378,1.582)--(6.386,1.579)%
+  --(6.394,1.576)--(6.401,1.573)--(6.409,1.570)--(6.417,1.566)--(6.425,1.563)--(6.433,1.560)%
+  --(6.440,1.559)--(6.448,1.556)--(6.456,1.552)--(6.464,1.549)--(6.472,1.546)--(6.480,1.545)%
+  --(6.487,1.542)--(6.495,1.538)--(6.503,1.535)--(6.511,1.532)--(6.519,1.531)--(6.526,1.528)%
+  --(6.534,1.525)--(6.542,1.521)--(6.550,1.518)--(6.558,1.517)--(6.565,1.514)--(6.573,1.511)%
+  --(6.581,1.507)--(6.589,1.506)--(6.597,1.503)--(6.604,1.500)--(6.612,1.497)--(6.620,1.495)%
+  --(6.628,1.492)--(6.636,1.489)--(6.644,1.487)--(6.651,1.484)--(6.659,1.481)--(6.667,1.479)%
+  --(6.675,1.476)--(6.683,1.473)--(6.690,1.470)--(6.698,1.469)--(6.706,1.465)--(6.714,1.464)%
+  --(6.722,1.461)--(6.729,1.458)--(6.737,1.456)--(6.745,1.453)--(6.753,1.450)--(6.761,1.448)%
+  --(6.768,1.445)--(6.776,1.442)--(6.784,1.441)--(6.792,1.438)--(6.800,1.436)--(6.808,1.433)%
+  --(6.815,1.430)--(6.823,1.428)--(6.831,1.425)--(6.839,1.424)--(6.847,1.420)--(6.854,1.419)%
+  --(6.862,1.416)--(6.870,1.413)--(6.878,1.411)--(6.886,1.408)--(6.893,1.406)--(6.901,1.403)%
+  --(6.909,1.402)--(6.917,1.399)--(6.925,1.397)--(6.933,1.394)--(6.940,1.393)--(6.948,1.389)%
+  --(6.956,1.388)--(6.964,1.385)--(6.972,1.383)--(6.979,1.380)--(6.987,1.379)--(6.995,1.375)%
+  --(7.003,1.374)--(7.011,1.371)--(7.018,1.369)--(7.026,1.366)--(7.034,1.365)--(7.042,1.361)%
+  --(7.050,1.360)--(7.057,1.357)--(7.065,1.355)--(7.073,1.352)--(7.081,1.351)--(7.089,1.349)%
+  --(7.097,1.346)--(7.104,1.344)--(7.112,1.341)--(7.120,1.340)--(7.128,1.337)--(7.136,1.335)%
+  --(7.143,1.333)--(7.151,1.330)--(7.159,1.329)--(7.167,1.326)--(7.175,1.324)--(7.182,1.323)%
+  --(7.190,1.320)--(7.198,1.318)--(7.206,1.316)--(7.214,1.313)--(7.222,1.312)--(7.229,1.309)%
+  --(7.237,1.307)--(7.245,1.306)--(7.253,1.302)--(7.261,1.301)--(7.268,1.299)--(7.276,1.296)%
+  --(7.284,1.295)--(7.292,1.293)--(7.300,1.290)--(7.307,1.288)--(7.315,1.287)--(7.323,1.285)%
+  --(7.331,1.282)--(7.339,1.281)--(7.346,1.279)--(7.354,1.276)--(7.362,1.274)--(7.370,1.273)%
+  --(7.378,1.270)--(7.386,1.268)--(7.393,1.267)--(7.401,1.265)--(7.409,1.262)--(7.417,1.260)%
+  --(7.425,1.259)--(7.432,1.257)--(7.440,1.254)--(7.448,1.253)--(7.456,1.251)--(7.464,1.250)%
+  --(7.471,1.247)--(7.479,1.245)--(7.487,1.243)--(7.495,1.242)--(7.503,1.239)--(7.511,1.237)%
+  --(7.518,1.236)--(7.526,1.234)--(7.534,1.233)--(7.542,1.229)--(7.550,1.228)--(7.557,1.226)%
+  --(7.565,1.225)--(7.573,1.223)--(7.581,1.220)--(7.589,1.219)--(7.596,1.217)--(7.604,1.215)%
+  --(7.612,1.214)--(7.620,1.212)--(7.628,1.209)--(7.635,1.208)--(7.643,1.206)--(7.651,1.205)%
+  --(7.659,1.203)--(7.667,1.201)--(7.675,1.200)--(7.682,1.197)--(7.690,1.195)--(7.698,1.194)%
+  --(7.706,1.192)--(7.714,1.191)--(7.721,1.189)--(7.729,1.188)--(7.737,1.186)--(7.745,1.183)%
+  --(7.753,1.181)--(7.760,1.180)--(7.768,1.178)--(7.776,1.177)--(7.784,1.175)--(7.792,1.174)%
+  --(7.800,1.172)--(7.807,1.170)--(7.815,1.169)--(7.823,1.167)--(7.831,1.164)--(7.839,1.163)%
+  --(7.846,1.161)--(7.854,1.160)--(7.862,1.158)--(7.870,1.156)--(7.878,1.155)--(7.885,1.153)%
+  --(7.893,1.152)--(7.901,1.150)--(7.909,1.149)--(7.917,1.147)--(7.924,1.146)--(7.932,1.144)%
+  --(7.940,1.142)--(7.948,1.141)--(7.956,1.139)--(7.964,1.138)--(7.971,1.136)--(7.979,1.135)%
+  --(7.987,1.133)--(7.995,1.132)--(8.003,1.130)--(8.010,1.128)--(8.018,1.127)--(8.026,1.125)%
+  --(8.034,1.124)--(8.042,1.122)--(8.049,1.121)--(8.057,1.119)--(8.065,1.118)--(8.073,1.116)%
+  --(8.081,1.115)--(8.089,1.113)--(8.096,1.111)--(8.104,1.110)--(8.112,1.108)--(8.120,1.107)%
+  --(8.128,1.105)--(8.135,1.104)--(8.143,1.102)--(8.151,1.101)--(8.159,1.099)--(8.167,1.097)%
+  --(8.174,1.096)--(8.182,1.094)--(8.190,1.093)--(8.198,1.091)--(8.206,1.091)--(8.213,1.090)%
+  --(8.221,1.088)--(8.229,1.087)--(8.237,1.085)--(8.245,1.083)--(8.253,1.082)--(8.260,1.080)%
+  --(8.268,1.079)--(8.276,1.077)--(8.284,1.076)--(8.292,1.074)--(8.299,1.074)--(8.307,1.073)%
+  --(8.315,1.071)--(8.323,1.069)--(8.331,1.068)--(8.338,1.066)--(8.346,1.065)--(8.354,1.063)%
+  --(8.362,1.063)--(8.370,1.062)--(8.378,1.060)--(8.385,1.059)--(8.393,1.057)--(8.401,1.055)%
+  --(8.409,1.054)--(8.417,1.052)--(8.424,1.052)--(8.432,1.051)--(8.440,1.049)--(8.448,1.048)%
+  --(8.456,1.046)--(8.463,1.045)--(8.471,1.045)--(8.479,1.043)--(8.487,1.042)--(8.495,1.040)%
+  --(8.502,1.038)--(8.510,1.037)--(8.518,1.037)--(8.526,1.035)--(8.534,1.034)--(8.542,1.032)%
+  --(8.549,1.031)--(8.557,1.031)--(8.565,1.029)--(8.573,1.028)--(8.581,1.026)--(8.588,1.024)%
+  --(8.596,1.024)--(8.604,1.023)--(8.612,1.021)--(8.620,1.020)--(8.627,1.018)--(8.635,1.018)%
+  --(8.643,1.017)--(8.651,1.015)--(8.659,1.014)--(8.667,1.012)--(8.674,1.012)--(8.682,1.010)%
+  --(8.690,1.009)--(8.698,1.007)--(8.706,1.007)--(8.713,1.006)--(8.721,1.004)--(8.729,1.003)%
+  --(8.737,1.003)--(8.745,1.001)--(8.752,1.000)--(8.760,0.998)--(8.768,0.998)--(8.776,0.996)%
+  --(8.784,0.995)--(8.791,0.993)--(8.799,0.993)--(8.807,0.992)--(8.815,0.990)--(8.823,0.989)%
+  --(8.831,0.989)--(8.838,0.987)--(8.846,0.986)--(8.854,0.984)--(8.862,0.984)--(8.870,0.983)%
+  --(8.877,0.981)--(8.885,0.981)--(8.893,0.979)--(8.901,0.978)--(8.909,0.978)--(8.916,0.976)%
+  --(8.924,0.975)--(8.932,0.973)--(8.940,0.973)--(8.948,0.972)--(8.955,0.970)--(8.963,0.970)%
+  --(8.971,0.969)--(8.979,0.967)--(8.987,0.967)--(8.995,0.965)--(9.002,0.964)--(9.010,0.964)%
+  --(9.018,0.962)--(9.026,0.961)--(9.034,0.959)--(9.041,0.959)--(9.049,0.958)--(9.057,0.956)%
+  --(9.065,0.956)--(9.073,0.955)--(9.080,0.953)--(9.088,0.953)--(9.096,0.951)--(9.104,0.951)%
+  --(9.112,0.950)--(9.120,0.948)--(9.127,0.948)--(9.135,0.947)--(9.143,0.945)--(9.151,0.945)%
+  --(9.159,0.944)--(9.166,0.942)--(9.174,0.942)--(9.182,0.941)--(9.190,0.939)--(9.198,0.939)%
+  --(9.205,0.937)--(9.213,0.937)--(9.221,0.936)--(9.229,0.934)--(9.237,0.934)--(9.244,0.933)%
+  --(9.252,0.931)--(9.260,0.931)--(9.268,0.930)--(9.276,0.930)--(9.284,0.928)--(9.291,0.927)%
+  --(9.299,0.927)--(9.307,0.925)--(9.315,0.925)--(9.323,0.923)--(9.330,0.922)--(9.338,0.922)%
+  --(9.346,0.920)--(9.354,0.920)--(9.362,0.919)--(9.369,0.917)--(9.377,0.917)--(9.385,0.916)%
+  --(9.393,0.916)--(9.401,0.914)--(9.409,0.913)--(9.416,0.913)--(9.424,0.911)--(9.432,0.911)%
+  --(9.440,0.910)--(9.448,0.910)--(9.455,0.908)--(9.463,0.906)--(9.471,0.906)--(9.479,0.905)%
+  --(9.487,0.905)--(9.494,0.903)--(9.502,0.903)--(9.510,0.902)--(9.518,0.900)--(9.526,0.900)%
+  --(9.533,0.899)--(9.541,0.899)--(9.549,0.897)--(9.557,0.897)--(9.565,0.896)--(9.573,0.896)%
+  --(9.580,0.894)--(9.588,0.894)--(9.596,0.892)--(9.604,0.891)--(9.612,0.891)--(9.619,0.889)%
+  --(9.627,0.889)--(9.635,0.888)--(9.643,0.888)--(9.651,0.886)--(9.658,0.886)--(9.666,0.885)%
+  --(9.674,0.885)--(9.682,0.883)--(9.690,0.883)--(9.698,0.882)--(9.705,0.882)--(9.713,0.880)%
+  --(9.721,0.880)--(9.729,0.878)--(9.737,0.878)--(9.744,0.877)--(9.752,0.877)--(9.760,0.875)%
+  --(9.768,0.875)--(9.776,0.874)--(9.783,0.874)--(9.791,0.872)--(9.799,0.872)--(9.807,0.871)%
+  --(9.815,0.871)--(9.822,0.869)--(9.830,0.869)--(9.838,0.868)--(9.846,0.868)--(9.854,0.866)%
+  --(9.862,0.866)--(9.869,0.864)--(9.877,0.864)--(9.885,0.863)--(9.893,0.863)--(9.901,0.861)%
+  --(9.908,0.861)--(9.916,0.860)--(9.924,0.860)--(9.932,0.858)--(9.940,0.858)--(9.947,0.857)%
+  --(9.955,0.857)--(9.963,0.855)--(9.971,0.855)--(9.979,0.854)--(9.987,0.854)--(9.994,0.852)%
+  --(10.002,0.852)--(10.010,0.852)--(10.018,0.851)--(10.026,0.851)--(10.033,0.849)--(10.041,0.849)%
+  --(10.049,0.847)--(10.057,0.847)--(10.065,0.846)--(10.072,0.846)--(10.080,0.844)--(10.088,0.844)%
+  --(10.096,0.844)--(10.104,0.843)--(10.111,0.843)--(10.119,0.841)--(10.127,0.841)--(10.135,0.840)%
+  --(10.143,0.840)--(10.151,0.840)--(10.158,0.838)--(10.166,0.838)--(10.174,0.837)--(10.182,0.837)%
+  --(10.190,0.835)--(10.197,0.835)--(10.205,0.833)--(10.213,0.833)--(10.221,0.833)--(10.229,0.832)%
+  --(10.236,0.832)--(10.244,0.830)--(10.252,0.830)--(10.260,0.830)--(10.268,0.829)--(10.276,0.829)%
+  --(10.283,0.827)--(10.291,0.827)--(10.299,0.826)--(10.307,0.826)--(10.315,0.826)--(10.322,0.824)%
+  --(10.330,0.824)--(10.338,0.823)--(10.346,0.823)--(10.354,0.823)--(10.361,0.821)--(10.369,0.821)%
+  --(10.377,0.819)--(10.385,0.819)--(10.393,0.819)--(10.400,0.818)--(10.408,0.818)--(10.416,0.816)%
+  --(10.424,0.816)--(10.432,0.816)--(10.440,0.815)--(10.447,0.815)--(10.455,0.813)--(10.463,0.813)%
+  --(10.471,0.813)--(10.479,0.812)--(10.486,0.812)--(10.494,0.812)--(10.502,0.810)--(10.510,0.810)%
+  --(10.518,0.809)--(10.525,0.809)--(10.533,0.809)--(10.541,0.807)--(10.549,0.807)--(10.557,0.807)%
+  --(10.565,0.805)--(10.572,0.805)--(10.580,0.804)--(10.588,0.804)--(10.596,0.804)--(10.604,0.802)%
+  --(10.611,0.802)--(10.619,0.802)--(10.627,0.801)--(10.635,0.801)--(10.643,0.801)--(10.650,0.799)%
+  --(10.658,0.799)--(10.666,0.798)--(10.674,0.798)--(10.682,0.798)--(10.689,0.796)--(10.697,0.796)%
+  --(10.705,0.796)--(10.713,0.795)--(10.721,0.795)--(10.729,0.795)--(10.736,0.793)--(10.744,0.793)%
+  --(10.752,0.793)--(10.760,0.791)--(10.768,0.791)--(10.775,0.791)--(10.783,0.790)--(10.791,0.790)%
+  --(10.799,0.790)--(10.807,0.788)--(10.814,0.788)--(10.822,0.788)--(10.830,0.787)--(10.838,0.787)%
+  --(10.846,0.787)--(10.854,0.785)--(10.861,0.785)--(10.869,0.785)--(10.877,0.784)--(10.885,0.784)%
+  --(10.893,0.784)--(10.900,0.782)--(10.908,0.782)--(10.916,0.782)--(10.924,0.781)--(10.932,0.781)%
+  --(10.939,0.781)--(10.947,0.779)--(10.955,0.779)--(10.963,0.779)--(10.971,0.778)--(10.978,0.778)%
+  --(10.986,0.778)--(10.994,0.776)--(11.002,0.776)--(11.010,0.776)--(11.018,0.774)--(11.025,0.774)%
+  --(11.033,0.774)--(11.041,0.774)--(11.049,0.773)--(11.057,0.773)--(11.064,0.773)--(11.072,0.771)%
+  --(11.080,0.771)--(11.088,0.771)--(11.096,0.770)--(11.103,0.770)--(11.111,0.770)--(11.119,0.768)%
+  --(11.127,0.768)--(11.135,0.768)--(11.142,0.768)--(11.150,0.767)--(11.158,0.767)--(11.166,0.767)%
+  --(11.174,0.765)--(11.182,0.765)--(11.189,0.765)--(11.197,0.765)--(11.205,0.764)--(11.213,0.764)%
+  --(11.221,0.764)--(11.228,0.762)--(11.236,0.762)--(11.244,0.762)--(11.252,0.762)--(11.260,0.760)%
+  --(11.267,0.760)--(11.275,0.760)--(11.283,0.759)--(11.291,0.759)--(11.299,0.759)--(11.307,0.759)%
+  --(11.314,0.757)--(11.322,0.757)--(11.330,0.757)--(11.338,0.756)--(11.346,0.756);
+\gpcolor{color=gp lt color border}
+\node[gp node right] at (10.479,7.35) {Theorie};
+\gpcolor{rgb color={0.000,0.620,0.451}}
+\draw[gp path] (10.663,7.35)--(11.579,7.35);
+\draw[gp path] (1.012,8.381)--(1.020,8.358)--(1.028,8.334)--(1.035,8.311)--(1.043,8.288)%
+  --(1.051,8.265)--(1.059,8.241)--(1.067,8.218)--(1.074,8.195)--(1.082,8.171)--(1.090,8.150)%
+  --(1.098,8.126)--(1.106,8.103)--(1.114,8.081)--(1.121,8.058)--(1.129,8.036)--(1.137,8.013)%
+  --(1.145,7.991)--(1.153,7.969)--(1.160,7.946)--(1.168,7.924)--(1.176,7.903)--(1.184,7.881)%
+  --(1.192,7.858)--(1.199,7.836)--(1.207,7.814)--(1.215,7.792)--(1.223,7.771)--(1.231,7.749)%
+  --(1.239,7.727)--(1.246,7.707)--(1.254,7.685)--(1.262,7.664)--(1.270,7.642)--(1.278,7.620)%
+  --(1.285,7.600)--(1.293,7.578)--(1.301,7.558)--(1.309,7.536)--(1.317,7.516)--(1.324,7.494)%
+  --(1.332,7.474)--(1.340,7.452)--(1.348,7.432)--(1.356,7.412)--(1.363,7.392)--(1.371,7.370)%
+  --(1.379,7.350)--(1.387,7.330)--(1.395,7.309)--(1.403,7.289)--(1.410,7.269)--(1.418,7.249)%
+  --(1.426,7.229)--(1.434,7.208)--(1.442,7.188)--(1.449,7.170)--(1.457,7.149)--(1.465,7.129)%
+  --(1.473,7.109)--(1.481,7.090)--(1.488,7.070)--(1.496,7.052)--(1.504,7.031)--(1.512,7.013)%
+  --(1.520,6.993)--(1.528,6.974)--(1.535,6.954)--(1.543,6.935)--(1.551,6.917)--(1.559,6.896)%
+  --(1.567,6.878)--(1.574,6.859)--(1.582,6.840)--(1.590,6.822)--(1.598,6.803)--(1.606,6.783)%
+  --(1.613,6.764)--(1.621,6.746)--(1.629,6.729)--(1.637,6.710)--(1.645,6.691)--(1.652,6.673)%
+  --(1.660,6.654)--(1.668,6.635)--(1.676,6.618)--(1.684,6.600)--(1.692,6.581)--(1.699,6.564)%
+  --(1.707,6.545)--(1.715,6.528)--(1.723,6.510)--(1.731,6.493)--(1.738,6.474)--(1.746,6.457)%
+  --(1.754,6.438)--(1.762,6.421)--(1.770,6.404)--(1.777,6.385)--(1.785,6.368)--(1.793,6.351)%
+  --(1.801,6.334)--(1.809,6.317)--(1.817,6.298)--(1.824,6.281)--(1.832,6.264)--(1.840,6.247)%
+  --(1.848,6.230)--(1.856,6.213)--(1.863,6.197)--(1.871,6.180)--(1.879,6.163)--(1.887,6.146)%
+  --(1.895,6.129)--(1.902,6.112)--(1.910,6.097)--(1.918,6.079)--(1.926,6.062)--(1.934,6.047)%
+  --(1.941,6.030)--(1.949,6.014)--(1.957,5.997)--(1.965,5.982)--(1.973,5.965)--(1.981,5.949)%
+  --(1.988,5.932)--(1.996,5.916)--(2.004,5.901)--(2.012,5.884)--(2.020,5.868)--(2.027,5.853)%
+  --(2.035,5.837)--(2.043,5.822)--(2.051,5.805)--(2.059,5.789)--(2.066,5.774)--(2.074,5.758)%
+  --(2.082,5.742)--(2.090,5.727)--(2.098,5.711)--(2.106,5.696)--(2.113,5.680)--(2.121,5.666)%
+  --(2.129,5.651)--(2.137,5.635)--(2.145,5.620)--(2.152,5.604)--(2.160,5.590)--(2.168,5.575)%
+  --(2.176,5.559)--(2.184,5.545)--(2.191,5.530)--(2.199,5.516)--(2.207,5.500)--(2.215,5.485)%
+  --(2.223,5.471)--(2.230,5.457)--(2.238,5.441)--(2.246,5.427)--(2.254,5.412)--(2.262,5.398)%
+  --(2.270,5.384)--(2.277,5.368)--(2.285,5.354)--(2.293,5.340)--(2.301,5.326)--(2.309,5.311)%
+  --(2.316,5.297)--(2.324,5.283)--(2.332,5.269)--(2.340,5.255)--(2.348,5.241)--(2.355,5.227)%
+  --(2.363,5.213)--(2.371,5.199)--(2.379,5.185)--(2.387,5.171)--(2.394,5.157)--(2.402,5.145)%
+  --(2.410,5.131)--(2.418,5.117)--(2.426,5.103)--(2.434,5.089)--(2.441,5.076)--(2.449,5.062)%
+  --(2.457,5.048)--(2.465,5.036)--(2.473,5.022)--(2.480,5.008)--(2.488,4.995)--(2.496,4.981)%
+  --(2.504,4.969)--(2.512,4.955)--(2.519,4.943)--(2.527,4.930)--(2.535,4.916)--(2.543,4.904)%
+  --(2.551,4.890)--(2.559,4.877)--(2.566,4.865)--(2.574,4.851)--(2.582,4.839)--(2.590,4.826)%
+  --(2.598,4.814)--(2.605,4.801)--(2.613,4.787)--(2.621,4.775)--(2.629,4.763)--(2.637,4.750)%
+  --(2.644,4.738)--(2.652,4.725)--(2.660,4.713)--(2.668,4.700)--(2.676,4.688)--(2.683,4.676)%
+  --(2.691,4.663)--(2.699,4.651)--(2.707,4.640)--(2.715,4.627)--(2.723,4.615)--(2.730,4.603)%
+  --(2.738,4.590)--(2.746,4.579)--(2.754,4.567)--(2.762,4.554)--(2.769,4.542)--(2.777,4.531)%
+  --(2.785,4.519)--(2.793,4.508)--(2.801,4.495)--(2.808,4.483)--(2.816,4.472)--(2.824,4.460)%
+  --(2.832,4.449)--(2.840,4.436)--(2.848,4.426)--(2.855,4.415)--(2.863,4.402)--(2.871,4.391)%
+  --(2.879,4.379)--(2.887,4.368)--(2.894,4.357)--(2.902,4.346)--(2.910,4.334)--(2.918,4.323)%
+  --(2.926,4.312)--(2.933,4.301)--(2.941,4.289)--(2.949,4.278)--(2.957,4.267)--(2.965,4.256)%
+  --(2.972,4.245)--(2.980,4.234)--(2.988,4.224)--(2.996,4.213)--(3.004,4.202)--(3.012,4.191)%
+  --(3.019,4.180)--(3.027,4.169)--(3.035,4.158)--(3.043,4.148)--(3.051,4.137)--(3.058,4.126)%
+  --(3.066,4.115)--(3.074,4.106)--(3.082,4.095)--(3.090,4.084)--(3.097,4.073)--(3.105,4.064)%
+  --(3.113,4.053)--(3.121,4.042)--(3.129,4.031)--(3.137,4.022)--(3.144,4.011)--(3.152,4.002)%
+  --(3.160,3.991)--(3.168,3.980)--(3.176,3.970)--(3.183,3.960)--(3.191,3.950)--(3.199,3.939)%
+  --(3.207,3.930)--(3.215,3.919)--(3.222,3.910)--(3.230,3.901)--(3.238,3.890)--(3.246,3.880)%
+  --(3.254,3.870)--(3.261,3.860)--(3.269,3.851)--(3.277,3.840)--(3.285,3.831)--(3.293,3.821)%
+  --(3.301,3.812)--(3.308,3.801)--(3.316,3.792)--(3.324,3.783)--(3.332,3.773)--(3.340,3.764)%
+  --(3.347,3.755)--(3.355,3.744)--(3.363,3.734)--(3.371,3.725)--(3.379,3.716)--(3.386,3.706)%
+  --(3.394,3.697)--(3.402,3.688)--(3.410,3.679)--(3.418,3.669)--(3.426,3.660)--(3.433,3.651)%
+  --(3.441,3.641)--(3.449,3.633)--(3.457,3.624)--(3.465,3.615)--(3.472,3.606)--(3.480,3.596)%
+  --(3.488,3.587)--(3.496,3.579)--(3.504,3.570)--(3.511,3.560)--(3.519,3.551)--(3.527,3.543)%
+  --(3.535,3.534)--(3.543,3.525)--(3.550,3.515)--(3.558,3.508)--(3.566,3.498)--(3.574,3.491)%
+  --(3.582,3.481)--(3.590,3.472)--(3.597,3.464)--(3.605,3.455)--(3.613,3.447)--(3.621,3.438)%
+  --(3.629,3.430)--(3.636,3.421)--(3.644,3.413)--(3.652,3.404)--(3.660,3.396)--(3.668,3.387)%
+  --(3.675,3.379)--(3.683,3.371)--(3.691,3.362)--(3.699,3.354)--(3.707,3.346)--(3.715,3.337)%
+  --(3.722,3.329)--(3.730,3.321)--(3.738,3.312)--(3.746,3.304)--(3.754,3.296)--(3.761,3.289)%
+  --(3.769,3.281)--(3.777,3.272)--(3.785,3.264)--(3.793,3.256)--(3.800,3.248)--(3.808,3.241)%
+  --(3.816,3.233)--(3.824,3.225)--(3.832,3.216)--(3.839,3.208)--(3.847,3.200)--(3.855,3.192)%
+  --(3.863,3.185)--(3.871,3.177)--(3.879,3.169)--(3.886,3.161)--(3.894,3.154)--(3.902,3.146)%
+  --(3.910,3.138)--(3.918,3.132)--(3.925,3.124)--(3.933,3.116)--(3.941,3.109)--(3.949,3.101)%
+  --(3.957,3.093)--(3.964,3.085)--(3.972,3.079)--(3.980,3.071)--(3.988,3.064)--(3.996,3.056)%
+  --(4.004,3.048)--(4.011,3.042)--(4.019,3.034)--(4.027,3.026)--(4.035,3.020)--(4.043,3.012)%
+  --(4.050,3.005)--(4.058,2.998)--(4.066,2.991)--(4.074,2.983)--(4.082,2.977)--(4.089,2.969)%
+  --(4.097,2.963)--(4.105,2.955)--(4.113,2.947)--(4.121,2.941)--(4.128,2.933)--(4.136,2.927)%
+  --(4.144,2.919)--(4.152,2.913)--(4.160,2.905)--(4.168,2.899)--(4.175,2.891)--(4.183,2.885)%
+  --(4.191,2.879)--(4.199,2.871)--(4.207,2.865)--(4.214,2.857)--(4.222,2.851)--(4.230,2.845)%
+  --(4.238,2.837)--(4.246,2.831)--(4.253,2.824)--(4.261,2.817)--(4.269,2.810)--(4.277,2.804)%
+  --(4.285,2.798)--(4.293,2.790)--(4.300,2.784)--(4.308,2.778)--(4.316,2.772)--(4.324,2.764)%
+  --(4.332,2.758)--(4.339,2.751)--(4.347,2.745)--(4.355,2.739)--(4.363,2.733)--(4.371,2.727)%
+  --(4.378,2.719)--(4.386,2.713)--(4.394,2.706)--(4.402,2.700)--(4.410,2.694)--(4.417,2.688)%
+  --(4.425,2.681)--(4.433,2.675)--(4.441,2.669)--(4.449,2.663)--(4.457,2.657)--(4.464,2.650)%
+  --(4.472,2.644)--(4.480,2.638)--(4.488,2.632)--(4.496,2.626)--(4.503,2.619)--(4.511,2.613)%
+  --(4.519,2.608)--(4.527,2.602)--(4.535,2.596)--(4.542,2.590)--(4.550,2.584)--(4.558,2.577)%
+  --(4.566,2.571)--(4.574,2.567)--(4.581,2.560)--(4.589,2.554)--(4.597,2.548)--(4.605,2.542)%
+  --(4.613,2.537)--(4.621,2.531)--(4.628,2.525)--(4.636,2.520)--(4.644,2.514)--(4.652,2.508)%
+  --(4.660,2.501)--(4.667,2.497)--(4.675,2.490)--(4.683,2.484)--(4.691,2.480)--(4.699,2.473)%
+  --(4.706,2.469)--(4.714,2.463)--(4.722,2.456)--(4.730,2.452)--(4.738,2.445)--(4.746,2.441)%
+  --(4.753,2.435)--(4.761,2.430)--(4.769,2.424)--(4.777,2.417)--(4.785,2.413)--(4.792,2.407)%
+  --(4.800,2.402)--(4.808,2.396)--(4.816,2.391)--(4.824,2.386)--(4.831,2.380)--(4.839,2.376)%
+  --(4.847,2.369)--(4.855,2.365)--(4.863,2.358)--(4.870,2.354)--(4.878,2.349)--(4.886,2.343)%
+  --(4.894,2.338)--(4.902,2.334)--(4.910,2.327)--(4.917,2.323)--(4.925,2.318)--(4.933,2.312)%
+  --(4.941,2.307)--(4.949,2.303)--(4.956,2.296)--(4.964,2.292)--(4.972,2.287)--(4.980,2.282)%
+  --(4.988,2.276)--(4.995,2.271)--(5.003,2.267)--(5.011,2.262)--(5.019,2.256)--(5.027,2.251)%
+  --(5.035,2.247)--(5.042,2.242)--(5.050,2.237)--(5.058,2.233)--(5.066,2.226)--(5.074,2.222)%
+  --(5.081,2.217)--(5.089,2.212)--(5.097,2.208)--(5.105,2.203)--(5.113,2.199)--(5.120,2.194)%
+  --(5.128,2.189)--(5.136,2.183)--(5.144,2.178)--(5.152,2.174)--(5.159,2.169)--(5.167,2.164)%
+  --(5.175,2.160)--(5.183,2.155)--(5.191,2.150)--(5.199,2.146)--(5.206,2.141)--(5.214,2.136)%
+  --(5.222,2.132)--(5.230,2.127)--(5.238,2.122)--(5.245,2.119)--(5.253,2.115)--(5.261,2.110)%
+  --(5.269,2.105)--(5.277,2.101)--(5.284,2.096)--(5.292,2.091)--(5.300,2.087)--(5.308,2.082)%
+  --(5.316,2.079)--(5.324,2.074)--(5.331,2.070)--(5.339,2.065)--(5.347,2.060)--(5.355,2.056)%
+  --(5.363,2.053)--(5.370,2.048)--(5.378,2.043)--(5.386,2.039)--(5.394,2.034)--(5.402,2.031)%
+  --(5.409,2.026)--(5.417,2.021)--(5.425,2.017)--(5.433,2.014)--(5.441,2.009)--(5.448,2.004)%
+  --(5.456,2.001)--(5.464,1.997)--(5.472,1.992)--(5.480,1.987)--(5.488,1.984)--(5.495,1.980)%
+  --(5.503,1.975)--(5.511,1.972)--(5.519,1.967)--(5.527,1.964)--(5.534,1.959)--(5.542,1.955)%
+  --(5.550,1.952)--(5.558,1.947)--(5.566,1.944)--(5.573,1.939)--(5.581,1.934)--(5.589,1.931)%
+  --(5.597,1.927)--(5.605,1.924)--(5.613,1.919)--(5.620,1.916)--(5.628,1.911)--(5.636,1.908)%
+  --(5.644,1.903)--(5.652,1.899)--(5.659,1.896)--(5.667,1.893)--(5.675,1.888)--(5.683,1.885)%
+  --(5.691,1.880)--(5.698,1.877)--(5.706,1.872)--(5.714,1.869)--(5.722,1.865)--(5.730,1.862)%
+  --(5.737,1.857)--(5.745,1.854)--(5.753,1.851)--(5.761,1.846)--(5.769,1.843)--(5.777,1.838)%
+  --(5.784,1.835)--(5.792,1.832)--(5.800,1.827)--(5.808,1.824)--(5.816,1.821)--(5.823,1.816)%
+  --(5.831,1.813)--(5.839,1.810)--(5.847,1.806)--(5.855,1.802)--(5.862,1.799)--(5.870,1.795)%
+  --(5.878,1.792)--(5.886,1.789)--(5.894,1.784)--(5.902,1.781)--(5.909,1.778)--(5.917,1.775)%
+  --(5.925,1.770)--(5.933,1.767)--(5.941,1.764)--(5.948,1.761)--(5.956,1.756)--(5.964,1.753)%
+  --(5.972,1.750)--(5.980,1.747)--(5.987,1.743)--(5.995,1.739)--(6.003,1.736)--(6.011,1.733)%
+  --(6.019,1.730)--(6.026,1.726)--(6.034,1.722)--(6.042,1.719)--(6.050,1.716)--(6.058,1.712)%
+  --(6.066,1.709)--(6.073,1.706)--(6.081,1.703)--(6.089,1.698)--(6.097,1.695)--(6.105,1.692)%
+  --(6.112,1.689)--(6.120,1.686)--(6.128,1.683)--(6.136,1.680)--(6.144,1.677)--(6.151,1.674)%
+  --(6.159,1.670)--(6.167,1.667)--(6.175,1.664)--(6.183,1.661)--(6.191,1.658)--(6.198,1.655)%
+  --(6.206,1.652)--(6.214,1.647)--(6.222,1.644)--(6.230,1.641)--(6.237,1.638)--(6.245,1.635)%
+  --(6.253,1.632)--(6.261,1.630)--(6.269,1.627)--(6.276,1.624)--(6.284,1.621)--(6.292,1.618)%
+  --(6.300,1.615)--(6.308,1.611)--(6.315,1.608)--(6.323,1.605)--(6.331,1.602)--(6.339,1.599)%
+  --(6.347,1.596)--(6.355,1.593)--(6.362,1.590)--(6.370,1.587)--(6.378,1.585)--(6.386,1.582)%
+  --(6.394,1.579)--(6.401,1.576)--(6.409,1.573)--(6.417,1.570)--(6.425,1.566)--(6.433,1.563)%
+  --(6.440,1.562)--(6.448,1.559)--(6.456,1.556)--(6.464,1.552)--(6.472,1.549)--(6.480,1.546)%
+  --(6.487,1.545)--(6.495,1.542)--(6.503,1.538)--(6.511,1.535)--(6.519,1.532)--(6.526,1.531)%
+  --(6.534,1.528)--(6.542,1.525)--(6.550,1.521)--(6.558,1.520)--(6.565,1.517)--(6.573,1.514)%
+  --(6.581,1.511)--(6.589,1.509)--(6.597,1.506)--(6.604,1.503)--(6.612,1.500)--(6.620,1.498)%
+  --(6.628,1.495)--(6.636,1.492)--(6.644,1.489)--(6.651,1.487)--(6.659,1.484)--(6.667,1.481)%
+  --(6.675,1.479)--(6.683,1.476)--(6.690,1.473)--(6.698,1.472)--(6.706,1.469)--(6.714,1.465)%
+  --(6.722,1.464)--(6.729,1.461)--(6.737,1.458)--(6.745,1.456)--(6.753,1.453)--(6.761,1.450)%
+  --(6.768,1.448)--(6.776,1.445)--(6.784,1.444)--(6.792,1.441)--(6.800,1.438)--(6.808,1.436)%
+  --(6.815,1.433)--(6.823,1.431)--(6.831,1.428)--(6.839,1.425)--(6.847,1.424)--(6.854,1.420)%
+  --(6.862,1.419)--(6.870,1.416)--(6.878,1.414)--(6.886,1.411)--(6.893,1.408)--(6.901,1.406)%
+  --(6.909,1.403)--(6.917,1.402)--(6.925,1.399)--(6.933,1.397)--(6.940,1.394)--(6.948,1.393)%
+  --(6.956,1.389)--(6.964,1.388)--(6.972,1.385)--(6.979,1.383)--(6.987,1.380)--(6.995,1.379)%
+  --(7.003,1.375)--(7.011,1.374)--(7.018,1.371)--(7.026,1.369)--(7.034,1.366)--(7.042,1.365)%
+  --(7.050,1.361)--(7.057,1.360)--(7.065,1.358)--(7.073,1.355)--(7.081,1.354)--(7.089,1.351)%
+  --(7.097,1.349)--(7.104,1.346)--(7.112,1.344)--(7.120,1.343)--(7.128,1.340)--(7.136,1.338)%
+  --(7.143,1.335)--(7.151,1.333)--(7.159,1.332)--(7.167,1.329)--(7.175,1.327)--(7.182,1.324)%
+  --(7.190,1.323)--(7.198,1.321)--(7.206,1.318)--(7.214,1.316)--(7.222,1.313)--(7.229,1.312)%
+  --(7.237,1.310)--(7.245,1.307)--(7.253,1.306)--(7.261,1.304)--(7.268,1.301)--(7.276,1.299)%
+  --(7.284,1.298)--(7.292,1.295)--(7.300,1.293)--(7.307,1.292)--(7.315,1.288)--(7.323,1.287)%
+  --(7.331,1.285)--(7.339,1.284)--(7.346,1.281)--(7.354,1.279)--(7.362,1.278)--(7.370,1.274)%
+  --(7.378,1.273)--(7.386,1.271)--(7.393,1.268)--(7.401,1.267)--(7.409,1.265)--(7.417,1.264)%
+  --(7.425,1.260)--(7.432,1.259)--(7.440,1.257)--(7.448,1.256)--(7.456,1.253)--(7.464,1.251)%
+  --(7.471,1.250)--(7.479,1.248)--(7.487,1.245)--(7.495,1.243)--(7.503,1.242)--(7.511,1.240)%
+  --(7.518,1.239)--(7.526,1.236)--(7.534,1.234)--(7.542,1.233)--(7.550,1.231)--(7.557,1.229)%
+  --(7.565,1.226)--(7.573,1.225)--(7.581,1.223)--(7.589,1.222)--(7.596,1.220)--(7.604,1.217)%
+  --(7.612,1.215)--(7.620,1.214)--(7.628,1.212)--(7.635,1.211)--(7.643,1.209)--(7.651,1.206)%
+  --(7.659,1.205)--(7.667,1.203)--(7.675,1.201)--(7.682,1.200)--(7.690,1.198)--(7.698,1.197)%
+  --(7.706,1.194)--(7.714,1.192)--(7.721,1.191)--(7.729,1.189)--(7.737,1.188)--(7.745,1.186)%
+  --(7.753,1.184)--(7.760,1.183)--(7.768,1.181)--(7.776,1.178)--(7.784,1.177)--(7.792,1.175)%
+  --(7.800,1.174)--(7.807,1.172)--(7.815,1.170)--(7.823,1.169)--(7.831,1.167)--(7.839,1.166)%
+  --(7.846,1.164)--(7.854,1.163)--(7.862,1.161)--(7.870,1.160)--(7.878,1.156)--(7.885,1.155)%
+  --(7.893,1.153)--(7.901,1.152)--(7.909,1.150)--(7.917,1.149)--(7.924,1.147)--(7.932,1.146)%
+  --(7.940,1.144)--(7.948,1.142)--(7.956,1.141)--(7.964,1.139)--(7.971,1.138)--(7.979,1.136)%
+  --(7.987,1.135)--(7.995,1.133)--(8.003,1.132)--(8.010,1.130)--(8.018,1.128)--(8.026,1.127)%
+  --(8.034,1.125)--(8.042,1.124)--(8.049,1.122)--(8.057,1.121)--(8.065,1.119)--(8.073,1.118)%
+  --(8.081,1.116)--(8.089,1.115)--(8.096,1.113)--(8.104,1.111)--(8.112,1.110)--(8.120,1.108)%
+  --(8.128,1.107)--(8.135,1.105)--(8.143,1.104)--(8.151,1.102)--(8.159,1.101)--(8.167,1.101)%
+  --(8.174,1.099)--(8.182,1.097)--(8.190,1.096)--(8.198,1.094)--(8.206,1.093)--(8.213,1.091)%
+  --(8.221,1.090)--(8.229,1.088)--(8.237,1.087)--(8.245,1.085)--(8.253,1.083)--(8.260,1.082)%
+  --(8.268,1.080)--(8.276,1.080)--(8.284,1.079)--(8.292,1.077)--(8.299,1.076)--(8.307,1.074)%
+  --(8.315,1.073)--(8.323,1.071)--(8.331,1.069)--(8.338,1.068)--(8.346,1.068)--(8.354,1.066)%
+  --(8.362,1.065)--(8.370,1.063)--(8.378,1.062)--(8.385,1.060)--(8.393,1.059)--(8.401,1.057)%
+  --(8.409,1.057)--(8.417,1.055)--(8.424,1.054)--(8.432,1.052)--(8.440,1.051)--(8.448,1.049)%
+  --(8.456,1.048)--(8.463,1.048)--(8.471,1.046)--(8.479,1.045)--(8.487,1.043)--(8.495,1.042)%
+  --(8.502,1.040)--(8.510,1.040)--(8.518,1.038)--(8.526,1.037)--(8.534,1.035)--(8.542,1.034)%
+  --(8.549,1.034)--(8.557,1.032)--(8.565,1.031)--(8.573,1.029)--(8.581,1.028)--(8.588,1.026)%
+  --(8.596,1.026)--(8.604,1.024)--(8.612,1.023)--(8.620,1.021)--(8.627,1.021)--(8.635,1.020)%
+  --(8.643,1.018)--(8.651,1.017)--(8.659,1.015)--(8.667,1.015)--(8.674,1.014)--(8.682,1.012)%
+  --(8.690,1.010)--(8.698,1.010)--(8.706,1.009)--(8.713,1.007)--(8.721,1.006)--(8.729,1.004)%
+  --(8.737,1.004)--(8.745,1.003)--(8.752,1.001)--(8.760,1.000)--(8.768,1.000)--(8.776,0.998)%
+  --(8.784,0.996)--(8.791,0.995)--(8.799,0.995)--(8.807,0.993)--(8.815,0.992)--(8.823,0.992)%
+  --(8.831,0.990)--(8.838,0.989)--(8.846,0.987)--(8.854,0.987)--(8.862,0.986)--(8.870,0.984)%
+  --(8.877,0.983)--(8.885,0.983)--(8.893,0.981)--(8.901,0.979)--(8.909,0.979)--(8.916,0.978)%
+  --(8.924,0.976)--(8.932,0.975)--(8.940,0.975)--(8.948,0.973)--(8.955,0.972)--(8.963,0.972)%
+  --(8.971,0.970)--(8.979,0.969)--(8.987,0.969)--(8.995,0.967)--(9.002,0.965)--(9.010,0.965)%
+  --(9.018,0.964)--(9.026,0.962)--(9.034,0.962)--(9.041,0.961)--(9.049,0.959)--(9.057,0.959)%
+  --(9.065,0.958)--(9.073,0.956)--(9.080,0.956)--(9.088,0.955)--(9.096,0.953)--(9.104,0.953)%
+  --(9.112,0.951)--(9.120,0.950)--(9.127,0.950)--(9.135,0.948)--(9.143,0.947)--(9.151,0.947)%
+  --(9.159,0.945)--(9.166,0.944)--(9.174,0.944)--(9.182,0.942)--(9.190,0.941)--(9.198,0.941)%
+  --(9.205,0.939)--(9.213,0.939)--(9.221,0.937)--(9.229,0.936)--(9.237,0.936)--(9.244,0.934)%
+  --(9.252,0.933)--(9.260,0.933)--(9.268,0.931)--(9.276,0.931)--(9.284,0.930)--(9.291,0.928)%
+  --(9.299,0.928)--(9.307,0.927)--(9.315,0.927)--(9.323,0.925)--(9.330,0.923)--(9.338,0.923)%
+  --(9.346,0.922)--(9.354,0.922)--(9.362,0.920)--(9.369,0.919)--(9.377,0.919)--(9.385,0.917)%
+  --(9.393,0.917)--(9.401,0.916)--(9.409,0.914)--(9.416,0.914)--(9.424,0.913)--(9.432,0.913)%
+  --(9.440,0.911)--(9.448,0.911)--(9.455,0.910)--(9.463,0.908)--(9.471,0.908)--(9.479,0.906)%
+  --(9.487,0.906)--(9.494,0.905)--(9.502,0.905)--(9.510,0.903)--(9.518,0.902)--(9.526,0.902)%
+  --(9.533,0.900)--(9.541,0.900)--(9.549,0.899)--(9.557,0.899)--(9.565,0.897)--(9.573,0.897)%
+  --(9.580,0.896)--(9.588,0.894)--(9.596,0.894)--(9.604,0.892)--(9.612,0.892)--(9.619,0.891)%
+  --(9.627,0.891)--(9.635,0.889)--(9.643,0.889)--(9.651,0.888)--(9.658,0.888)--(9.666,0.886)%
+  --(9.674,0.886)--(9.682,0.885)--(9.690,0.885)--(9.698,0.883)--(9.705,0.882)--(9.713,0.882)%
+  --(9.721,0.880)--(9.729,0.880)--(9.737,0.878)--(9.744,0.878)--(9.752,0.877)--(9.760,0.877)%
+  --(9.768,0.875)--(9.776,0.875)--(9.783,0.874)--(9.791,0.874)--(9.799,0.872)--(9.807,0.872)%
+  --(9.815,0.871)--(9.822,0.871)--(9.830,0.869)--(9.838,0.869)--(9.846,0.868)--(9.854,0.868)%
+  --(9.862,0.866)--(9.869,0.866)--(9.877,0.864)--(9.885,0.864)--(9.893,0.863)--(9.901,0.863)%
+  --(9.908,0.861)--(9.916,0.861)--(9.924,0.861)--(9.932,0.860)--(9.940,0.860)--(9.947,0.858)%
+  --(9.955,0.858)--(9.963,0.857)--(9.971,0.857)--(9.979,0.855)--(9.987,0.855)--(9.994,0.854)%
+  --(10.002,0.854)--(10.010,0.852)--(10.018,0.852)--(10.026,0.851)--(10.033,0.851)--(10.041,0.851)%
+  --(10.049,0.849)--(10.057,0.849)--(10.065,0.847)--(10.072,0.847)--(10.080,0.846)--(10.088,0.846)%
+  --(10.096,0.844)--(10.104,0.844)--(10.111,0.843)--(10.119,0.843)--(10.127,0.843)--(10.135,0.841)%
+  --(10.143,0.841)--(10.151,0.840)--(10.158,0.840)--(10.166,0.838)--(10.174,0.838)--(10.182,0.838)%
+  --(10.190,0.837)--(10.197,0.837)--(10.205,0.835)--(10.213,0.835)--(10.221,0.833)--(10.229,0.833)%
+  --(10.236,0.833)--(10.244,0.832)--(10.252,0.832)--(10.260,0.830)--(10.268,0.830)--(10.276,0.829)%
+  --(10.283,0.829)--(10.291,0.829)--(10.299,0.827)--(10.307,0.827)--(10.315,0.826)--(10.322,0.826)%
+  --(10.330,0.826)--(10.338,0.824)--(10.346,0.824)--(10.354,0.823)--(10.361,0.823)--(10.369,0.823)%
+  --(10.377,0.821)--(10.385,0.821)--(10.393,0.819)--(10.400,0.819)--(10.408,0.819)--(10.416,0.818)%
+  --(10.424,0.818)--(10.432,0.816)--(10.440,0.816)--(10.447,0.816)--(10.455,0.815)--(10.463,0.815)%
+  --(10.471,0.813)--(10.479,0.813)--(10.486,0.813)--(10.494,0.812)--(10.502,0.812)--(10.510,0.812)%
+  --(10.518,0.810)--(10.525,0.810)--(10.533,0.809)--(10.541,0.809)--(10.549,0.809)--(10.557,0.807)%
+  --(10.565,0.807)--(10.572,0.805)--(10.580,0.805)--(10.588,0.805)--(10.596,0.804)--(10.604,0.804)%
+  --(10.611,0.804)--(10.619,0.802)--(10.627,0.802)--(10.635,0.802)--(10.643,0.801)--(10.650,0.801)%
+  --(10.658,0.799)--(10.666,0.799)--(10.674,0.799)--(10.682,0.798)--(10.689,0.798)--(10.697,0.798)%
+  --(10.705,0.796)--(10.713,0.796)--(10.721,0.796)--(10.729,0.795)--(10.736,0.795)--(10.744,0.795)%
+  --(10.752,0.793)--(10.760,0.793)--(10.768,0.793)--(10.775,0.791)--(10.783,0.791)--(10.791,0.791)%
+  --(10.799,0.790)--(10.807,0.790)--(10.814,0.790)--(10.822,0.788)--(10.830,0.788)--(10.838,0.788)%
+  --(10.846,0.787)--(10.854,0.787)--(10.861,0.787)--(10.869,0.785)--(10.877,0.785)--(10.885,0.785)%
+  --(10.893,0.784)--(10.900,0.784)--(10.908,0.784)--(10.916,0.782)--(10.924,0.782)--(10.932,0.782)%
+  --(10.939,0.781)--(10.947,0.781)--(10.955,0.781)--(10.963,0.779)--(10.971,0.779)--(10.978,0.779)%
+  --(10.986,0.778)--(10.994,0.778)--(11.002,0.778)--(11.010,0.776)--(11.018,0.776)--(11.025,0.776)%
+  --(11.033,0.774)--(11.041,0.774)--(11.049,0.774)--(11.057,0.774)--(11.064,0.773)--(11.072,0.773)%
+  --(11.080,0.773)--(11.088,0.771)--(11.096,0.771)--(11.103,0.771)--(11.111,0.770)--(11.119,0.770)%
+  --(11.127,0.770)--(11.135,0.768)--(11.142,0.768)--(11.150,0.768)--(11.158,0.768)--(11.166,0.767)%
+  --(11.174,0.767)--(11.182,0.767)--(11.189,0.765)--(11.197,0.765)--(11.205,0.765)--(11.213,0.765)%
+  --(11.221,0.764)--(11.228,0.764)--(11.236,0.764)--(11.244,0.762)--(11.252,0.762)--(11.260,0.762)%
+  --(11.267,0.762)--(11.275,0.760)--(11.283,0.760)--(11.291,0.760)--(11.299,0.759)--(11.307,0.759)%
+  --(11.314,0.759)--(11.322,0.759)--(11.330,0.757)--(11.338,0.757)--(11.346,0.757);
+\gpcolor{color=gp lt color border}
+\draw[gp path] (1.012,8.381)--(1.012,0.616)--(11.947,0.616)--(11.947,8.381)--cycle;
+%% coordinates of the plot area
+\gpdefrectangularnode{gp plot 1}{\pgfpoint{1.012cm}{0.616cm}}{\pgfpoint{11.947cm}{8.381cm}}
+\end{tikzpicture}
+%% gnuplot variables
diff --git a/20231123/loesung-3.c b/20231123/loesung-3.c
new file mode 100644
index 0000000000000000000000000000000000000000..872058ac9fecdcb59ac1104ca67841cb3dc974a9
--- /dev/null
+++ b/20231123/loesung-3.c
@@ -0,0 +1,28 @@
+#include <stdio.h>
+
+int read_hex (char c)
+{
+  if (c >= '0' && c <= '9')
+    return c - '0';
+  else if (c >= 'A' && c <= 'F')
+    return c - 'A' + 10;
+  else if (c >= 'a' && c <= 'f')
+    return c - 'a' + 10;
+  else
+    {
+      fprintf (stderr, "invalid hex digit '%c'\n", c);
+      return 0;
+    }
+}
+
+int main (void)
+{
+  char buffer[100];
+  fgets (buffer, 100, stdin);
+  for (char *p = buffer; p[0] && p[1]; p += 2)
+    {
+      char c = 16 * read_hex (p[0]) + read_hex (p[1]);
+      printf ("%c", c);
+    }
+  printf ("\n");
+}
diff --git a/20231123/logo-hochschule-bochum-cvh-text-v2.pdf b/20231123/logo-hochschule-bochum-cvh-text-v2.pdf
new file mode 120000
index 0000000000000000000000000000000000000000..4aa99b8f81061aca6dcaf43eed2d9efef40555f8
--- /dev/null
+++ b/20231123/logo-hochschule-bochum-cvh-text-v2.pdf
@@ -0,0 +1 @@
+../common/logo-hochschule-bochum-cvh-text-v2.pdf
\ No newline at end of file
diff --git a/20231123/logo-hochschule-bochum.pdf b/20231123/logo-hochschule-bochum.pdf
new file mode 120000
index 0000000000000000000000000000000000000000..b6b9491e370e499c9276918182cdb82cb311bcd1
--- /dev/null
+++ b/20231123/logo-hochschule-bochum.pdf
@@ -0,0 +1 @@
+../common/logo-hochschule-bochum.pdf
\ No newline at end of file
diff --git a/20231123/pendulum.pdf b/20231123/pendulum.pdf
new file mode 120000
index 0000000000000000000000000000000000000000..7d1d87305cdb8840a248ff2207538d758464f452
--- /dev/null
+++ b/20231123/pendulum.pdf
@@ -0,0 +1 @@
+../common/pendulum.pdf
\ No newline at end of file
diff --git a/20231123/pgscript.sty b/20231123/pgscript.sty
new file mode 120000
index 0000000000000000000000000000000000000000..95c888478c99ea7fda0fd11ccf669ae91be7178b
--- /dev/null
+++ b/20231123/pgscript.sty
@@ -0,0 +1 @@
+../common/pgscript.sty
\ No newline at end of file
diff --git a/20231123/pgslides.sty b/20231123/pgslides.sty
new file mode 120000
index 0000000000000000000000000000000000000000..5be1416f4216f076aa268901f52a15d775e43f64
--- /dev/null
+++ b/20231123/pgslides.sty
@@ -0,0 +1 @@
+../common/pgslides.sty
\ No newline at end of file
diff --git a/README.md b/README.md
index 492885ffb1e1a03c045faef9bc843c1335247f98..e381558054eaaca6545c8ce2c2028d3b9cd25a55 100644
--- a/README.md
+++ b/README.md
@@ -23,7 +23,8 @@ Vortragsfolien und Beispiele:
  * [26.10.2023: Einführung in C: String-Operationen; Bibliotheken](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231026/hp-20231026.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/2023ws/20231026/)
  * [02.11.2023: Bibliotheken](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231102/hp-20231102.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/2023ws/20231102/)
  * [09.11.2023: Hardwarenahe Programmierung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231109/hp-20231109.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/2023ws/20231109/)
- * [16.11.2023: Byte-Reihenfolge, Darstellung negativer Zahlen, Darstellung von Gleitkommazahlen, Speicherausrichtung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231116/hp-20231116.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/2023ws/20231116/)
+ * [16.11.2023: Byte-Reihenfolge, Darstellung negativer Zahlen, Darstellung von Gleitkommazahlen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231116/hp-20231116.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/2023ws/20231116/)
+ * [23.11.2023: Speicherausrichtung, Algorithmen: Differentialgleichungen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231123/hp-20231123.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/2023ws/20231123/)
  * [alle in 1 Datei](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/hp-slides-2023ws.pdf)
 
 Übungsaufgaben:
@@ -35,6 +36,7 @@ Vortragsfolien und Beispiele:
  * [02.11.2023: Zahlensysteme, Ausgabe von Hexadezimalzahlen, Einfügen in Strings](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231102/hp-uebung-20231102.pdf)
  * [09.11.2023: Text-Grafik-Bibliothek, Mikrocontroller, LED-Blinkmuster](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231109/hp-uebung-20231109.pdf)
  * [16.11.2023: Trickprogrammierung, Thermometer-Baustein an I²C-Bus, Speicherformate von Zahlen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231116/hp-uebung-20231116.pdf)
+ * [23.11.2023: Kondensator, Personen-Datenbank, Hexdumps](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231123/hp-uebung-20231123.pdf)
 
 Musterlösungen:
 ---------------
@@ -44,6 +46,7 @@ Musterlösungen:
  * [02.11.2023: Zahlensysteme, Ausgabe von Hexadezimalzahlen, Einfügen in Strings](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231102/hp-musterloesung-20231102.pdf)
  * [09.11.2023: Text-Grafik-Bibliothek, Mikrocontroller, LED-Blinkmuster](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231109/hp-musterloesung-20231109.pdf)
  * [16.11.2023: Trickprogrammierung, Thermometer-Baustein an I²C-Bus, Speicherformate von Zahlen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231116/hp-musterloesung-20231116.pdf)
+ * [23.11.2023: Kondensator, Personen-Datenbank, Hexdumps](https://gitlab.cvh-server.de/pgerwinski/hp/raw/2023ws/20231123/hp-musterloesung-20231123.pdf)
 
 Praktikumsunterlagen:
 ---------------------
diff --git a/hp-slides-2023ws.pdf b/hp-slides-2023ws.pdf
index f4b1aafb1a74f044ff673ee7270568b722418c96..4194a11bffce9b374c9a4ac056895cf9b987e760 100644
Binary files a/hp-slides-2023ws.pdf and b/hp-slides-2023ws.pdf differ
diff --git a/hp-slides-2023ws.tex b/hp-slides-2023ws.tex
index f7cd9bd26bcb913256ca6d6966191fa8a8735bb9..f577a24e6499716afb7c5732b60640c4a6bc1ff7 100644
--- a/hp-slides-2023ws.tex
+++ b/hp-slides-2023ws.tex
@@ -23,6 +23,8 @@
   \includepdf[pages=-]{20231102/hp-20231102.pdf}
   \pdfbookmark[1]{09.11.2023: Hardwarenahe Programmierung}{20231109}
   \includepdf[pages=-]{20231109/hp-20231109.pdf}
-  \pdfbookmark[1]{16.11.2023: Byte-Reihenfolge, Darstellung negativer Zahlen, Darstellung von Gleitkommazahlen, Speicherausrichtung}{20231116}
+  \pdfbookmark[1]{16.11.2023: Byte-Reihenfolge, Darstellung negativer Zahlen, Darstellung von Gleitkommazahlen}{20231116}
   \includepdf[pages=-]{20231116/hp-20231116.pdf}
+  \pdfbookmark[1]{23.11.2023: Speicherausrichtung}{20231123}
+  \includepdf[pages=-]{20231123/hp-20231123.pdf}
 \end{document}