Prof. Dr. Franz Schweiggert Abteilung Angewandte Informationsverarbeitung 25.01.2006
Norbert Heidenbluth Blatt 13


Uni Logo



Allgemeine Informatik I für Mathematiker/Wirtschaftsmathematiker
(WS 2005/2006)



Abgabetermin: 01. Februar 2006

Dieses Blatt behandelt nochmals intensiv die Themenbereiche ``Methoden'' und ``zweidimensionale Arrays'', und nebenbei werden auch rudimentäre HTML-Kenntnisse vermittelt. Das Ablegen von Daten in einfachen Textdateien, wobei die Datenfelder durch ein spezielles Zeichen voneinander getrennt sind, ist in der Unix-Welt durchaus üblich (sogenannte ``Unix-Datenbanken''), sodaß das Aufsplitten, Einlesen und Verarbeiten derartiger Zeilen eine häufig zu lösende Aufgabe ist.

Aufgabe 26: Die dicken Kinder von Landau (15 Punkte)

Kennen Sie ``Die dicken Kinder von Landau'' aus der Harald-Schmidt-Show? Hier die Titel der ersten fünf Folgen:

Folge 1:
``Mama, noch'n Brot!''
Folge 2:
``Mama, mehr Zucker in's Cola!''
Folge 3:
``Mama, 's Nutella is alle!''
Folge 4:
``Mama, bring ma die Chipse!''
Folge 5:
``Mama, der Papa hat's gegessen!''

Wie kamen wir jetzt darauf? Ach ja: die Anzahl übergewichtiger Kinder nimmt stetig zu, und immer mehr Ärzte und Kliniken bieten Therapien und Behandlungen für die Betroffenen an.

Auch Ihr Hausarzt hat die Behandlung übergewichtiger Kinder begonnen, aber beim Ihrem letzten Besuch dort klagte er Ihnen sein Leid über seine Patienten-Software. Denn diese speichert alle Untersuchungsdaten zwar korrekt ab, aber irgendwie nicht so richtig übersichtlich. Und außerdem sieht sie auch keinerlei Auswertungs- bzw. Statistikfunktionen vor.

Damit Sie auch als Kassenpatient in Zukunft nie mehr länger als 5 Minuten warten müssen, bieten Sie Ihrem Arzt daher an, mit Ihren nun schon fortgeschrittenen Programmierkenntnissen ein kleines Tool zu schreiben, das ihm aus den vorliegenden Daten einen tabellarischen Überblick über alle Patienten gibt und eine minimale statistische Auswertung erzeugt. Das alles soll in eine HTML-Datei geschrieben werden, die sich der Arzt dann in seinem Web-Browser ansehen kann.

Konkret stellen Sie sich die Verwendung des Tools wie folgt vor:

Die Aufgabe lautet nun kurz und bündig:

``Schreiben Sie eine solches Programm (in Java) und verbrauchen Sie dabei mindestens 1.000 Kalorien!''

Vorgehen

Für diejenigen, die mit dem Programmieren noch nicht so vertraut sind, gibt es nachstehend nun einen Vorschlag, wie man diese Aufgabe anpacken kann. Dieser Vorschlag ist jedoch keinesfalls bindend, so daß jede(r) auch davon abweichen darf!

  1. Machen Sie sich zuallererst Gedanken darüber, in welcher Datenstruktur Sie die Daten (Tabelle) ablegen möchten. Da wir bislang eigentlich nur zwei solche Strukturen kennen (wobei die eine sogar noch ein Spezialfall der anderen ist) fällt die Entscheidung sicherlich nicht allzuschwer$\ldots$!
  2. Skizzieren Sie auf einem Blatt Papier, wie die Ablauflogik Ihres Programms aussehen soll (Einlesen, Berechnungen durchführen, Ausgeben, etc.)
  3. Um das Programm übersichtlich zu halten, sollten Sie nach Möglichkeit Methoden verwenden. Überlegen Sie sich daher, für welche Funktionalitäten Methoden hilfreich und sinnvoll sein könnten.
  4. Überlegen Sie für jede dieser Methoden, welche Eingabeparameter sie benötigen (ggf. auch keine) und ob ein Rückgabewert (wenn ja: von welchem Typ?) geliefert werden soll.
  5. Das alles war nur die Vorbereitung und setzte noch keinerlei Programmieren voraus. Bis hierhin sollten Sie in der Gruppe gearbeitet haben.
    Wenn diese Schritte sorgfältig erledigt worden sind, besteht der Rest der Aufgabe nun ``nur noch'' darin, die Funktionalitäten zu implementieren, und dies kann man nun in der Gruppe aufteilen.
  6. Der Vorteil bei der Verwendung von Methoden ist auch folgender: man kann (bei ``geschicktem'' Programmieren) jede Methode unabhängig vom Rest des Programms testen, indem man eine passende Eingabe liefert und das Verhalten der Methode beobachtet. Liefert sie das erwartete Ergebnis, hat man das erste Puzzle-Teil des kompletten Programms fertig.
  7. Somit besteht das Hauptprogramm nach Möglichkeit lediglich aus dem Aufruf der einzelnen Methoden.

Tips und Hinweise

Viel Erfolg!



Fußnoten

... sollten1
Kleiner Wink mit dem Zaunpfahl ;-)


Norbert Heidenbluth 2006-01-25