Prof. Dr. Franz Schweiggert Institut für Angewandte Informationsverarbeitung 21. Mai 2008
Christoph Schneckenburger Blatt 4
Einführung in die Programmierung
(SS 2008)
Abgabetermin: 29. Mai 2008
Klischees sind doch was Schönes. Den Bayer und seine Angewohnheit, auf dem Oktoberfest die ein oder
andere Mass zu trinken, haben wir ja erschöpfend behandelt. Kommen wir nun also zu den Schwaben.
Denjenigen unter Euch, die nicht ursprünglich ''aus'm Ländle'' kommen, sei einer unserer Wahlsprüche
mal vorab mitgegeben. Dieser lautet: ''Schaffe, Schaffe, Heisle baua''. Auf deutsch bedeutet dies:
Arbeite hart und leiste dir von dem dabei verdienten Geld ein Eigenheim. Da Ihr bestimmt alle schon
hart arbeitet, werden wir uns auf diesem Übungsblatt mit dem zweiten Teil, der Finanzierung eines
Eigenheims beschäftigen. Hierzu gibt es die für Schwaben wundervolle Einrichtung eines
Bausparvertrags.
Das Prinzip eines Bausparvertrags ist ganz einfach. Ihr zahlt jedes Jahr einen
bestimmten Sparbeitrag auf Euer Bausparkonto ein. Sobald die Bausparsumme
erreicht ist, bekommt Ihr von Eurer Bausparkasse die Vertragssumme überwiesen.
Diese ist in der Regel deutlich höher als die Bausparsumme. Die Differenz wird
Euch als Bauspardarlehen gewährt, das Ihr anschließend wieder zurückzahlen
müsst.
Wir entwickeln nun eine Modellrechnung für Euren Bausparvertrag, Schritt für Schritt. Am Ende haben
wir dann zum ersten Mal ein nicht ganz triviales Java-Programm mit einem echten Nutzen.
Schreibt ein Programm, dass vom Benutzer die gewünschte Bausparsumme sowie die Vertragssumme erfragt und auf
optisch schönes Weise am Bildschirm ausgibt.
Ein Bausparvertrag gilt als zuteilungsreif, wenn die Bausparsumme erreicht ist. Fragt in einer
Schleife die jährlichen Sparbeiträge des Bauspareres ab und teilt ihm mit, wenn die Bausparsumme
erreicht ist.
Von besonderem Interesse für jeden Bausparer ist natürlich die Zahl der Jahre bis ein Bausparvertrag
zuteilungsreif ist. Zählt diese in Eurer Schleife mit und gebt sie abschließend am Bildschirm aus.
Da eine Bausparkasse Eure eingezahlten Beitrag nicht unterm Kopfkissen fur Euch
aufbewahrt, bekommt Ihr auch Zinsen dafür. Um den späteren Darlehenszins möglichst gering zu halten,
ist der Guthabenzins meist jedoch erst recht gering. Nehmt mal an er betrage 1,5%.
Nehmt weiter an, der Sparbeitrag wird jedes Jahr pünktlich zum 1.1. überwiesen und zum Jahresende
verzinst. Ergänzt nun Euer Programm um die Guthabenzinsen. Gebt die erhaltenen Zinsen jährlich aus.
Da Hausbesitzer keine Revoluiton machen (meinte zumindest einst Adenauer),
bezuschusst der Staat Eure Bausparbeiträge, vorausgesetzt Euer Einkommen ist
nicht zu hoch. Da Ihr jedoch Studenten seid, sollte diese Voraussetzung erfüllt sein.
Diese Wohnungsbauprämie beträgt aktuell Eurer Sparbeiträge, jedoch maximal
Euro im Jahr. Nehmt an, diese Prämie wird Euch stets am 31.12. eines
Jahres überwiesen, so dass sie im Folgejahr verzinst werden kann. Integriert nun auch diese
Komponente in Euer Programm. Gebt nun auch die Wohnungsbauprämie jedes Jahr aus.
Mit der Zuteilung des Bausparvertrags wird dem Bausparer wie oben bereits beschrieben nicht nur die
Bausparsumme überwiesen, sondern die höhere Vertragssumme. Die Differenz bekommt der Bausparer als
Darlehen gewährt. Gebt die Höhe des gewährten Darlehens am Bildschirm aus.
Der unangenehmste Teil eines jeden Darlehens ist dessen Rüchzahlung. Fragt den Bausparer welchen
Betrag er jährlich zurückzahlen möchte und berechnet für ihn wieviele Jahre er diesen Beitrag
leisten muss um das gesamte Darlehen zurückgezahlt zu haben. Ihr könnt dabei von einem Darlehenszins
von 3% ausgehen. Geht wieder davon aus, dass sowohl die Rückzahlung als auch die
Verzinsung zum 31.12 eines jeden Jahres erfolgt. In der Regel ist die Rückzahlung im letzten Jahr
etwas geringer als in den Jahren zuvor. Gebt diese reduzierte Zahlung ebenfalls am Bildschirm aus.
Wesentlicher Teil der Softwareentwicklung ist der Test des entwickelten Programms. Dieser nimmt
für große Systeme schon mal über 50% der gesamten Entwicklungskosten in Anspruch.
Fehler aus Sicht der Bausparkasse sind nicht nur diejenigen Situationen, in denen sich ein Programm
nicht kompilieren lässt. Viel schlimmere Auswirkungen kann es haben, wenn der Entwickler
potenzielle Eingaben übersehen hat. Was passiert beispielsweise, wenn
eine negative Bausparsumme eingegeben wird oder wenn die Bausparsumme größer als die Vertragssumme
ist? Fatale Folgen kann es für die Bausparkasse auch haben, wenn Kredite gewährt werden, die
aber nie zurückgezahlt werden können, weil die Rückzahlungen auf den Wert 0 gesetzt sind.
Untersucht Euer Programm auf derartige Fehler und behebt diese entsprechend.
Tipp: Mit der Anweisung return; beendet Ihr das Programm vorzeitig.
Viel Erfolg!
Christoph Schneckenburger
2008-05-21