GDP- Übungsblatt 5 20. 11 .2009 Aufgabe 1 Der Mittelwert einer Folge von Zahlen ist der Wert, den man erhält, wenn man die Folge aufaddiert und dann durch die Anzahl der Elemente dividiert: Beispiel: Der Mittelwert der Folge <8, 4, 1, 2, 16> ist 6.2; der Mittelwert der Folge <1, 2, 4, 8> ist 3.75; Schreiben Sie ein Programm, das eine Folge von natürlichen Zahlen einliest und davon den Mittelwert berechnet. Der Benutzer soll nicht gezwungen sein, dem Programm die Länge der Folge mitzuteilen. Die Eingabe der Folge ist dann als beendet zu betrachten, wenn der Benutzer etwas eingibt, was keine natürliche Zahl ist. Testen Sie Ihr Programm mit verschiedenen Eingaben und vergessen Sie nicht, Ihre Testläufe ebenfalls abzugeben. Testen Sie Ihr Programm mindestens mit folgenden Eingaben: <8, 4, 1, 2, 16>, <1, 2, 4, 8>, <1, 1, 1, 5, 7, 27, 9, 100, 3>, <9, 1,2, 10, 4, 4>. Vergessen Sie nicht den Quellcode zu dokumentieren. Aufgabe 2 Aufgabe ist es, eine Applikation zu entwickeln, die eine primitive Simulation eines Qualitätsmanagements in einer typischen Eisfabrik darstellt. Die fertigen Eiswürfel laufen in der Fabrik vom Band und passieren die Qualitätssicherung. Dort wird die Temperatur gemessen und an einem Display angezeigt. Der zuständige Mitarbeiter gibt diese Temperatur in die von Ihnen zu erstellende Applikation ein. Wenn die Temperatur zwischen −15◦ Celsius und −5◦ Celsius liegt, ist der Würfel in Ordnung und läuft weiter zur Verpackungsmaschine. Liegt die Temperatur außerhalb dieses Bereichs, wird er auf ein anderes Fließband umgeleitet und wieder eingeschmolzen. Die Steuerung des Fließbandes erfolgt über ein Objekt der Klasse Fliessband (Code siehe unten). EisFabrikApp soll in einer Schleife so lange Temperatureingaben vom Benutzer abfragen, bis dieser etwas anderes als eine Zahl eingibt - in diesem Fall wird das Programm beendet. Jede eingegebene Zahl soll einer Methode checkTemp(...) übergeben werden, die den Temperaturbereich prüft und bei Bedarf die entsprechende Exception wirft. Die Exceptionklassen sollen die Möglichkeit bieten entweder einen Text wie: „Die Temperatur ist zu hoch!“ (bzw. zu niedrig) oder einen Satz der Form „Die Temperatur darf XY Grad nicht überschreiten (bzw. Unterschreiten) ausgeben zu lassen, wenn die jeweilige Exception geworfen wird. Liegt die Temperatur innerhalb des gültigen Bereichs, so soll die Methode verpacken() des Fliessband-Objektes aufgerufen werden, andernfalls wird die Methode einschmelzen() aufgerufen. public class Fliessband { public void verpacken () { System.out.println ("Eiswuerfel wird verpackt."); } public void einschmelzen () { System.out.println ("Eiswuerfel wird wieder eingeschmolzen."); } } Diagramm 1 zeigt die kleine Exception Hierarchie, die für die Lösung des Programms aufgebaut werden muss. Diagramm 1: Exception Hierarchie Die beiden Aufgaben der Übung sollten jeweils fehlerfrei kompilierbaren bis spätestens 03. 12. 2009 per mail an [email protected] gesendet werden.