Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Datenstrukturen Klaus Becker (2002). KB Datenstrukturen 2 Übersicht Teil 1: Die Datenstruktur Reihung Teil 2: Die Datenstruktur Verbund Teil 3: Die Datenstruktur.

Ähnliche Präsentationen


Präsentation zum Thema: "Datenstrukturen Klaus Becker (2002). KB Datenstrukturen 2 Übersicht Teil 1: Die Datenstruktur Reihung Teil 2: Die Datenstruktur Verbund Teil 3: Die Datenstruktur."—  Präsentation transkript:

1 Datenstrukturen Klaus Becker (2002)

2 KB Datenstrukturen 2 Übersicht Teil 1: Die Datenstruktur Reihung Teil 2: Die Datenstruktur Verbund Teil 3: Die Datenstruktur Datei Teil 4: Zusammenfassung und Ausblick

3 KB Datenstrukturen 3 Teil 1 Die Datenstruktur Reihung

4 KB Datenstrukturen 4 Lotto

5 KB Datenstrukturen 5 Problembeschreibung Ziel: Mit Hilfe eines Programms soll das Ausfüllen von Lottoscheinen, die Ziehung der Lottozahlen und die Auswertung des Lottoscheins simuliert werden. Anforderungen an das zu entwickelnde System: - Der Benutzer kann (wie bei einem richtigen Lottoschein) auf einem Tippzettel Zahlen ankreuzen. - Per Mausklick wird eine Ziehung der Lottozahlen simuliert. - Die Anzahl der Richtigen wird bestimmt und dem Benutzer mitgeteilt. (vgl. auch U. Mayr: informatikag.bildung-rp.de/html/delphi_teil_1.html) Ziel: Mit Hilfe eines Programms soll das Ausfüllen von Lottoscheinen, die Ziehung der Lottozahlen und die Auswertung des Lottoscheins simuliert werden. Anforderungen an das zu entwickelnde System: - Der Benutzer kann (wie bei einem richtigen Lottoschein) auf einem Tippzettel Zahlen ankreuzen. - Per Mausklick wird eine Ziehung der Lottozahlen simuliert. - Die Anzahl der Richtigen wird bestimmt und dem Benutzer mitgeteilt. (vgl. auch U. Mayr: informatikag.bildung-rp.de/html/delphi_teil_1.html)

6 KB Datenstrukturen 6 Benutzungsoberfläche CheckBox3: TCheckBox Bziehung: TButton PZiehung: TPanel PAuswertung: TPanel PTipp: TPanel BNeu: TButton

7 KB Datenstrukturen 7 Ereignisbehandlung Ereignisse: Mausklick auf CheckBox- Element Mausklick auf Ziehung- Button Mausklick auf Neu-Button Programmstart Aktionen: Die entsprechende Zahl wird im Tipp aufgenommen und angezeigt. Es wird eine Ziehung der Lottozahlen simuliert. Das Ergebnis der Ziehung wird angezeigt. Der Tipp wird ausgewertet und die Anzahl der Richtigen angezeigt. Ein neuer Tippzettel wird vorbereitet (keine Zahl angekreuzt). Die alten Ziehungsergebnisse werden gelöscht. Initialisierung der Zustandsvariablen Lotto - Benutzungsoberfläche

8 KB Datenstrukturen 8 Ereignisbehandlung Ereignisse: Mausklick auf CheckBox- Element Mausklick auf Ziehung- Button Mausklick auf Neu-Button Programmstart Aktionen: Die entsprechende Zahl wird im Tipp aufgenommen und angezeigt, sofern der Tipp noch keine 6 Zahlen enthält. Es wird eine Ziehung der Lottozahlen simuliert. Das Ergebnis der Ziehung wird angezeigt. Der Tipp wird ausgewertet und die Anzahl der Richtigen angezeigt. Ein neuer Tippzettel wird vorbereitet (keine Zahl angekreuzt). Die alten Ziehungsergebnisse werden gelöscht. Initialisierung der Zustandsvariablen Verbesserungsmöglichkeit

