Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

97
Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen Köln 28. Oktober 2010

description

Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen. Köln 28. Oktober 2010. I. Grundbegriffe. dada ist in zürich geboren. zieht man straßburg von zürich ab so bleibt 1916. Hans Arp, “Strassburgkonfiguration”, - PowerPoint PPT Presentation

Transcript of Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Page 1: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Einführung in die InformationsverarbeitungTeil Thaller

Stunde II: Datenstrukturen

Köln 28. Oktober 2010

Page 2: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

I. Grundbegriffe

2

Page 3: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

dada ist in zürich geboren. zieht man straßburg von zürich ab so bleibt 1916.

Hans Arp, “Strassburgkonfiguration”,

in: ich bin in der Natur geboren. Ausgewählte Gedichte.

Hrsg. V. H. Bolliger et al., Zürich-Hamburg, 2002

3

Page 4: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

• Zahlen

• Bilder

• Zeichenketten

• Geburtstage

• Briefe

Datentyp

4

Page 5: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

• Addieren

• Komprimieren

• Vergleichen

• Abstand berechnen

• Beziehen

Operationen

5

Page 6: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

• Zahl {Darstellung, Addieren, …}

• Bild {Darstellung, Komprimieren, …}

• Text {Darstellung, Vergleichen, … }

• Zeit {Darstellung, Abstand berechnen, … }

• Brief {Darstellung,Beziehen, …}

Datenstrukturen

6

Page 7: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Datenstruktur =

{Datentyp, Legale Operationen }

“Datentyp” und “Datenstruktur” oft aber auch synonym!

7

Page 8: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

• Boolean / Logischer Wert

• Integer

• [ Rationale Zahlen ]

• Realzahlen

• Zeichen

• Zeichenketten

Basisdatenstrukturen

8

Page 9: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Datenstrukturen geben Regeln wieder, wie ein bestimmter Speicherbereich interpretiert wird.

ASCII Zeichen 'a' = 97; 'A' = 65.

oder'Pixel' 97 ist eineinhalb mal heller als 'Pixel' 65.

Datenstrukturen und Hardware

9

Page 10: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Festlegungen sind „willkürlich“.

Groß- / Klein v. Umlaute

Datenstrukturen und Hardware

10

Page 11: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Zeichen

a 097 A 65

b 098 B 66

c 099 C 67

d 100 D 68

e 101 E 69

f 102 F 70

g 103 G 71

h 104 H 72

i 105 I 73

j 106 J 74

k 107 K 75

… … … …11

Page 12: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Zeichen

a 01100001 A 01000001

b 01100010 B 01000010

c 01100011 C 01000011

d 01100100 D 01000100

e 01100101 E 01000101

f 01100110 F 01000110

g 01100111 G 01000111

h 01101000 H 01001000

i 01101001 I 01001001

j 01101010 J 01001010

k 01101011 K 01001011

… … … …12

Page 13: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Zeichen

a 01100001 A 01000001

b 01100010 B 01000010

c 01100011 C 01000011

d 01100100 D 01000100

e 01100101 E 01000101

f 01100110 F 01000110

g 01100111 G 01000111

h 01101000 H 01001000

i 01101001 I 01001001

j 01101010 J 01001010

k 01101011 K 01001011

… … … …13

Page 14: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Festlegungen sind „willkürlich“.

lower(x) = upper(x) | '00100000'

= schnellste verfügbare Operation des Rechners!

Zeichen

14

Page 15: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Darstellung von Datenstrukturen sind „willkürlich“.

… können den Aufwand für eine Anwendung aber entscheidend beeinflussen!

*

Merke:

15

Page 16: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Diagrammatische Darstellung:

A „zeigt auf“ B

Datenstruktur „Zeiger“

A B

16

Page 17: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Diagrammatische Darstellung:

„Zeiger“: Ein Speicherinhalt eines Rechners verweist auf einen anderen.

Datenstruktur „Zeiger“

A B

17

Page 18: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Speicher als „karierte Zeile“

Datenstruktur im Speicher

0 1 2 3 4 5 6 7 8 9 10 11

18

Page 19: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Zahl „14123“ in Bytes 0 bis 1

Zahl „22445“ in Bytes 10 bis 11

14123 22445

Datenstruktur im Speicher

0 1 2 3 4 5 6 7 8 9 10 11

19

Page 20: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Zeichen „a“ in Byte 0

Zeichen „q“ in Byte 11

a q

Datenstruktur im Speicher

0 1 2 3 4 5 6 7 8 9 10 11

