Inhaltsverzeichnis

Der ADT "Set" (Menge)

Definition: Set

Der abstrakte Datentyp Set repräsentiert im mathematischen Sinne eine Menge. Eine Menge hat folgende Eigenschaften:

Und folgende Methoden:

Erarbeitung

Arbeite mit der Vorlage von https://codeberg.org/qg-info-unterricht/bluej-adt-set und bearbeite nachfolgende Aufgaben. Ganz unten findest du Tipps zu den einzelnen Aufgaben, falls du Hinweise benötigst.


(A1) Funktionalität der Varianten

In der Vorlage sind zwei verschiedene Varianten implementiert. Der Quellcode ist nicht einsehbar. Finde heraus, ob beide Versionen die gleiche Funktionalität aufweisen. Erstelle dazu Beispielobjekte. Verwende die Methode alsArray(), um dir die Elemente eines Sets anzuschauen.


(A2) Operationen mit Mengen

Wähle nun eine der beiden Varianten aus der Vorlage aus und löse damit die folgenden Teilaufgaben. Verwende auch hier wieder die Methode alsArray(), um dir die Elemente eines Sets anzuschauen.

  1. Erstelle ein Set M = {19, 23, 1, 11, 10, 33, 9, 42, 17} und ein Set N = {10, 7, 11, 19, 2, 23, 42, 37}. Finde heraus was die Methoden schnittmenge(s), vereinigungsmenge(s)und differenz(s) machen. Beschreibe die Funktionalität für das gegebene Beispiel sowie den allgemeinen Fall (schriftlich).
  2. Ist die Reihenfolge der eingefügten Elemente relevant? Prüfe mithilfe passender Beispielmengen.
  3. Die Operation untermenge(s) gibt true zurück, wenn jedes Element dieser Menge in s enthalten ist. Überprüfe diese Funktionalität, indem du die Operation mit verschiedenen Beispielmengen testest. Achte darauf, dass alle möglichen Fälle abgedeckt sind.
  4. Vergleiche die Operationen des ADT Set mit denen anderer ADTs. Welche Gemeinsamkeiten und v.a. welche Unterschiede fallen dir auf?

(A3) Verschiedene Varianten schneiden


Tipps

Hier findest du Tipps zu den einzelnen Aufgaben, sofern du sie benötigst.

Tipp A2.1

Tipp A2.2

Tipp1 A2.3

Tipp2 A2.3

Tipp3 A2.3

Tipp A2.4

Tipp A3

Hintergrund

Material

FilenameFilesizeLast modified
adt_set1.odp45.2 KiB30.11.2021 15:28
schnittdifferenzvereinigung.png535.6 KiB05.11.2021 10:24
schnittvereinigungdifferenz.drawio.png568.7 KiB05.11.2021 10:17
set01.odp402.8 KiB18.10.2021 18:27
set01.pdf209.5 KiB18.10.2021 18:27