9 KB Datenstrukturen 9 Datenmodellierung – Version 1 Lottoziehung: 2; 21; 25; 33; 43; 45 Schwierigkeit: Das Erstellen von Algorithmen zur Datenverarbeitung erfordert viel Schreibaufwand: gleiche Anweisungen für strukturgleiche Variablen. type tLottozahl = 1..49; var Zahl1 : tLottozahl; Zahl2 : tLottozahl; Zahl3 : tLottozahl; Zahl4 : tLottozahl; Zahl5 : tLottozahl; Zahl6 : tLottozahl; 21 Zahl2: 2 Zahl1: 33 Zahl4: 25 Zahl3: 45 Zahl6: 43 Zahl5: Deklaration:Variablenzustand:

10 KB Datenstrukturen 10 Datenmodellierung – Version 2 Lottoziehung: 2; 21; 25; 33; 43; 45 Reihung / Array / Feld: Eine Reihung fasst strukturgleiche Daten zu einer Einheit zusammen. Auf die einzelnen Elemente der Reihung wird über einen Index zugegriffen. 21 Zahl2: 2 Zahl1: 33 Zahl4: 25 Zahl3: 45 Zahl6: 43 Zahl5: Variablenzustand: 2 Ziehung: Reihung Element Index

11 KB Datenstrukturen 11 Deklaration einer Reihung Lottoziehung: 2; 21; 25; 33; 43; Ziehung: type tLottozahl = 1..49; tZiehung = array[1..6] of tLottozahl; var Ziehung : tZiehung; Deklaration: Variablenzustand: Syntax: array [ ] of

12 KB Datenstrukturen 12 Verarbeitung einer Reihung type tLottozahl = 1..49; tZiehung = array [1..6] of tLottozahl; var Ziehung, Tipp: tZiehung; Deklaration: Zugriff auf die Elemente: Ziehung[1] := random(49)+1; if Ziehung[1] = Tipp[1] then... Kopieren ganzer Reihungen: Tipp := Ziehung; Ein Vergleich ganzer Reihungen ist so nicht möglich: if Tipp = Ziehung then...

13 KB Datenstrukturen 13 Ziehung der Lottozahlen type tLottozahl = 1..49; tZiehung = array [1..6] of tLottozahl; var Ziehung, Tipp: tZiehung; Deklaration: Algorithmus: randomize; for i := 1 to 6 do Ziehung[i] := random(49)+1; Beachte: Der Algorithmus ist nicht korrekt. Typische Schleifenstruktur

14 KB Datenstrukturen 14 Alternatives Datenmodell Lottoziehung: 2; 21; 25; 33; 43; 45 f Ziehung: tffff type tZiehung = array [1..49] of boolean; var Ziehung : tZiehung; Deklaration: Datenmodell:...ftffff

15 KB Datenstrukturen 15 Übungen: Aufgabe 1 Erstellen Sie einen (korrekten) Algorithmus zur Simulation der Ziehung der Lottozahlen. - Überlegen Sie sich zunächst den gewünschten Ablauf. - Beschreiben Sie ihn anschließend mit geeigneten Kontrollstrukturen und Anweisungen. Gehen Sie von folgender Modellierung aus: type tZiehung = array [1..49] of boolean; var Ziehung: tZiehung; procedure Lottoziehung; begin... end;

16 KB Datenstrukturen 16 Lösungsvorschlag

17 KB Datenstrukturen 17 Übungen: Aufgabe 2 Erstellen Sie einen Algorithmus zur Auswertung eines Tipps bzgl. einer Lottoziehung. - Überlegen Sie sich zunächst den gewünschten Ablauf. - Beschreiben Sie ihn anschließend mit geeigneten Kontrollstrukturen und Anweisungen. Gehen Sie von folgender Modellierung aus: type tZiehung = array [1..49] of boolean; var Tipp : tZiehung; Ziehung : tZiehung; Richtige : integer; procedure Auswertung; begin... end;

