C++ Programmieraufgabe: Auswertung einer Fahrradtour

Die Programmieraufgabe behandelt ein typisches Problem der Datenverarbeitung: Messdaten werden laufend aufgenommen und sollen geeignet ausgewertet werden. Sie k├Ânnen: Erstens direkt angezeigt werden, zweitens sofort in andere relevante Daten umgerechnet und angezeigt werden oder drittens abgespeichert und erst in ihrer Gesamtheit ausgewertet werden. Diese Aufgaben sollen anhand der zu simulierenden Daten, die w├Ąhrend einer Fahrradtour anfallen k├Ânnen, einge├╝bt werden.
Noch keine Stimmen abgegeben
Noch keine Kommentare

Einordnung des Artikels

Einf├╝hrung

Das hier vorgeschlagene Programm soll die Aufnahme von Messdaten, ihre Speicherung und Auswertung simulieren. Als Beispiel hierf├╝r werden die typischen Messdaten verwendet, wie sie bei einer Radtour von einem Tachometer mit H├Âhenmesser und einem Pulsmesser geliefert werden.

Dabei werden einige typische Probleme aufgezeigt, die mit der Aufnahme und Verarbeitung von Messdaten verbunden sind:

  • Messdaten sind reine Zahlen; um welche Einheiten es sich handelt muss separat definiert werden.
  • F├╝r die Angabe von Zahlen steht immer nur eine begrenzte Anzahl von Stellen zur Verf├╝gung; auch hier muss man Konventionen festlegen, welche Messgr├Â├če mit welcher Genauigkeit angegeben wird.
  • Man muss sich immer ├╝berlegen, welche Messdaten nur (kurzzeitig) angezeigt werden und nicht abgespeichert werden und welche Messdaten persistent gemacht werden m├╝ssen.
  • Dazu muss man einen geeigneten Speicher und eine Schnittstelle vom Programm zum Speicher realisieren.

Die Messdaten

Damit man aus den sp├Ąteren Zeitmessungen Entfernungen und damit Geschwindigkeiten berechnen kann, muss vor der Tour der Umfang des Reifens, an dem sich die Messsonde befindet, eingegeben werden (der Umfang wird in mm angegeben ÔÇö mit drei g├╝ltigen Stellen, aber ohne Nachkommastellen).

Zu Beginn und am Ende der Tour wird der Nutzer aufgefordert, die neue Tour zu starten beziehungsweise zu beenden. Der Bezugspunkt f├╝r den H├Âhenmesser ist die H├Âhe am Ausgangspunkt, die willk├╝rlich mit 0 festgelegt wird.

W├Ąhrend der Tour werden folgende Daten aufgenommen:

  1. Nach jeder Minute wird die aktuelle Herzfrequenz gemessen (in Anzahl / min)
  2. Nach jeder Umdrehung des Reifens wird die aktuelle Uhrzeit gemessen. Sie wird im Format hh:mm:ss.ss angegeben, was bedeuten soll:
    • An den vordersten zwei Stellen werden die Stunden angegeben: 00, 01,.., 23. (Um Mitternacht springt die Anzeige auf 00:00:00.00 und es wird kein Datum angezeigt.)
    • An den n├Ąchsten zwei Stellen die Minuten: 00, 01,..., 59.
    • An den letzten vier Stellen die Sekunden, wobei zwei davon Nachkommastellen (Zehntel- und Hundertstel-Sekunden) sind: 00.00, ..., 59.99.
  3. Ebenso wird nach jeder Umdrehung des Reifens die H├Âhe bezogen auf den Start der Tour gemessen. Die H├Âhe wird in Metern angegeben (vier Stellen plus zwei Nachkommastellen).

Am Ende der Tour wird der Nutzer aufgefordert, den H├Âhenmesser zu ├╝berpr├╝fen (kehrt man zum Startpunkt zur├╝ck, sollte er bei 0000.00 stehen; da die H├Âhenmessung ├╝ber den Luftdruck erfolgt, wird sich eine Abweichung einstellen) sowie den Umfang des Reifens zu ├╝berpr├╝fen (siehe unten).

Alle Messdaten k├Ânnen im Prinzip sofort angezeigt werden, sie werden aber auch f├╝r eine nachtr├Ągliche Auswertung gespeichert.

Die Aufgaben

  1. Realisieren Sie eine Speicherung der Messdaten, so dass sie auch nach Beendigung des Programmes noch abrufbar sind.
  2. Erzeugen Sie geeignete geeignete Testdaten, mit denen Sie eine Tour simulieren k├Ânnen. Dazu kann man etwa verschiedene Streckenabschnitte simulieren (Flach-Etappe, langer Anstieg, lange Abfahrt, H├╝gellandschaft, Stop and Go, Pause) und diese zu einer kompletten Tour zusammensetzen.
  3. ├ťberlegen Sie sich, welche Daten sofort ausgewertet werden k├Ânnen und welche Informationen dem Nutzer schon w├Ąhrend der Tour angezeigt werden k├Ânnen.
  4. Welche Daten lassen sich erst sinnvoll nach der Tour auswerten?
  5. Wie werden Ruhezeiten verarbeitet?
  6. Schreiben Sie ein Programm, das dem Nutzer m├Âglichst viele aussagekr├Ąftige Informationen ├╝ber seine Tour liefert (w├Ąhrend und nach der Tour).
  7. Versuchen Sie ÔÇö f├╝r die Teile der Auswertung, bei denen dies sinnvoll ist, ÔÇö eine aussagekr├Ąftige graphische Ausgabe zu realisieren.