20

Page 21: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Zeiger in Bytes 0 bis 1 verweist auf Speicherblock, enthaltend „xy“, beginnend in Byte 10

10 x y

Datenstruktur im Speicher

0 1 2 3 4 5 6 7 8 9 10 11

21

Page 22: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Zeiger in Bytes 0 bis 1 verweist auf Speicherblock, enthaltend „xy“, beginnend in Byte 10.

Zeiger graphisch

x y

0 1 2 3 4 5 6 7 8 9 10 11

22

Page 23: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Zeiger verweist von einem Datenblock auf einen anderen.

*

Zeiger graphisch

23

Page 24: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

II. Technische Datenstrukturen

24

Page 25: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Stacks

Auch bekannt als: „LIFO“ – Last In, First Out 25

Page 26: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

Start

Atom 1

26

Page 27: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

„Push to stack“

Atom 1

27

Page 28: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

„Lies weiter“

Atom 2

Atom 1

28

Page 29: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

„Push to stack“

Atom 2

Atom 1

29

Page 30: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

„Lies weiter“

Atom 3

Atom 2

Atom 1

30

Page 31: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

SchließlichAtom 5

Atom 4

Atom 3

Atom 2

Atom 1

31

Page 32: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

„Pop from stack“

Atom 5

Atom 4

Atom 3

Atom 2

Atom 1

32

Page 33: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

„Pop from stack“

Atom 4

Atom 3

Atom 2

Atom 1

33

Page 34: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

„Pop from stack“

Atom 3Atom 2

Atom 1

34

Page 35: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

„Pop from stack“

Atom 2

Atom 1

35

Page 36: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

*

„Pop from stack“

Atom 1

36

Page 37: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Queues

Auch bekannt als: „FIFO“ – First In, First Out 37

Page 38: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

Start

Atom 1

38

Page 39: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

„Push to queue“

Atom 1

39

Page 40: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

„Lies weiter“

Atom 2

Atom 1

40

Page 41: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

„Push to queue“

Atom 2

Atom 1

41

Page 42: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

„Lies weiter“

Atom 3

Atom 2

Atom 1

42

Page 43: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

SchließlichAtom 5

Atom 4

Atom 3

Atom 2

Atom 1

43

Page 44: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

Pop from queueAtom 5

Atom 4

Atom 3

Atom 2Atom 1

44

Page 45: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

Pop from queueAtom 5

Atom 4

Atom 3

Atom 2

45

Page 46: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

Pop from queueAtom 5

Atom 4

Atom 3

46

Page 47: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

Pop from queueAtom 5

Atom 4

47

Page 48: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Lies:

Verarbeite:

*

Pop from queue

Atom 5

48

Page 49: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Einfach Verknüpfte Listen

49

Page 50: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Erzeuge Atom 1

Atom 1

50

Page 51: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Kopf:

Mache Atom 1 zum Listenkopf

Atom 1

51

Page 52: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Kopf:

Erzeuge Atom 2

Atom 1

Atom 2

52

Page 53: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Kopf:

Verbinde Atom 2 mit Liste

Atom 1

Atom 2

53

Page 54: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Kopf:

Erzeuge Atom 3

Atom 1

Atom 2

Atom 3

54

Page 55: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Kopf:

Verbinde Atom 3 mit Liste

Atom 1

Atom 2

Atom 3

55

Page 56: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Kopf:

Lösche Atom 2

Atom 1

Atom 2

Atom 3

56

Page 57: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Kopf:

*

Füge Atom 4 ein

Atom 1

Atom 3

Atom 4

57

Page 58: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Doppelt Verknüpfte Listen

58

Page 59: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Kopf:

Schwanz:

Doppelt verknüpfte Liste

Atom 1

Atom 2

Atom 3

59

Page 60: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Kopf:

Schwanz:

Löschen von Atom 2

Atom 1

Atom 2

Atom 3

60

Page 61: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Kopf:

Schwanz:

*

Einfügen von Atom 4

Atom 1

Atom 4

Atom 3

61

Page 62: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

III. Inhaltliche Datenstrukturen

62

Page 63: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

<Datentyp> ::=

ein 3-Tupel (oder Tripel) { E, I, O }

wobei

E ::= Externe Darstellung

I ::= Interne Darstellung

O ::= Menge auf I definierter Operationen

(Notation: " ::= " = "definiert als ")

Datentypen allgemein:

63

Page 64: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

E Regel für "4.6.2007"

