Schreiben Sie den Ausdruck für

Werbung
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
1
2
Schreiben Sie den Ausdruck für a ist Element der Menge A“
”
und zeichnen Sie dazu eine graphische Darstellung!
Schreiben Sie den Ausdruck für A ist Teilmenge von B“ und
”
zeichnen Sie dazu eine graphische Darstellung!
EinfInf WS2006
EinfInf WS2006
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
3
4
Schreiben Sie den Ausdruck für A ist eine echte Teilmenge
”
von B“ und zeichnen Sie dazu eine graphische Darstellung!
EinfInf WS2006
Schreiben Sie den Ausdruck für Mengendurchschnitt von A
”
und B“ und zeichnen Sie dazu eine graphische Darstellung!
EinfInf WS2006
Teilmengen werden mit A ⊂ B dargestellt.
a∈A
B
B
A
A
echte Teilmengen werden mit A ⊆ B dargestellt.
A∩B
B
A
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
5
6
Schreiben Sie den Ausdruck für Vereinigungsmenge von A
”
und B“ und zeichnen Sie dazu eine graphische Darstellung!
Schreiben Sie den Ausdruck für Differenzmenge von A und
”
B“ und zeichnen Sie dazu eine graphische Darstellung!
EinfInf WS2006
EinfInf WS2006
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
7
8
Schreiben Sie den Ausdruck für Disjunkte Vereinigungsmenge
”
A und B“ und zeichnen Sie dazu eine graphische Darstellung!
EinfInf WS2006
Geben Sie einen Ausdruck an für die Mächtigkeit einer
”
Menge B“!
EinfInf WS2006
A/B
A∪B
A⊕B
|B|
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
9
10
Geben Sie einen Ausdruck an für die Menge mit den
”
Elementen x und y“!
Geben Sie einen Ausdruck an für die Menge aller x, für die
”
die Aussage f(x)“ gilt!
EinfInf WS2006
EinfInf WS2006
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
11
12
Geben Sie einen Ausdruck an für die leere Menge“!
”
EinfInf WS2006
Wie ist das kartesische Produkt der Mengen A und B“
”
definiert?
EinfInf WS2006
{x|f (x)}
{x, y}
´
Das (kartesische) Produkt A × B der Mengen A und B ist die Menge aller geordneten Paare
(a, b) mit a ∈ A und b ∈ B.
{}, ∅
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
13
14
Geben Sie die Mächtigkeit des kartesischen Produktes der
beiden endlichen Mengen A und B an!
Geben Sie die Definition für ein Zeichen“ an!
”
EinfInf WS2006
EinfInf WS2006
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
15
16
Geben Sie die Definition für den binären Zeichenvorrat“ an!
”
EinfInf WS2006
Wie nennt man ein Zeichen aus einem binären Zeichenvorrat?
EinfInf WS2006
Ein Zeichen (engl. character) ist ein Element einer vereinbarten endlichen, nichtleeren Menge,
die als Zeichenvorrat bezeichnet wird.
Beispiel:
|A × B| = |A| ∗ |B|
{+, −, ∗, /}
{M o, Di, M i, Do, F r, Sa, So}
Ein Zeichenvorrat aus genau zwei verschiedenen Zeichen heißt binärer Zeichenvorrat.
Beispiel:
Bit
{0, 1}
{dunkel, hell}
{0V, +5V }
{f alsch, wahr}
{ja, nein}
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
17
18
Wie wird ein Alphabet“ definiert?
”
Geben Sie die Definition für ein Wort“ an!
”
EinfInf WS2006
EinfInf WS2006
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
19
20
Wie wird die Länge eines Wortes“ definiert?
”
EinfInf WS2006
Geben Sie den Ausdruck und die Länge für das leere Wort“
”
an!
EinfInf WS2006
P
Ein Alphabet
ist ein Zeichenvorrat, auf dem eine lineare Ordnung (Reihenfolge) fur die
Zeichen definiert ist.
Beispiel:
Eine endliche Folge w = a1 .P
. . an von Zeichen eines Alphabets
(engl.: word or string) uber .
P
heist Wort oder Zeichenkette
• {0, 1}, 0 < 1
• {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, 0 < 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9
• {A, B, C, . . . , Z, a, b, c, . . . , z}, A < B < C < . . . < Z < a < b < c < . . . < z.
Das leere Wort wird durch bezeichnet (auch als geschrieben) und besitzt die Lange 0.
Sei w = a1 . . . an Zeichenkette uber
P
, dann bezeichnet |w| = n die Lange der Zeichenkette.
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
21
22
Geben Sie den Ausdruck für die Menge aller Zeichenketten
”
über ein Alphabet“ an!
Geben Sie den Ausdruck für die Menge aller nicht leeren
”
Zeichenketten über ein Alphabet“ an!
EinfInf WS2006
EinfInf WS2006
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
23
24
Geben Sie den Ausdruck für die Menge aller Zeichenketten
”
der Länge n über ein Alphabet“ an!
EinfInf WS2006
Definieren Sie die Menge aller Binärwörter der Länge n!
EinfInf WS2006
P∗
P+
P∗
= {0, 1}∗ heist die Menge der Binarworter, Elemente von
oder Binarworter der Lange n.
Pn
heisen auch n Bit-Worter
Pn
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
25
26
Definieren Sie die Konkatenation von zwei Wörtern“ und
”
geben Sie seine Länge an!
Definieren Sie ein Präfix“ von einem Wort!
”
EinfInf WS2006
EinfInf WS2006
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
27
28
Definieren Sie ein Teilwort“ von einem Wort!
”
EinfInf WS2006
Definieren Sie ein Suffix“ von einem Wort!
”
EinfInf WS2006
Sind x, y, z ∈
P∗
(leere Worter eingeschlossen) und ist
w = xyz = x||y||z,
dann heißt x ein Präfix (Anfangsstück) von w.
P
P
Es seien
ein Alphabet, u = a1 . . . am und v = b1 . . . bn Worter uber
Das Wort w = uv = u||v = a1 . . . am b1 . . . bn ,
das durch Anfügen des Worts v an u entsteht, heißt
Konkatenation oder Verkettung von u und v.
Es gilt:
|uv| = |u| + |v|.
Sind x, y, z ∈
P∗
(leere Worter eingeschlossen) und ist
w = xyz = x||y||z,
z ein Suffix (Endstück) von w.
Sind x, y, z ∈
P∗
(leere Worter eingeschlossen) und ist
w = xyz = x||y||z,
y ein Teilwort von w.
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
29
30
Definieren Sie die lexikographische Ordnung“ für ein
”
Alphabet!
Definieren Sie den Begriff Formale Sprache“!
”
EinfInf WS2006
EinfInf WS2006
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
31
32
Definieren Sie den Begriff Decodierung“!
”
Definieren Sie den Begriff Code“!
”
EinfInf WS2006
EinfInf WS2006
P
Sei
ein Alphabet. P
Eine Teilmenge L ⊆ ∗ heist formale Sprache;
x ∈ L heist Wort der Sprache L (L wie Language).
P
P∗
Sei
ein Alphabet. Fur die Worter w1, w2, ∈
wird die lexikographische Ordnung ≤lex ,
induktiv
durch
folgende
Festlegungen
definiert:
P
∀w ∈ ∗ P
: ≤lex W
∀a1 , a2 ∈
:
a1 ||w1 ≤lex a2 ||w2 , :⇔ a1 < a2 oder (a1 = a2 und w1 ≤lex w2 )
P
= {0, 1}, 0 < 1
≤lex 0, 01 ≤lex 1, 01 ≤lex 10, 01 ≤lex 011, 011 = 011
In der Regel ist die Abbildung eines Codes injektiv, d.h. verschiedene Zeichen oder Wörter
werden auf verschiedene Codewörter abgebildet.
Dann ist auf der Bildmenge eine umkehrbare Codierung beschrieben durch eine Abbildung d
d : {b ∈ B|b = c(a), a ∈ A} → A,
die Decodierung genannt wird.
Seien A und B Zeichenvorrate. Ein Code oder eine Codierung ist eine Abbildung c : A →
Boderc : A∗ → B ∗ .
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
33
34
Definieren Sie den Begriff Binärkodierung“!
”
Was ist ein Graph?
EinfInf WS2006
EinfInf WS2006
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
35
36
Was ist ein Baum“ in Bezug auf Graphen“?
”
”
EinfInf WS2006
Definieren Sie den Begriff gerichteter Graph“!
”
EinfInf WS2006
Graphen sind strukturelle Modelle, d.h. mit ihnen können identifizierte Objekte und ihre Beziehungen zueinander beschrieben werden.
Für die Informationsdarstellung in Rechensystemen werden fast ausschließlich BinärCodierungen (Binär-Codes) von Alphabeten betrachtet.
Dies sind Codierungen der Form
c : A → {0, 1}∗ ,
wobei A ein vorgegebenes Alphabet ist.
Ein gerichteter Graph (engl. graph) G = (V, E) istPein Paar, bestehend aus einer endlichen,
nichtleeren Menge V zusammen mit einer Relation
⊆V ×V.
• V heißt die Menge der Knoten (engl.: vertices) des Graphen G.
• E heißt die Menge der Kanten (engl.: edges) von G.
• Notation: Eine Kante (a, b) ∈ E wird graphisch durch einen Pfeil von Knoten a zu Knoten
b dargestellt.
Bäume sind spezielle Graphen.
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
37
38
Wie werden Kanten in einem gerichteten Graphen dargestellt?
Worin unterscheidet sich ein ungerichteter Graph“ von einem
”
gerichteten Graphen“?
”
EinfInf WS2006
EinfInf WS2006
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
39
40
Definieren Sie den Begriff gerichteter Kantenzug“ in einem
”
gerichteten Graphen!
Wann heißt ein Graph markiert“?
”
EinfInf WS2006
EinfInf WS2006
Ungerichtete Graphen:
Bei Kanten werden Richtungen nicht angenommen, d.h. die Reihenfolge der Knoten zur Bezeichnung einer Kante ist unerheblich.
Sei G = (V, E) ein gerichteter Graph. Sei z = (v0 , . . . , vn ) eine Folge von n + 1 Knoten des
Graphen mit (v0 , v1 ), . . . , (vn−1 , vn ) ∈ E; dann heist z gerichteter Kantenzug in G der Lange n.
• Folge der Knoten ist durch Kanten verbunden,
• mehrfaches Durchlaufen von Knoten ist erlaubt.
Eine Kante (a, b) ∈ E wird graphisch durch einen Pfeil von Knoten a zu Knoten b dargestellt.
Ein Graph G = (V,E) heißt markiert (bewertet, attributiert), wenn jedem Knoten (knotenmarkiert) oder jeder Kante (kantenmarkiert) (oder beiden) durch eine Abbildung weitere Größen
(Werte des Bildbereichs der Abbildung) zugeordnet sind.
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
41
42
Was ist ein gerichteter Weg“ in einem gerichteten
”
”
Graphen“?
Definieren Sie den Begriff Zyklus“ in einem gerichteten
”
”
Graphen“!
EinfInf WS2006
EinfInf WS2006
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
43
44
Was ist eine Schlinge“ in einem gerichteten Graphen“?
”
”
EinfInf WS2006
Wann heißt ein gerichteter Graph zusammenhängend?
EinfInf WS2006
Sei G = (V, E) ein gerichteter Graph und w = (v0 , . . . , vn ) ein gerichteter Weg in G. Dann
heißt c = (v0 , . . . , vn , vn+1 ) Zyklus, wenn (vn , vn+1 ) ∈ E und vn+1 = v0 , d.h. Anfangs- und
Endknoten übereinstimmen.
Sei G = (V, E) ein gerichteter Graph. Ein gerichteter Kantenzug w = (v0 , . . . , vn ) in G heißt
gerichteter Weg in G, wenn alle Knoten verschieden sind.
Ein gerichteter Graph G = (V, E) heißt zusammenhängend, wenn es für je zwei Knoten v1 , v2 ∈
V mindestens einen gerichteten Weg zwischen ihnen in G gibt.
Ein entarteter Zyklus (vi , vi ) ∈ E heißt Schlinge, er führt von einem Knoten unmittelbar in ihn
zurück.
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
45
46
Wann heißt ein gerichteter Graph streng
”
zusammenhängend“?
Wann heißt ein ungerichteter Graph zusammenhängend“?
”
EinfInf WS2006
EinfInf WS2006
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
47
48
Wann heißt ein gerichteter Graph Baum“?
”
EinfInf WS2006
Wann wird ein Knoten in einem Baum als Blatt“ definiert?
”
EinfInf WS2006
Ein ungerichteter Graph heißt zusammenhängend, wenn es für je zwei Knoten v1 , v2 ∈ V mindestens einen ungerichteten Weg zwischen ihnen gibt.
Der Graph heißt streng zusammenhängend, wenn es für je zwei Knoten v1 , v2 ∈ V einen Weg
von v1 nach v2 und umgekehrt gibt (d.h. jeder Knoten kann von jedem anderen aus erreicht
werden).
Sei B = (V, E) ein gerichteter Graph. B heißt baumartig oder kurz Baum (engl.: tree), wenn
gilt:
• B ist zusammenhängend und zyklenfrei.
Ein Knoten v heist Blatt oder Endknoten, wenn er keine ausgehende Kante besitzt, d.h. wenn
kein v 0 existiert mit (v, v 0 ) ∈ E.
• Es gibt genau einen Knoten vw ∈ V , in den keine Kante mündet. Dieser Knoten heißt
Wurzel des Baumes.
• Von der Wurzel vw des Baumes gibt es zu jedem anderen Knoten v ∈ V, v 6= vw genau
einen gerichteten Weg.
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
49
50
Wann wird ein Knoten in einem Baum als Nachfahre“
”
definiert?
Wann wird ein Knoten in einem Baum als Sohn“ definiert?
”
EinfInf WS2006
EinfInf WS2006
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
51
52
Wann wird ein Knoten in einem Baum als Vorfahre“
”
bezeichnet?
EinfInf WS2006
Wie nennt man die Gesamtheit der Nachfahren von einem
Knoten?
EinfInf WS2006
Die Gesamtheit aller von v (auch über Zwischenknoten) erreichbaren Knoten heißen die Nachfahren von v. Diese bilden wiederum einen Baum, für den v die Wurzel ist. Dieser Baum heißt
auch der von v aufgespannte Unterbaum.
Nachfahren
Die Knoten v 0 ∈ V , die von einem Knoten v durch eine einzige Kante (v, v 0 ) ∈ E erreicht werden,
heisen Sohne oder Kinder von v (umgekehrt Vater).
Die Knoten auf dem Weg von der Wurzel bis vor v heißen die Vorfahren von v.
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
53
54
Definieren Sie den Begriff Binärer Baum“!
”
Nennen Sie zwei Abstraktionsebenen, in denen Algorithmen
definierbar sind!
EinfInf WS2006
EinfInf WS2006
Formalen Sprachen, Datenstrukturen, Programmiersprachen
Formalen Sprachen, Datenstrukturen, Programmiersprachen
55
56
Beschreiben Sie die Arbeitsweise eines Interpeters!
EinfInf WS2006
Beschreiben Sie die Arbeitsweise eines Compilers!
EinfInf WS2006
Syntax einer Sprache definiert die zulässigen Anordnungen der Sprachelemente auf der Ebene der Repräsentation.
Semantik einer Sprache definiert eine Interpretation und legt fest, wie die Sprachelemente
in Hinblick auf das Problemlösungsverfahren zu interpretieren sind.
Programmiersprache eine formale Sprache zur Repräsentation von Algorithmen. Ein in einer
solchen Programmiersprache beschriebener Algorithmus heißt Programm.
Sei B = (V, E) ein gerichteter Baum. B heißt binärer Baum oder Binärbaum, wenn jeder Knoten
höchstens zwei Söhne hat und zwischen dem linken Unterbaum und dem rechten Unterbaum
unterschieden wird.
• Compiler übersetzt in exe
• Einlesen Zeile für Zeile
• BS startet executable
• direkte Ausführung
• Compilieren für versch. BS
• jedes BS benötigt extra Interpreter
Codierung
Codierung
1
2
Beschreiben Sie, wie ein binärer Code in einem binären
Codebaum dargestellt werden kann!
Zeichnen Sie den Codebaum für den normalen 4-stelligen
BCD-Code (8-4-2-1) auf!
EinfInf WS2006
EinfInf WS2006
Codierung
Codierung
3
4
Definieren Sie einen dichten Blockcode!
Definieren Sie einen Blockcode!
EinfInf WS2006
EinfInf WS2006
Jeder Binär-Code kann graphisch durch einen binären Codebaum dargestellt werden:
• jeder Stelle im Codewort wird eine Schicht im Baum zugeordnet
• jedem Binärwert wird ein linker und ein rechter Unterbaum zugeordnet
Ein n-stelliger Blockcode c :→ B n heist dicht, wenn alle b ∈ B n auch Codeworter unter c
darstellen (Blockcode ist surjektiv).
Ein Code c :→ B n , dessen Codeworter b ∈ B n alle die gleiche Lange n besitzen, heist (n-stelliger)
Blockcode.
Codierung
Codierung
5
6
Definieren Sie einen binären gewichteten Blockcode!
Geben Sie den vierstelligen Aiken-Code für die Dezimalziffern
0 bis 9 an und nennen Sie seine Eigenschaften!
EinfInf WS2006
EinfInf WS2006
Codierung
Codierung
7
8
Geben Sie den 51111-Code für die Dezimalziffern 0 bis 9 an
und nennen Sie seine Eigenschaften!
EinfInf WS2006
Geben Sie den 1-aus-10-Ring – Code für die Dezimalziffern 0
bis 9 an und nennen Sie seine Eigenschaften!
EinfInf WS2006
Ein binarer Blockcode c : A → {0, 1}n zur Codierung von Zahlen heist gewichtet oder
bewertbar, wenn den Stellen der Codeworter Gewichte Wi zugeordnet sind und sich der Wert
der dargestellten Zahl z ergibt zu
• vierstellige Tetrade codiert jeweils eine Dezimalstelle
• Dezimaler Charakter der binären Werte bleibt erhalten.
• vierte Stelle mit 2, nicht mit 8 gewichtet
z=
• doppelte Codierungen für eine Zahl möglich
2
0
0
0
0
0
1
1
1
1
1
4
0
0
0
0
1
0
1
1
1
1
bi Wi ,
i=1
• Verschwendung von Speicherplatz
Wi
0
1
2
3
4
5
6
7
8
9
n
X
2
0
0
1
1
0
1
0
0
1
1
wobei bi ∈ {0, 1}, i = 1, . . . , n die den Gewichten in der Codierung von z zugeordneten binaren
Ziffern entsprechen.
1
0
1
0
1
0
1
0
1
0
1
Wi
0
1
2
3
4
5
6
7
8
9
23
0
0
0
0
0
0
0
0
1
1
22
0
0
0
0
1
1
1
1
0
0
21
0
0
1
1
0
0
1
1
0
0
20
0
1
0
1
0
1
0
1
0
1
• monoton wachsend
• sehr übersichtlich
• doppelte Codierungen für eine Zahl möglich
• großer Aufwand
• Verschwendung von Speicherplatz
• Einsatz: Anzeigen, numerische Tastaturen
Wi
0
1
2
3
4
5
6
7
8
9
9
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
1
0
7
0
0
0
0
0
0
0
1
0
0
6
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
1
0
0
0
0
4
0
0
0
0
1
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
Wi
0
1
2
3
4
5
6
7
8
9
5
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
1
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
Codierung
Codierung
9
10
Definieren Sie den Begriff : Code variierender Länge“!
”
Wie lautet die Fano-Bedingung?
EinfInf WS2006
EinfInf WS2006
Codierung
Codierung
11
12
Welches Ziel wird mit komprimierenden Codes verfolgt?
EinfInf WS2006
Nennen Sie drei Beispiele für komprimierende Codes!
EinfInf WS2006
Kein Codewort ist Präfix (Anfangsstück) eines anderen Codewortes.
• Lauflängenkodierung (Run Length Encoding)
• Huffmann-Codierung
• Shannon/Fano-Codierung
Ein Code c : A → B ∗ , dessen Codeworter verschiedene Langen besitzen konnen, heist variabel
langer Code oder Code variierender Lange.
Beispiel: Morse-Code
• Reduktion der Länge der Repräsentierung von Information durch Kompression
• Kostenersparnis
Codierung
Codierung
13
14
Beschreiben Sie in Worten das Verfahren der
Huffmann-Codierung in 4 Schritten!
Wie erfolgt typischerweise die Lauflängencodierung (RLE)?
EinfInf WS2006
EinfInf WS2006
Codierung
Codierung
15
16
Beschreiben Sie in Worten das Verfahren der
Shannon/Fano-Codierung in 4 Schritten!
EinfInf WS2006
Nennen Sie drei typische Anwendungsbereiche für nicht
verlustfreie Codierungen!
EinfInf WS2006
• Ordne jedem Zeichen einen isolierten Knoten mit dem Gewicht der relativen Häufigkeit
des Zeichens zu.
• Suche die beiden Zeichen/Teilbäume mit dem geringsten Gewicht.
• Gruppierung:
Folge identischer Zeichen durch (Anzahl, Zeichen) codieren.
ABBBBBBBCDEEEEEEEEEEEF#34777777
– Bilde einen binären Teilbaum mit diesen Zeichen/Teilbäumen.
– Ordne den beiden neuen Kanten die Codierungen 0 und 1 frei zu.
– Ordne dem Teilbaum die Summe der Gewichte der beiden Zeichen/Teilbäume als
Gewicht zu.
• Wiederhole (2) und (3) so lange, bis ein einziger binärer Baum mit dem Gewicht 1 existiert.
• Bilde die Wurzel des Baumes bestehend aus der Menge aller Zeichen und dem Gewicht
aus der Summe aller relativen Häufigkeiten (beträgt 1).
• MPEG-Audio
• Wähle ein Blatt des Baumes, dessen zugeordnete Menge M von Zeichen nicht einelementig
ist.
• MP3 für Audio-Daten
• Teilung:
• JPEG (Joint Photographic Expert Group) für Bilddaten
• MPEG/MPEG2 Videostrom-Kompression
– Teile M in zwei möglichst gleichgewichtige Teilmengen M0 und M1
– Ordne M als linkes und rechtes Kind M0 und M1 zu sowie den neuen Kanten die
Codierungen 0 und 1 zu.
• Wiederhole (2) und (3) so lange, bis alle Blätter des Baumes einelementig sind.
Codierung
Codierung
17
18
Warum nehmen nicht verlustfreie Codierungen einen
Informationsverlust in Kauf?
Beschreiben Sie den Bitfehler eines binären Signals!
EinfInf WS2006
EinfInf WS2006
Codierung
Codierung
19
20
Welche Maßnahmen beinhaltet die Codesicherung!
EinfInf WS2006
Was versteht man unter Code-Redundanz im Zusammenhang
mit fehlererkennenden und –korrigierenden Codierungen?
EinfInf WS2006
Ein Bitfehler eines binaren Signals ist seine Umkehrung (0 → 1, 1 → 0).
Unter Code-Redundanz soll im folgenden jeglicher Zusatzaufwand in einem Code verstanden
werden, der über die reine Darstellung der gewünschten Codewörter hinausgeht.
Um einen höheren Komprimierungsgrad zu erreichen.
Codesicherung beinhaltet alle Maßnahmen der Erkennung oder Korrektur von Bitfehlern in
Codewörtern oder Blöcken von Codewörtern.
Codierung
Codierung
21
22
Definieren Sie das Hamming-Gewicht eines binären
Codewortes!
Definieren Sie den Hamming - Abstand zwischen zwei
n-stelligen binären Codewörtern!
EinfInf WS2006
EinfInf WS2006
Codierung
Codierung
23
24
Definieren Sie den Hamming-Abstand für einen binären
Blockcode!
EinfInf WS2006
Wie viele fehlerhafte Bits können in einem binären Blockcode
mit dem Hamming-Abstand d sicher erkannt werden?
EinfInf WS2006
Seien a, b ∈ {0, 1}n zwei n-stellige Codewörter. Der Hamming-Abstand oder die HammingDistanz h(a, b) von a und b gibt die Anzahl der Stellen an, in denen sich die Codewörter a und
b unterscheiden.
Beispiel: h(01000101, 00010111) = 3
Sei c : A → {0, 1}∗ ein binärer Code. Das Hamming-Gewicht g(w) eines Codewortes w ∈ {0, 1}∗
ist die Anzahl der Stellen des Codeworts mit dem Wert ”1”.
Beispiel: g(01000101) = 3
Hat ein Code den Hamming-Abstand d, so können alle Störungen, die höchstens d-1 Bits
betreffen, sicher erkannt werden.
Sei c : A → {0, 1}n ein binarer Blockcode. Der Hamming-Abstand des Codes c ist als der kleinste
Hamming-Abstand h(a, b) zwischen zwei verschiedenen Codewortern a und b definiert.
Codierung
Codierung
25
26
Welchen Hamming-Abstand besitzen dichte Codes?
Wie wird das Paritätsbit für die gerade Parität festgelegt?
EinfInf WS2006
EinfInf WS2006
Codierung
Codierung
27
28
Wie wird das Paritätsbit für die ungerade Parität festgelegt?
EinfInf WS2006
Wie groß ist der Hamming-Abstand für einen Code mit
ursprünglich Hamming-Abstand d, in welchem die
Codewörter dann verdoppelt wurden?
EinfInf WS2006
gerade Parität (even parity): Das Codewort wird auf ein gerades Gewicht (gerade Anzahl von
1-Bits) erweitert.
Dichte Codes haben einen Hamming-Abstand von 1 und können keine Fehler erkennen.
Ein Code mit Hamming-Abstand d wird durch Verdoppeln der Codewörter (w → w||w) zu
einem Code mit Hamming-Abstand 2 ∗ d.
ungerade Parität (odd parity): Das Codewort wird auf ein ungerades Gewicht (ungerade Anzahl
von 1-Bits) erweitert.
Codierung
Rechnernetze und das Internet
29
1
Wie viele fehlerhafte Bits können in einem binären Blickcode
mit Hamming-Abstand d=2k+1 korrigiert werden?
Was bezeichnen die Begriffe Protokoll“ und
”
Protokollstack“?
”
EinfInf WS2006
EinfInf WS2006
Rechnernetze und das Internet
Rechnernetze und das Internet
2
3
Welches sind die für Netzwerkschichten heute am weitesten
verbreiteten Protokolle?
EinfInf WS2006
Was bedeutet IP“ und welche grundlegende Funktion stellt
”
es zur Verfügung?
EinfInf WS2006
Protokoll Die Festlegungen und Funktionen einer Schicht werden mit dem Begriff ”Protokoll”bezeichnet.
Protokollstack Die Implementierung aller Schichten heißt ”Protokoll-Stack”.
IP (IPv4 u. IPv6 Internet Protocol Version 4 u. 6), stellt Vermittlungsdienst für TCP, UDP und
ICMP zur Verfügung.
Hat ein Code den Hamming-Abstand d = 2 ∗ k + 1, so können alle Störungen, die höchstens k
Bits betreffen, sicher korrigiert werden.
Die heute für Netzwerk-Schichten und Internet am weitesten verbreiteten Protokolle sind
dieTCP/IP-Protokolle (standardisiert in RFC – Request for Commend).
Rechnernetze und das Internet
Rechnernetze und das Internet
4
5
Was bedeutet TCP und wie sind seine allgemeinen
Eigenschaften?
Erläutern Sie die Eigenschaft eine verbindungsorientierter
Protokolle!
EinfInf WS2006
EinfInf WS2006
Rechnernetze und das Internet
Rechnernetze und das Internet
6
7
Erläutern Sie die Eigenschaft eine verbindungsloser
Protokolle!
EinfInf WS2006
Erläutern Sie die Eigenschaft von Protokollen mit Sequencing!
EinfInf WS2006
TCP (Transmission Control Protocol)
Verbindungsorientierte Protokolle (connection-oriented)
Hier wird zuerst eine Verbindung zwischen zwei Endpunkten aufgebaut, bevor die Kommunikation stattfindet. Andere Benutzer haben keine Möglichkeit, sich in eine solche Verbindung
zwischen zwei Teilnehmern hineinzudrängen.
Protokolle, die sicherstellen, dass Daten in gleicher Reihenfolge empfangen werden, in der
gesendet wurde.
• verbindungsorientiertes Protokoll, dass einem Prozess einen zuverlässigen, vollduplex Bytestream zur Verfügung stellt
• impliziert z.B. Wiederholungen bei fehlerhaften Übertragungen.
Protokolle, die ohne feste Verbindung zwischen zwei Endpunkten arbeiten.
Rechnernetze und das Internet
Rechnernetze und das Internet
8
9
Erläutern Sie den Begriff Streaming-Protokolle“!
”
Erläutern Sie den Begriff Paketbasierte Protokolle“!
”
EinfInf WS2006
EinfInf WS2006
Rechnernetze und das Internet
Rechnernetze und das Internet
10
11
Erläutern Sie den Begriff Protokolle mit Fehlerkontrolle!
EinfInf WS2006
Erläutern Sie den Begriff halbduplex“ im Zusammenhang
”
mit Rechnernetzen!
EinfInf WS2006
Erlauben nur Versenden und Empfangen von ganzen Datenpaketen (meist Maximalgröße für
Pakete festgelegt).
Arbeiten mit einzelnen Bytes, wobei größere Bytefolgen in Blöcken zusammengefasst werden
können.
es kann jeweils nur in eine Richtung übertragen, also entweder nur gesendet oder nur empfangen
werden.
Protokolle, die falsch übertragene Daten erneut anfordern.
Rechnernetze und das Internet
Rechnernetze und das Internet
12
13
Erläutern Sie den Begriff vollduplex“ im Zusammenhang mit
”
Rechnernetzen!
Geben Sie ein Tupel an, welches eine Netzwerkverbindung
allgemein charakterisiert!
EinfInf WS2006
EinfInf WS2006
Rechnernetze und das Internet
Rechnernetze und das Internet
14
15
Welche grundlegende Eigenschaft besitzen IP-Nummern?
EinfInf WS2006
Geben Sie das Format für IPv4 – Nummern an!
EinfInf WS2006
Netzwerkverbindung ist durch 5-Tupel charakterisierbar:
Protokoll, lokaler Host, lokaler Prozess, fremder Host, fremder Prozess
es kann gleichzeitig in beide Richt. übertragen, also sowohl gesendet als auch empfangen werden.
32 Bit Binärzahl in 4 Gruppen zu je 8 Bits:
10000010.00111100.00011010.00000010
↓
130.60.26.2
weltweit eindeutig, damit keine Adressierungs-Konflikte auftreten und werden von internationalen Organisationen vergeben.
Rechnernetze und das Internet
Rechnernetze und das Internet
16
17
Wie viele IPv4 – Nummern gibt es?
Geben Sie das Format für IPv6 – Nummern an!
EinfInf WS2006
EinfInf WS2006
Rechnernetze und das Internet
Rechnernetze und das Internet
18
19
Welches war der Hauptgrund zur Einführung des
IPv6-Formats?
EinfInf WS2006
Nennen Sie zwei Regeln zur vereinfachten Schreibweise von
IPv6-Nummern, geben Sie jeweils auch ein Beispiel an!
EinfInf WS2006
8 durch Doppelpunkte getrennte 4-stellige Hexadezimalzahlen:
ca. 232 ≈ 4.3 Mrd. Adressen
3ffe:675:53b:41:134:c35:ff:4
Zusammenfassen von Nullen durch (::)
• 3f f e : 353 : 0 : 0 : 0 : 0 : 0 : 1 → 3f f e : 353 :: 1
• 0 : 0 : 0 : 0 : 0 : 534 : 2c : a23 →:: 534 : 2c : 123
• IP-Nummern werden knapp
• nächste Version des Internet-Protokolls (IPv6) mit größerem Adressraum
Rechnernetze und das Internet
Rechnernetze und das Internet
20
21
Geben Sie die IP-Adresse des eigenen Rechners (localhost) im
IPv4 und IPv6-Format an!
Erklären Sie die Begriffe statische“ und dynamische“
”
”
IP-Numern!
EinfInf WS2006
EinfInf WS2006
Rechnernetze und das Internet
Rechnernetze und das Internet
22
23
Wie können einzelne Anwendungsprozesse einer
Netzwerkverbindung angesprochen werden?
EinfInf WS2006
Wozu dienen Host- und Domainnamen?
EinfInf WS2006
Statische IP-Nummern:
• Rechner, die ständig mit dem Internet verbunden sind, verwenden statische IP- Nummern.
• Wird einmal zugeteilt, wenn Rechner in Betrieb geht, und ändert sich dann nicht mehr.
Dynamische IP-Nummern:
127.0.0.1 (IPv4)
::1 (IPv6)
• Werden jedes mal neu zugeteilt.
• DHCP-Server (Dynamic Host Configuration Protocol). Ein Rechner kontaktiert bei Anmeldung an das Netz DHCP-Server, um dynamische IP-Nummer zu erhalten.
• Reduziert IP-Nummern-Verbrauch ganz erheblich.
über Portnummern:
• zu Adressnummern zusätzlich noch Name, da leichter zu merken.
• aus Host- und Domainname zusammengesetzter Name identifiziert Rechner im Netzwerk,
wie pinguin.vogeltiere.network.
• Netzwerkverbindungen können von mehreren Anwendungsprozessen (Diensten) genutzt
werden.
• ganzzahlige 16-Bit Portnummer.
• Internet-Protokolle legen zur Identifizierung bekannter Dienste eine Gruppe von festen
Portnummern (0-1023) fest.
Rechnernetze und das Internet
Rechnernetze und das Internet
24
25
Wie heißen Rechner, welche für die Umsetzung zwischen
Rechnernamen und IP-Adressen zuständig sind?
Welches ist das grundlegende Konzept des WWW?
EinfInf WS2006
EinfInf WS2006
Rechnernetze und das Internet
Rechnernetze und das Internet
26
27
Nennen Sie die drei Grundkomponenten des WWW!
EinfInf WS2006
Zeichnen Sie das einfache Client – Server- Modell!
EinfInf WS2006
Nameserver:
Client-Server Konzept.
• bei kleinen Netzen lokale IP-Nummern in Datei
• bei größeren Netzen IP-Nummern in Datenbanken Nameserver notwendig
• HTML (Layoutsprache für WWW-Dokumente)
• HTTP ( Kommunikationsprotokoll)
• URL (einheitliche Adressierung im Internet)
Rechnernetze und das Internet
Rechnernetze und das Internet
28
29
Was bedeutet URL, schreiben Sie die genaue Syntax mit
obligatorischen und optionalen Bestandteilen auf!
Was bedeutet HTTP, schreiben Sie die 4 Schritte von http
auf!
EinfInf WS2006
EinfInf WS2006
Rechnernetze und das Internet
Rechnernetze und das Internet
30
31
Was bedeutet HTML und wozu dient es?
EinfInf WS2006
Welches ist das grundlegende Sprachelement von HTML,
geben Sie die genaue Schreibweise an!
EinfInf WS2006
Hypertext Transfer Protocol
1. Herstellung der Verbindung - URL
Uniform Resource Locator
2. Senden der Anforderung
3. Die Rückantwort
protocol://hostname[:port][/path][/filename][#section]
4. Schließen der Verbindung
Sprachelemente sind die Tags (Verschachtelung möglich)
Hypertext Markup Language ist eine Auszeichnungssprache.
• beschreibt die logischen Bestandteile eines Dokumentes
• einleitendes Tag < . . . >
• abschließendes Tag < / . . . >
• enthält typografische Anweisungen um Texte und Grafiken zu einem präsentablen Ganzen
zu verbinden
Rechnernetze und das Internet
Rechnernetze und das Internet
32
33
Geben Sie den minimalen Inhalt eines HTML-Dokumentes an,
um den Text dies ist ein Text“ im Browserfenster zu
”
erzeugen!
Geben Sie die genaue Syntax für Attribut-Wertpaare in
HTML-Tags an!
EinfInf WS2006
EinfInf WS2006
Rechnernetze und das Internet
Rechnernetze und das Internet
34
35
Geben Sie Nachteile statischer Webseiten an!
EinfInf WS2006
Wodurch sind dynamische Webseiten charakterisiert?
EinfInf WS2006
Syntax:
<Tag Attribut = "Wert"> . . . </TagEnde>
• Lesende Interaktivität: Eingabebereiche, Radio-Buttons, Auswahllisten
• Dynamische Generierung von Web-Seiten und Verlinkungen z.B. virtuelle Ausstellungen,
komplexe Firmendarstellungen, News-Seiten, Fahrplanauskünfte
• Generieren des HTML auf Anfrage mit Programmiersprachen
• Entweder im Server oder im Client
• Mischformen statische und dynamische Seiten (HTML-Einbettung)
<html>
dies ist ein Text
</html>
• Unflexibel (nur Vorgedachtes), keine Zusammenstellung
• Schwer änderbar (neues Layout)
• häufig inaktuell
• anfällig für Inkonsistenzen
• Keine Interaktion (E-Commerce Einkaufswagen)
Herunterladen