Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Mensch – Maschine - Kommunikation

Ähnliche Präsentationen


Präsentation zum Thema: "Mensch – Maschine - Kommunikation"—  Präsentation transkript:

1 Mensch – Maschine - Kommunikation
Theoretische Informatik Mensch – Maschine - Kommunikation Menschen benutzen Sprachen zur Kommunikation Computer verstehen Informationen in Binär-Code Compiler

2 Theorie der formalen Sprachen
Theoretische Informatik Theorie der formalen Sprachen Wir brauchen eine Sprache, die eindeutig in Maschinensprache (Binär-Code) übersetzt werden kann. Menschen benutzen Sprachen zur Kommunikation

3 Maschinensprache (Binär-Code)
Theoretische Informatik Automatentheorie Wir brauchen einen Compiler (Automat), der die Sprache in Maschinensprache (Binär-Code) übersetzt. Computer verstehen Informationen in Binär-Code Compiler

4 bedeutende Teilbereiche:
Theoretische Informatik bedeutende Teilbereiche:  Theorie der formalen Sprachen  Automatentheorie

5 1. Lexikalische Analyse Der Hnud jagt die Katze.
formale Sprachen Theoretische Informatik Lexikalische Analyse Der Hnud jagt die Katze. Rechtschreibfehler Alle Wörter werden auf korrekte Rechtschreibung kontrolliert. Die Grundlage dafür bildet der Duden.

6 2. syntaktische Analyse Der Hund die Katze jagt.
formale Sprachen Theoretische Informatik syntaktische Analyse Der Hund die Katze jagt. Grammatikfehler (SPO) Der Text wird auf Korrekte sprachliche Form kontrolliert. Die Grundlage dafür bildet die Grammatik.

7 Dieser Satz hat unterschiedliche Bedeutungen:
formale Sprachen Theoretische Informatik semantische Analyse Öffne die Datei mit dem Editor. Dieser Satz hat unterschiedliche Bedeutungen: Adverbial zu „öffnen“: Wie soll die Datei geöffnet werden ? Attribut zu „Datei“: Welche Datei soll geöffnet werden ?

8 Theoretische Informatik
formale Sprachen Theoretische Informatik Bei natürlicher Sprache sind einzelne Wörter oder Sätze erst im gesamten Textzusammenhang verständlich. In manchen Texten kann und muss man auch „zwischen den Zeilen“ lesen.

9 Natürliche Sprachen sind für die Programmierung
formale Sprachen Theoretische Informatik Deshalb : Natürliche Sprachen sind für die Programmierung nicht geeignet !

10 Alphabet Theoretische Informatik
formale Sprachen Theoretische Informatik Definitionen : Alphabet Ein Alphabet ist eine endliche, nichtleere Menge von Symbolen (Buchstaben).

11 Die Länge eines Wortes x wird durch |x| dargestellt.
formale Sprachen Theoretische Informatik Definitionen : Wörter Sei V ein Alphabet und k  lN0. Eine endliche Folge x1 x2...xk mit xi  V (i = 1, ..., k) heißt Wort über V der Länge k. Die Länge eines Wortes x wird durch |x| dargestellt. Es gibt ein Wort mit der Länge 0, das leere Wort. Das leere Wort wird mit  bezeichnet.

12 Sprache Theoretische Informatik Sei V ein Alphabet.
formale Sprachen Theoretische Informatik Definitionen : Sprache Sei V ein Alphabet. V* bezeichnet die Menge aller Wörter über V. V+ bezeichnet die Menge der nichtleeren Wörter über V. V+ = V* \ { } Jede beliebige Teilmenge von V* wird als Sprache oder formale Sprache bezeichnet.

13 Theoretische Informatik
formale Sprachen Theoretische Informatik Beispiele : Alphabet : V = { 0, 1 } Wörter : 0011 01010 00000 11111 Sprache : L = Menge aller Binärzahlen ohne führende Nullen = { 0, 1, 10, 11, 100, 101, 110, 111, 1000, ... }

14 Theoretische Informatik
formale Sprachen Theoretische Informatik Beispiele : Alphabet : V = { 1 } Wörter : 1 11 111 11111 Sprache : L = Menge der nat. Zahlen in unärer Darstellung = { 1, 11, 111, 1111, ... }

15 Theoretische Informatik
formale Sprachen Theoretische Informatik Beispiele : Alphabet : V = { 0, 1, 2, 3, ..., 9 } Wörter : 1 37109 732 Sprache : L = Menge der nat. Zahlen in Dezimalschreibweise = { 0, 1, 2, 3, ... }

