Materialien im GK/LK Informatik der Stufe 13:

Klassenbildung und UML-Darstellung
am Beispielprojekt Langzahl

Aufgabe:

Berechnungen mit vielziffrigen Zahlen sind zumeist mangels verfügbarer, geeigneter Datentypen nicht möglich.

Es soll ein neuer Datentyp tLangzahl als Klasse modelliert und - zumindest teilsweise - implementiert werden. Die Grundoperationen Addition, Subtraktion, Multiplikation und Division sind als Methoden Plus(), Minus(), Mal() und Durch() zu realisieren.

Anfangs sollen die Zahlen noch vorzeichenfrei und ganzzahlig sein.

a) Beginnen Sie mit einfachen Beispielen zu Addition und Division. Analysieren Sie, welche Datenstruktur zur Aufnahme der Ziffernfolge sinnvoll ist. Modellieren Sie mittels UML-Klassendiagramm dann die Klasse tLangzahl mit sämtlichen Attributen und Methoden. Kontrollieren Sie die notwendigen Schutzklassen. Notieren Sie auch geeignete Aufrufe zur Berechnung z. B. von

12+345 ; 12+23+345 ; 5678:123

Untersuchen Sie immer wieder kritisch Ihren Modellierungsansatz hinsichtlch späterer Erweiterung auf vorzeichenbehaftete, auch rationale Zahlen und weiterer Methoden (Potenzieren, Bruchrechnen, ...).

Klick für großes Bild

b) Führen Sie die Methode tLangzahl.Plus() in Form eines Grobalgorithmus und/oder eines Struktogrammes näher aus. Tuen Sie dies auch für die Methode tLangzahl.Durch().

 

c) Zur Eingabe der Langzahlen sollte ein String genutzt werden. Denkbar ist auch (wegen der Beschränkung auf 255 Zeichen), die Langzahl in Teilen einzugeben und diese mittels einer Methode tLangzahl.Append() zu verketten.

d) Zusätzlich kann ggf. die Flexibilität der übergebbaren Zahlen durch Überladung der Methoden erreicht werden. Wägen Sie hierzu Aufwand und Nutzen ab.

 

Weitere Materialien:

Dokumentierende Tafelbilder:

 


© 2006 Ziemke .:. Letzte Aktualisierung am 24. Februar 2006 durch den WebMaster