I Zeit ist ein Vektor von Tagen seit einem willkürlichen Tag 0, wobei ein beliebiger Tag i als Offset t vom Ursprung definiert ist.

 

O

t-less(i,j) ===> Boolean

t-less(4.6.2007,5.6.2007) ===> True

 

t-subtract(i,j) ===> Ganze Zahl

t-subtract(5.6.2007,4.6.2007) ===> 1

Datentyp Zeit allgemein:

64

Page 65: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

E Regel für "pri non jun 2007"

I Zeit ist ein Vektor von Tagen seit einem willkürlichen Tag 0,

wobei ein beliebiger Tag i als Offset t vom Ursprung definiert ist.

 

O

t-less(i,j) ===> Boolean

t-less(pri non jun 2007,non jun 2007) ===> True

 

t-subtract(i,j) ===> Ganze Zahl

t-subtract(non jun 2007,pri non jun 2007) ===> 1

Datentyp „Historische Zeit“ I

65

Page 66: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

I Zeit ist ein Vektor von Tagen seit einem willkürlichen Tag 0,

wobei ein beliebiger Tag i als Offset t vom Ursprung definiert ist.

0 i

t

 

Datentyp „Historische Zeit“ I

66

Page 67: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

E Regel für "6 Tammuz 5763"

I Zeit ist ein Vektor von Tagen seit einem willkürlichen Tag 0,

wobei ein beliebiger Tag i als Offset t vom Ursprung definiert ist.

 

O

t-less(i,j) ===> Boolean

t-less(6 Tammuz 5763,7 Tammuz 5763) ===> True

 

t-subtract(i,j) ===> Ganze Zahl

t-subtract(7 Tammuz 5763,6 Tammuz 5763) ===> 1

Datentyp „Historische Zeit“ II

67

Page 68: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

I Zeit ist ein Vektor von Tagen seit einem willkürlichen Tag 0,

wobei ein beliebiger Tag i als Offset t vom Ursprung definiert ist.

0 i

t

 

Datentyp „Historische Zeit“ II

68

Page 69: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

E Regel für "Freitag nach Fronleichnam 2007"

I Zeit ist ein Vektor von Tagen seit einem willkürlichen Tag 0, wobei ein beliebiger Tag i als Offset t vom Ursprung definiert ist.

 

O

t-less(i,j) ===> Boolean

t-less(Freitag nach Fronleichnam 2007,Samstag nach Fronleichnam 2007) ===> True

 

t-subtract(i,j) ===> Ganze Zahl

t-subtract(Samstag nach Fronleichnam 2007,Freitag nach Fronleichnam 2007) ===> 1

Datentyp „Historische Zeit“ III

69

Page 70: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

I Zeit ist ein Vektor von Tagen seit einem willkürlichen Tag 0,

wobei ein beliebiger Tag i als Offset t vom Ursprung definiert ist.

0 i

t

 *

Datentyp „Historische Zeit“ III

70

Page 71: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

E Regel für "4.4.1458"

I Zeit ist ein Vektor von Tagen seit einem willkürlichen Tag 0,

wobei ein beliebiger Tag i als Vektor von Offsets t vom Ursprung definiert ist.

 

O

t-less(i,j) ===> mehrwertiger Wahrheitswert { True, Undecidable, False }

t-less(4.4.1458, 5.4.1458) ===> Undecidable

 

t-subtract(i,j) ===> "Historische Zahl"

t-subtract(5.4.1458,4.4.1458) ===> { 1, 366 }

Datentyp „Historische Zeit“ IV

71

Page 72: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

I Zeit ist ein Vektor von Tagen seit einem willkürlichen Tag 0, wobei ein beliebiger Tag i als Vektor von Offsets t vom Ursprung definiert ist.

 

0 i i‘

t

 

Datentyp „Historische Zeit“ IV

72

Page 73: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

E Regel für "14.7.1763 - 24.10.1763"

I Zeit ist ein Vektor von Tagen seit einem willkürlichen Tag 0, wobei ein beliebiger Tag i als Vektor von Offsetpaaren t vom Ursprung definiert ist.

 

O

t-less(i,j) ===> kontinuierlicher Wahrheitswert (Z.B. Grad der Überlappung von n Intervallen.)

t-less(4.4.1463 - 14.7.1763, 14.7.1763 - 24.10.1763) ===> 99 %

 

t-subtract(i,j) ===> "Historische Zahl"

t-subtract(14.7.1763 - 24.10.1763, 4.4.1463 - 14.7.1763) ===> { 0, 200 }

Datentyp „Historische Zeit“ V