18 KB Datenstrukturen 18 Lösungsvorschlag

19 KB Datenstrukturen 19 Aufgabe 1 – Lösungsvorschlag type tZiehung = array [1..49] of boolean; var Ziehung: tZiehung; procedure Lottoziehung; var i: integer; n: integer; h: integer; begin randomize; for i := 1 to 49 do Ziehung[i] := false; for n := 1 to 6 do begin repeat h := random(49)+1; until Ziehung[h] = false; Ziehung[h] := true; end; end;

20 KB Datenstrukturen 20 Aufgabe 2 – Lösungsvorschlag type tZiehung = array [1..49] of boolean; var Tipp : tZiehung; Ziehung : tZiehung; Richtige : integer; procedure Auswertung; var i: integer; begin Richtige := 0; for i := 1 to 49 do if Tipp[i] and Ziehung[i] then inc(Richtige); end;

21 KB Datenstrukturen 21 Ein Objektmodell für den Tippzettel type TForm1 = class(TForm) GBTippzettel: TGroupBox; PTipp: TPanel; CheckBox1: TCheckBox; CheckBox2: TCheckBox; CheckBox3: TCheckBox; CheckBox4: TCheckBox;... CheckBox1: TCheckBox Attribute Caption : 1 Enabled : true State: cbUnchecked... Ereignisse OnClick: CheckBoxClick... Methoden... Beachte: Allen TCheckBox-Objekten ist dieselbe Ereignisbehandlungs- methode zugewiesen.

22 KB Datenstrukturen 22 Ereignisbehandlung procedure TForm1.CheckBoxClick(Sender: TObject); var CB : TCheckBox; Ausgabe : string; i : integer; Zahl : integer; begin // Aktualisierung des Datenmodells CB := TCheckBox(Sender); Zahl := StrToInt(CB.Caption); KreuzUebernehmen(Zahl); // Aktualisierung der Benutzungsoberfläche Ausgabe := ''; for i := 1 to 49 do if Tipp[i] then Ausgabe := Ausgabe + ' ' + IntToStr(i); PTipp.Caption := Ausgabe; end;

23 KB Datenstrukturen 23 Übungen: Aufgabe 3 (Pflicht) Implementieren Sie die entwickelten Prozeduren und Methoden. Zur Kontrolle: Lotto – Version 1

24 KB Datenstrukturen 24 Exkurs: Objekt-Reihung type TForm1 = class(TForm) GBTippzettel: TGroupBox; PTipp: TPanel;... procedure CheckBoxClick(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } CheckBox: array[1..49] of TCheckBox; public { Public-Deklarationen } end; CheckBox1 CheckBox: 1... CheckBox2 2 CheckBox49 49 Reihung mit TCheckBox- Elementen:

25 KB Datenstrukturen 25 Dynamische Erzeugung procedure TForm1.FormCreate(Sender: TObject); var i: integer; Name: string; begin // Initialisierung des Datenmodells Initialisierung; // Erzeugung der TCheckBox-Objekte for i := 1 to 49 do begin CheckBox[i] := TCheckBox.Create(self); // Owner CheckBox[i].Name := 'CheckBox' + IntToStr(i); CheckBox[i].Caption := IntToStr(i); CheckBox[i].Checked := false; CheckBox[i].Parent := GBTippzettel; // übergeordn. Obj. CheckBox[i].Top := 32 +((i-1) div 7) * 40; CheckBox[i].Left := 24 + ((i-1) mod 7) * 40; CheckBox[i].Height := 25; CheckBox[i].Width := 33; CheckBox[i].OnClick := CheckBoxClick; end; end; Lotto – Version 2