16 Theoretische Informatik
formale Sprachen Theoretische Informatik Beispiele : Alphabet : V = { a, b, ..., z, ä, ö, ü, ß, A, B, ..., Z, Ä, Ö, Ü } Wörter : Urlaub Schule Informatik Abitur Ferein Sprache : L = Die Menge aller Einträge im Duden

17 V = Menge aller Einträge im Duden
formale Sprachen Theoretische Informatik Beispiele : Alphabet : V = Menge aller Einträge im Duden Wörter : Der Ball ist rund Der auch ist gut Sprache : L = Die deutsche Sprache in grammatikalisch richtigen Sätzen

18 V = der ASCII-Zeichensatz
formale Sprachen Theoretische Informatik Beispiele : Alphabet : Lexikalische Analyse V = der ASCII-Zeichensatz Scanner Wörter : while ( operand1 100 < Sprache : L = Alle Token (Schlüsselwörter, Begrenzer, Bezeichner, Literale und Operatoren) der Programmiersprache C++

19 V = Token der Programmiersprache C++
formale Sprachen Theoretische Informatik Beispiele : Alphabet : Syntaktische Analyse V = Token der Programmiersprache C++ Parser Wörter : void main() { cout << “Hello world !\n“; } Sprache : L = Alle syntaktisch richtigen C++ - Programme

20 Theoretische Informatik
Automaten- theorie Theoretische Informatik Beispiel : Eingaben: Zigaretten-Automat 1 2 R-Taste Wahl -Tasten 3,- € Rückgabe Zigaretten HB Ernte 23 Marlborough R6 Reval Steyvesant Interne Zustände: Kein Geld eingegeben 1 € ist eingegeben 2 € sind eingegeben 3 € sind eingegeben 4 € sind eingegeben Ausgaben: HB Zigaretten HB 1 Zigaretten + Wechselgeld 2 1 Geldrückgabe

21 Theoretische Informatik
Automaten- theorie Theoretische Informatik Beispiel : Zustandsveränderungen hängen ab von den Eingaben: Zustände: q0 : Kein Geld eingegeben q1 : 1 € ist eingegeben q2 : 2 € sind eingegeben q3 : 3 € sind eingegeben q4 : 4 € sind eingegeben Zustandsüberführungstabelle: q0 q1 q2 q3 q4 1 R-Taste Wahl -Tasten 2 q1 | -- q2 | -- q0 | -- q0 | -- q2 | -- q3 | -- q0 | 1 q1 | -- q3 | -- q4 | -- q0 | 2 q2 | -- q3 | 1 q3 | 2 1 q0 | 2 R6 q0 | q4 | 1 q4 | 2 2 q0 | 1 HB q0 |

22 Theoretische Informatik
Automaten- theorie Theoretische Informatik Beispiel : Zustandsveränderungen hängen ab von den Eingaben: Zustände: q0 : Kein Geld eingegeben q1 : 1 € ist eingegeben q2 : 2 € sind eingegeben q3 : 3 € sind eingegeben q4 : 4 € sind eingegeben Zustandsüberführungsgraph: q0 1,- | -- HB q1 q3 q4 q2 2,- | -- R-Taste | 1,- R-Taste | 3,- R-Taste | 4,- R-Taste | 2,- Wahl -Taste | Wahl -Taste | 1,-

23 Theoretische Informatik
Automaten- theorie Theoretische Informatik Ein Automat - bekommt Eingaben - hat interne Zustände, die wechseln können - liefert gegebenenfalls Ausgaben

24 Theoretische Informatik
Automaten- theorie Theoretische Informatik Wir brauchen Automaten, die Wörter bzw. Sprachen erkennen können. (Scanner, Parser) Solche Automaten liefern keine Ausgabe, sie halten einfach nach Eingabe eines Wortes an. Befindet sich der Automat nach vollständiger Eingabe eines Wortes in einem „Endzustand“, so wird das Wort „akzeptiert“.

25 Theoretische Informatik
Automaten- theorie Theoretische Informatik Beispiel : Zustandsüberführungsgraph eines endlichen Automaten Zustände : Z={ q0, q1, q2, q3 } q0 q3 1 0|1 q2 q1 Startzustand : q0 Endzustände : F={ q1, q2 } Eingabealphabet : V={ 0, 1 } akzeptierte Wörter : nicht akzeptierte Wörter : Sprache : L = Menge aller Binärzahlen ohne führende Nullen = { 0, 1, 10, 11, 100, 101, 110, 111, 1000, ... }


Herunterladen ppt "Mensch – Maschine - Kommunikation"

Ähnliche Präsentationen


Google-Anzeigen