73

Page 74: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

I Zeit ist ein Vektor von Tagen seit einem willkürlichen Tag 0, wobei ein beliebiger Tag i als Vektor von Offsetpaaren t vom Ursprung definiert ist.

0 i i‘

t

 *

Datentyp „Historische Zeit“ IV

74

Page 75: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Philosophie ist die systematische Verwirrung einer eigens zu diesem Zweck geschaffenen Terminologie.

Volksmund, ca. 1960.

75

Page 76: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Ein Bild

76

Page 77: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

6 Zeilen5 Spalten

Ein Bild

77

Page 78: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

5 Zeilen6 Spalten

Ein Bild

78

Page 79: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

1 1 1 1 1

1 0 0 0 1

1 1 0 1 1

1 1 0 1 1

1 1 0 1 1

1 1 1 1 1

1 == oker0 == rot

Ein Bild

79

Page 80: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

1 1 1 1 1

1 0 0 0 1

1 1 0 1 1

1 1 0 1 1

1 1 0 1 1

1 1 1 1 1

1 == blau 0 == gelb

Ein Bild

80

Page 81: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

1 1 1 1 1

1 0 0 0 1

1 1 0 1 1

1 1 0 1 1

1 1 0 1 1

1 1 1 1 1

Speicherung:1,1,1,1,1,1,0,0,0,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1

Unkomprimiert

Ein Bild

81

Page 82: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

1 1 1 1 1

1 0 0 0 1

1 1 0 1 1

1 1 0 1 1

1 1 0 1 1

1 1 1 1 1

Store:6,1,3,0,3,1,1,0,4,1,1,0,4,1,1,0,7,1

(Compressed)Run Length Encoded

Ein Bild

82

Page 83: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

1,1 2,1 3,1 4,1 5,1

1,2 2,2 3,2 4,2 5,2

1,3 2,3 3,3 4,3 5,3

1,4 2,4 3,4 4,4 5,4

1,5 2,5 3,5 4,5 5,5

1,6 2,6 3,6 4,6 5,6

Speicherung:SetSize: 5 by 6SetBackgroundColor:OchreSetForegroundColor:RedSetLetterHeight: 4MoveTo: 3,5DrawLetter: T

Vector Format

Ein Bild

83

Page 84: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

6 Zeilen5 Spalten

1 == oker0 == rot

Unkomprimiert

Ein Bild

84

Page 85: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Dimensionen

1 == ochre0 == red

Uncompressed

Ein Bild

85

Page 86: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Dimensionen

Photogrammetrische Interpretation

Unkomprimiert

Ein Bild

86

Page 87: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Dimensionen

Photogrammetrische Interpretation

Kompressionstechnik

Ein Bild

87

Page 88: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

<basic information>

<rendering information>

<storage information>

Ein Bild

88

Page 89: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

<basic information>(implizit / explizit)

<rendering information>(implicit / explicit)

<storage information>(implicit / explicit)

… und die Daten?

Ein Bild

89

Page 90: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

1 1 1 1 1

1 0 0 0 1

1 1 0 1 1

1 1 0 1 1

1 1 0 1 1

1 1 1 1 1

Daten entweder alsDatenstrom

1,1,1,1,1,1,0,0,0,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1

Ein Bild

90

Page 91: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

1 1 1 1 1

1 0 0 0 1

1 1 0 1 1

1 1 0 1 1

1 1 0 1 1

1 1 1 1 1

Daten entweder alsDatenstrom oder alsVerarbeitungsanweisungen

SetSize: 5 by 6SetBackgroundColor:OchreSetForegroundColor:RedSetLetterHeight: 4MoveTo: 3,5DrawLetter: T

Ein Bild

91

Page 92: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Praktische Bedeutung?

92

Page 93: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

002 004

234 123

234 156

127 178

221 221

Processing dictionary

Payload

“Bit rot”

93

Page 94: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

002 004

234 123

234 156

127 xxx

221 221

Die Beschädigung eines Bytes führt dazu, dass ein Byte nicht korrekt dargestellt werden kann.

“Bit rot”

94

Page 95: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

002 xxx

234 123

234 156

127 178

221 221

“Bit rot”

Die Beschädigung eines Bytes führt dazu, dass zehn Bytes nicht korrekt dargestellt werden können.

95

Page 96: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Wird die relativ geringe Datenmenge des Processing Dictionary „robust“ gemacht, sind Verletzungen der großen Menge an Payload Daten relativ harmlos.

96

Page 97: Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen

Danke für heute!

97