26 KB Datenstrukturen 26 Übungen: Aufgabe 4 (Additum) Folgende Verbesserungen sind für die Ziehung der Lottozahlen und die Festlegung der Tippzahlen wünschenswert: Man kann erst ziehen, wenn der Tippzettel ausgefüllt ist. Beim Ankreuzen des Tippzettels werden nach dem 6. Kreuz alle TCheckBox- Elemente deaktiviert (d. h.: es ist kein weiteres Ankreuzen möglich). Man kann Kreuze auch wieder entfernen (d. h. man kann Tippzahlen auch ändern). Hinweis: Erstellen Sie zur Ablaufmodellierung zunächst einen Automaten. Lotto – Version 3

27 KB Datenstrukturen 27 Aufgabe 4 - Lösungsvorschlag CheckBox[i].OnClick [CheckBox[i].Checked=true] / Tipp[Zahl] := true 01 Form1.OnCreate CheckBox[i].OnClick [CheckBox[i].Checked=false] / Tipp[Zahl] := false

28 KB Datenstrukturen 28 Aufgabe 4 - Lösungsvorschlag CheckBox[i].OnClick [CheckBox[i].Checked=true] / Tipp[Zahl] := true alle nicht-checked-Felder werden deaktiviert 56 CheckBox[i].OnClick [CheckBox[i].Checked=false] / Tipp[Zahl] := false alle deaktivierten Felder werden freigegeben

29 KB Datenstrukturen 29 Übungen – Aufgabe 5 Zahlenreihung 1 Das System soll folgende Funktionalitäten zur Verfügung stellen: Ereignisse: Mausklick auf Erzeuge- Button Mausklick auf Min/Max- Button Mausklick auf Position- Button Aktionen: Es wird eine Reihung aus 20 integer-Zahlen mit dem Zufallsgenerator erzeugt. Die kleinste und die größte Zahl der Reihung werden bestimmt und angezeigt. Die Positionen der kleinsten und größten Zahl werden bestimmt und angezeigt. MinMax

30 KB Datenstrukturen 30 Übungen – Aufgabe 6 Zahlenreihung 2 Es soll ein System entwickelt werden, mit dessen Hilfe man Würfelserien auswerten kann. Mit Hilfe geeigneter Komponenten werden die einzelnen Würfelergebnisse und / oder die statistische Auswertung (absolute Häufigkeiten) angezeigt.

31 KB Datenstrukturen 31 Übungen – Aufgabe 7 Textanalyse In einem Text (der nur aus Großbuchstaben besteht und keine Umlaute und Sonderzeichen enthält) soll die Häufigkeit der jeweiligen Buchstaben bestimmt werden. Entwerfen Sie zunächst eine geeignete Datenstruktur. Entwickeln Sie anschließend einen Zählalgorithmus. Implementieren Sie abschließend die entwickelten Strukturen. Chiffrierung5

32 KB Datenstrukturen 32 Übungen – Aufgabe 8 Monoalphabetische Chiffrierungen Die Caesar-Chiffrierung ist sehr leicht zu entschlüsseln. Schwieriger wird es, wenn man eine kompliziertere Kodierung der Buchstaben wählt. Man könnte z. B. die Kodierung mit dem Zufallsgenerator erzeugen. Eine andere gute Möglichkeit funktioniert wie folgt: Man wählt ein (langes) Schlüsselwort, z. B. SCHOKOLADENOSTERHASE. Dann streicht man alle mehrfach vorkommenden Buchstaben: SCHOKLADENTR. Abschließend füllt man ab der letzten Stelle mit den noch zur Verfügung stehenden Buchstaben gemäß dem Alphabet auf. Ergebnis: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z S C H O K L A D E N T R U V W X Y Z B F G I J M P Q Klartextalphabet Geheimtextalphabet Entwickeln Sie ein Programm, mit dem man solche Chiffrierungen erzeugen kann und mit deren Hilfe man Texte ver- und entschlüsseln kann. Chiffrierung2

