Präsentation herunterladen
Veröffentlicht von:Gerfried Musser Geändert vor über 10 Jahren
1
Datentyp Zusammenfassung von Mengen von "Werten" mit auf
Kapitel 8 Abstrakte Datentypen Datentyp Zusammenfassung von Mengen von "Werten" mit auf ihnen erklärten Operationen = heterogene Algebra Bei Verwendung im Softwareentwurf Spezifikation erforderlich: Festlegung von Eigenschaften nur wesentliche Eigenschaften, nur Prinzip keine Details, unabhängig von konkreter Implementation vollständige Beschreibung oft unmöglich - auch nicht erwünscht! Abstrakter Datentyp unvollständige Charakterisierung eines Datentyps wird von Klasse von konkreten Datentypen erfüllt
2
Damit gehören zu einem abstrakten Datentyp alle diejenigen konkreten Datentypen, die der Beschreibung bzw. Charakterisierung genügen vorläufige Definition: Ein abstrakter Datentyp (ADT) ist eine Klasse von Algebren (Datentypen). Beispiel ADT “geordnete endliche Menge“ ORD: endliche Menge M mit Ordnung auf M - als Operation : : M M bool mit bool={true, false} ORD - Klasse von Algebren [M , bool ; ] : M = { 0, 1, 2, 3, 4, 5} mit M = { -5, -3, -1, 1, 3, 5, 7} mit irgendeine endliche Menge reeller Zahlen mit eine bel. endliche Menge von Wörtern mit einer lexikographischen Ordnung Menge von Institutsangehörigen mit Ordnung entspr. Gehalt
3
Beispiel ADT “Zähler modulo 8“ COUNT8:
8-elementige Menge N mit 2 Operationen inc und reset auf N inc : N N (Weiterzählen) reset : N (Rücksetzen/Löschen) mit den Eigenschaften: 8-malige Anwendung von inc nach reset führt zum selben Resultat wie reset alle möglichen Werte sind von reset aus mittels inc zu erreichen COUNT Klasse von Algebren [N ; inc, reset ] : dazu gehören zum Beispiel: N = {0, 1, 2, 3, 4, 5, 6, 7} mit n für 0 n 6 inc(n) = , für n = 7 reset = 0 .
4
Beispiel ADT “Zähler modulo 8“ COUNT8:
dazu gehören aber z.B. auch: N = {0, -1, -2, -3, -4, -5, -6, -7} mit n für -6 n 0 inc(n) = , für n = -7 reset = 0 . N = {-10, -8, -6, -4, -2, 0, 2, 4} mit für n = 4 n sonst reset = -10 . ÜA: Man überlege sich einen weiteren Datentyp zu COUNT8, dessen Elemente keine Zahlen sind.
5
Es ist leicht zu sehen, daß alle Datentypen, die zu COUNT8 gehören, zueinander isomorph sind.
ÜA: Man beweise dies. Zu ORD hingegen gehören sehr unterschiedliche Datentypen. Da die Unterschiede insbesondere auch die Anzahl der Elemente betreffen, sind die Datentypen i.a. nichtisomorph zueinander. COUNT8 heißt deshalb monomorpher abstrakter Datentyp, ORD ist ein polymorpher abstrakter Datentyp. Definition “monomorpher bzw. polymorpher ADT" Ist ein abstrakter Datentyp eine Isomorphieklasse von Algebren, so heißt der abstrakte Datentyp monomorph, sonst polymorph.
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.