33 KB Datenstrukturen 33 Aufgabe 5 - Lösungsvorschlag Datenmodellierung: const anzahl = 20; grenze = 99; type tBereich = 0..grenze; tZahlen = array [1..anzahl] of tBereich; var Zahlen : tZahlen; min, max : tBereich; minpos, maxpos : 1..anzahl;

34 KB Datenstrukturen 34 Aufgabe 5 - Lösungsvorschlag Operation: Erzeugung der Zahlenreihe procedure ZahlenErzeugen; var i: integer; begin randomize; for i := 1 to anzahl do Zahlen[i] := random(grenze+1); end; Operation: Bestimmung des Minimums und seiner Position procedure MinBerechnung; var i: integer; begin min := Zahlen[1]; minpos := 1; for i := 2 to anzahl do if Zahlen[i] < min then begin min := Zahlen[i]; minpos := i; end;

35 KB Datenstrukturen 35 Aufgabe 6 - Lösungsvorschlag Datenmodellierung: const max = 100; type tAugen = 1..6; tSerie = array [1..max] of tAugen; tStatistik = array [tAugen] of integer; var Serie : tSerie; Statistik : tStatistik;

36 KB Datenstrukturen 36 Aufgabe 6 - Lösungsvorschlag Operation: Erzeugung der Würfelserie procedure SerieErzeugen; var i: integer; begin randomize; for i := 1 to max do Serie[i] := random(6)+1; end; Operation: Auswertung der Würfelserie procedure SerieAuswerten; var augen, i: integer; begin for augen := 1 to 6 do Statistik[augen] := 0; for i := 1 to max do inc(Statistik[Serie[i]]); end;

37 KB Datenstrukturen 37 Teil 2 Die Datenstruktur Verbund

38 KB Datenstrukturen 38 -Adressbuch

39 KB Datenstrukturen 39 Problembeschreibung Ziel: Es soll ein Programm entwickelt werden, mit dessen Hilfe man -Adressen verwalten kann. Anforderungen an das zu entwickelnde System: - Der Benutzer kann ein Verzeichnis mit Namen und zugehörigen -Adressen erstellen. - Man kann jederzeit weitere Adressen eingeben, bereits eingegebene Adressen abändern und auch Einträge im Verzeichnis wieder löschen. - Das erstellte Verzeichnis kann abgespeichert und wieder geladen werden Ziel: Es soll ein Programm entwickelt werden, mit dessen Hilfe man -Adressen verwalten kann. Anforderungen an das zu entwickelnde System: - Der Benutzer kann ein Verzeichnis mit Namen und zugehörigen -Adressen erstellen. - Man kann jederzeit weitere Adressen eingeben, bereits eingegebene Adressen abändern und auch Einträge im Verzeichnis wieder löschen. - Das erstellte Verzeichnis kann abgespeichert und wieder geladen werden. -...

40 KB Datenstrukturen 40 Eine einfache Benutzungsoberfläche

41 KB Datenstrukturen 41 Datenmodellierung Peter Datenstruktur: KatharinaSchmitt Müller Renate Meier... Verschiedene Datentypen Gleich strukturierte Daten kurzer String langer String

42 KB Datenstrukturen 42 Verbund Renate Meier Vorname Name Datensatz: Verbund Komponente Name der Komponente Verbund: Ein Verbund fasst Daten, die unterschiedlichen Typs sein können, zu einer Einheit zusammen. Auf die Komponenten wird über einen Namen zugegriffen.

43 KB Datenstrukturen 43 Deklaration eines Verbundes type tDatensatz = record Name : string[20]; Vorname : string[20]; string[40]; end; var Datensatz : tDatensatz; Deklaration: Variablenzustand: Syntax: record : ; : ;... end Renate Meier Vorname Name Datensatz:

44 KB Datenstrukturen 44 Verarbeitung eines Verbundes Deklaration: Zugriff auf Komponenten: Datensatz.Name := 'Meier'; Datensatz.Vorname := 'Renate'; Datensatz. = Zugriff mit der With-Anweisung: with Datensatz do begin Name := 'Meier'; Vorname := 'Renate'; = end; type tDatensatz = record Name : string[20]; Vorname : string[20]; string[40]; end; var Datensatz : tDatensatz;

45 KB Datenstrukturen 45 Verarbeitung eines Verbundes Deklaration: Kopieren ganzer Verbunde: Datensatz2 := Datensatz1; Ein Vergleich ganzer Felder ist so nicht möglich: if Datensatz1 = Datensatz2 then... type tDatensatz = record Name : string[20]; Vorname : string[20]; string[40]; end; var Datensatz1, Datensatz2 : tDatensatz;

46 KB Datenstrukturen 46 Datenmodell const max = 100; type tDatensatz = record... end; tVerzeichnis = array [1..max] of tDatensatz; var Verzeichnis : tVerzeichnis; Stand : 0..max; Deklaration: Variablenzustand: Katharina Schmitt Verzeichnis: Peter Müller... Renate Meier max 6 Stand:6

47 KB Datenstrukturen 47 Übungen: Aufgabe 9 Gehen Sie beim Entwickeln und Erstellen des Programms schrittweise wie folgt vor. Testen Sie nach jedem Schritt, ob das Programm das tut, was es tun soll. Schritt 0 können Sie (wenn Sie wollen) auslassen und stattdessen die vorbereitete Benutzungsoberfläche benutzen. Schritt 0: Benutzungsoberfläche Entwerfen und implementieren Sie eine geeignete Benutzungsoberfläche. Schritt 1: Datenmodell Implementieren Sie zunächst das Datenmodell. Schritt 2: Programmstart Beim Programmstart muss das Datenmodell initialisiert werden. Schritt 3: Vor-/Zurück-Navigation Entwerfen und implementieren Sie passende Ereignisbehandlungsmethoden. Schritt 4: Eingabe eines Datensatzes Benutzen Sie zur Übernahme der Daten am besten ein OnChange-Ereignis. Schritt 5: Löschen eines Datensatzes Entwerfen Sie zunächst einen geeigneten Algorithmus. Implementieren und testen Sie ihn anschließend. – Benutzungsoberfläche – Version1

48 KB Datenstrukturen 48

49 KB Datenstrukturen 49 Teil 3 Die Datenstruktur Datei

50 KB Datenstrukturen 50 Datei DS Band Schreib/Lese -Kopf (Sequentielle typisierte) Datei: - Die Datensätze können nur sequentiell (der Reihe nach) durchlaufen werden. - Alle Datensätze haben dieselbe Größe. DS Datensatz DS Aktuelles Dateiende

51 KB Datenstrukturen 51 Deklaration einer Datei DS type tDatensatz = record... end; tDatei = file of tDatensatz var Datei : tDatei; // Datensatz : tDatensatz; Deklaration: Datenzustand: Datei: Syntax: file of

52 KB Datenstrukturen 52 Dateioperationen AssignFile(Datei,'Adressen.dat') Verknüpfung mit einer externen Datei: Datenzustand: Datei: 'Adressen.dat' Eine Dateivariable muss zunächst immer mit einer externen Datei verknüpft werden. Bemerkungen:

53 KB Datenstrukturen 53 Dateioperationen Rewrite(Datei) Erstellen einer leeren Datei: Datenzustand: Datei: 'Adressen.dat' Die Datei enthält noch keine Datensätze. Eine bereits bestehende Datei kann so gelöscht werden. Bemerkungen:

54 KB Datenstrukturen 54 Dateioperationen write(Datei,Datensatz) Datensatz in der Datei aufnehmen: Datenzustand vorher: Datei: 'Adressen.dat' Der Datensatz wird am Ende der Datei angefügt. Bemerkungen: Datensatz:DS Datei: 'Adressen.dat' Datenzustand vorher: Datensatz:DS

55 KB Datenstrukturen 55 Dateioperationen Reset(Datei) Öffnen einer bestehenden Datei: Datenzustand: Datei: 'Adressen.dat' Der Schreib/Lese-Kopf wird auf den ersten Datensatz gesetzt (sofern es einen solchen gibt). Bemerkungen: DS

56 KB Datenstrukturen 56 Dateioperationen read(Datei,Datensatz) Datensatz lesen: Datenzustand vorher: Datei: 'Adressen.dat' Der Schreib/Lese-Kopf wandert eine Einheit weiter. Bemerkungen: Datensatz:... Datei: 'Adressen.dat' Datenzustand vorher: DS Datensatz:DS DS

57 KB Datenstrukturen 57 Dateioperationen CloseFile(Datei) Datei schließen: Eine Datei muss nach der Bearbeitung geschlossen werden. Bemerkungen: Datei: 'Adressen.dat' Datenzustand:

58 KB Datenstrukturen 58 Dateioperationen EOF(Datei) false Dateiende erfragen: Datenzustand: Datei: 'Adressen.dat' DS EOF(Datei) true Dateiende erfragen: Datenzustand: Datei: 'Adressen.dat' DS

59 KB Datenstrukturen 59 Algorithmus Laden begin AssignFile(Datei,'Adressen.dat'); Reset(Datei); while not EOF(Datei) do begin read(Datei,Datensatz); // verarbeite Datensatz: aktualisiere das Datenmodell end; CloseFile(Datei); end;

60 KB Datenstrukturen 60 Algorithmus Speichern begin AssignFile(Datei,'Adressen.dat'); Rewrite(Datei); for i := 1 to... do begin Datensatz :=...; write(Datei,Datensatz); end; CloseFile(Datei); end;

61 KB Datenstrukturen 61 Übungen: Aufgabe 10 Ergänzen Sie das -Verwaltungsprogramm um die Möglichkeit, die Daten speichern und wieder laden zu können. – Version2

62 KB Datenstrukturen 62

63 KB Datenstrukturen 63 Teil 4 Zusammenfassung und Ausblick

64 KB Datenstrukturen 64 Datentyp Ein Datentyp legt einen Wertebereich und die Grundoperationen, die auf die Elemente des Wertebereichs angewandt werden können, fest. Beispiele (für elementare Datentypen): > boolean (Wahrheitswert) > char(Zeichen) > integer(ganze Zahl) > real(Dezimalzahl)

65 KB Datenstrukturen 65 Datenstruktur Eine Datenstruktur legt den Aufbau von komplexen Wertebereichen aus einfacheren Wertebereichen fest. Beispiele (für Datenstrukturen): > Reihung / Feld > Verbund > Datei >... Liste, Schlange, Stapel, Baum, Graph,...

66 KB Datenstrukturen 66 Reihung Eine Reihung fasst eine fest vorgegebene Anzahl von Elementen gleichen Typs zu einer Einheit zusammen. 2 Ziehung: Reihung Element Index

67 KB Datenstrukturen 67 Verbund Eine Verbund fasst Elemente unterschiedlichen Typs zu einer Einheit zusammen. Renate Meier Vorname Name Datensatz: Verbund Komponente Name der Komponente

68 KB Datenstrukturen 68 Datei Eine Datei besteht aus beliebig vielen Datensätzen gleicher Struktur, die auf einem externen Medium gespeichert werden können. DS Band Schreib/Lese -Kopf DS Datensatz DS

69 KB Datenstrukturen 69 Liste / Baum / Graph Es gibt noch viele weitere Datenstrukturen, mit denen wir uns beschäftigen müssen!


Herunterladen ppt "Datenstrukturen Klaus Becker (2002). KB Datenstrukturen 2 Übersicht Teil 1: Die Datenstruktur Reihung Teil 2: Die Datenstruktur Verbund Teil 3: Die Datenstruktur."

Ähnliche Präsentationen


Google-Anzeigen