Übungspaket 6 Arbeiten mit Syntaxdiagrammen

Größe: px
Ab Seite anzeigen:

Download "Übungspaket 6 Arbeiten mit Syntaxdiagrammen"

Transkript

1 Übungspaket 6 Arbeiten mit Syntaxdiagrammen Übungsziele: Skript: Verstehen, Anwenden und Erstellen von Syntaxdiagrammen Kapitel: 20 Semester: Wintersemester 2017/18 Betreuer: Kevin, Theo, Thomas und Ralf Synopsis: Für den Prozess des Lernens ist es anfangs meist sehr hilfreich, wenn man ungefähre, allgemein verständliche Erklärungen angeboten bekommt. Aber in der Technik muss man es früher oder später ganz genau wissen. Dies ist insbesondere beim Programmieren der Fall. Hier helfen vor allem die Syntaxdiagramme, mittels derer eine Programmiersprache (oder auch ein Stück Hardware) sehr präzise beschrieben werden kann. Aufgrund der Wichtigkeit der Syntaxdiagramme ist ihnen dieses Übungspaket gewidmet.

2 Teil I: Stoffwiederholung Aufgabe 1: Elemente von Syntaxdiagrammen In der Vorlesung haben wir den Aufbau und die Funktion von Syntaxdiagrammen am Beispiel von Variablennamen kennen gelernt. Diese Syntaxdiagramme bestehen aus lediglich drei Dingen. Wie heißen sie, wie werden sie visualisiert und was bedeuten sie? 1. Der erste Teil besteht aus Kreisen (oder Ellipsen). Diese Elemente nennt man auch Terminalsymbole, denn man muss das, was in ihnen steht, auch Tippen. Das rechte Beispiel zeigt zwei Terminalsymbole, die ein A oder B verlangen. A B 2. Der zweite Teil besteht aus Rechtecken, die man auch Nichtterminalsymbole nennt und die woanders weiter spezifiziert sein müssen. Das rechte Beispiel zeigt ein Nichtterminalsymbole namens Two. Two 3. Der dritte Teil sind Pfeile, die die einzelnen Terminalund Nichtterminalsymbole untereinander verbinden. Das rechts stehende Beispiel zeigt, wie Namen definiert werden können, die aus einem A gefolgt von einem B bestehen. Two Name A Two B Aufgabe 2: Aufbau von Syntaxdiagrammen Erkläre mit eigenen Worten, wie Syntaxdiagramme aufgebaut sind und wie sie insbesondere die Anwendung des Konzeptes der Schrittweisen Verfeinerung erlauben. Syntaxdiagramme bestehen aus drei Komponenten. Erstens: Terminalsymbole werden als Kreise oder Ellipsen (manchmal auch als Rechtecke mit abgerundeten Ecken) dargestellt. Zweitens: Nichtterminalsymbole werden als Rechtecke mit nicht abgerundeten Ecken dargestellt. Drittens: Terminal- und Nichtterminalsymbole werden mit gerichteten Pfeilen, also Strichen mit Anfangs- und Endpunkt, miteinander verbunden. Diese Pfeile gehen von einem Rechteck zum nächsten oder beginnen bzw. enden an einem anderen Pfeil. Das Lesen eines Syntaxdiagramms ist ganz einfach: Man startet beim Namen des Syntaxdiagramms (bei uns immer oben links) und geht den Pfeilen entlang, die man zuvor ausgewählt hat. In gleicher Weise muss man das Syntaxdiagramm jedes angetroffenen Nichtterminalsymbols durchlaufen. Eine vorhandene Zeichenfolge ist dann und nur dann korrekt, wenn es für diese einen vollständigen Weg durch das Syntaxdiagramm gibt. 6-1 Wintersemester 2017/18, Einführung in die Praktische Informatik

3 Teil II: Quiz Aufgabe 1: Beispiel Aktenzeichen Die Regeln, nach denen ein Aktenzeichen für ein virtuelles Amt generiert werden können, sind gemäß folgendem Syntaxdiagramm definiert: Aktenzeichen a..z Welche der folgenden sechs gegebenen Aktenzeichen sind korrekt bzw. fehlerhaft? Beispiel korrekt fehlerhaft anton@2low peter frau@mustermann 4711x@0815y ingo 4711@5@0815 Konstruiere je drei eigene korrekte bzw. fehlerhafte Beispiele: korrekte Beispiele mann@2musterfrau 4711sunshine a@1b@2x fehlerhafte Beispiele a@@1x hierbinich@ ey@ Einführung in die Praktische Informatik, Wintersemester 2017/18 6-2

4 Aufgabe 2: Beispiel Bitmuster Das folgende Syntaxdiagramm definiert die Regel, nach denen gültige Bitmuster einer hypothetische Anwendung generiert werden können: Bitmuster 1 Bitmuster 0 Welche der folgenden sechs gegebenen Bitmuster sind korrekt bzw. fehlerhaft? Beispiel korrekt fehlerhaft <leeres Bitmuster> Konstruiere je drei eigene korrekte bzw. fehlerhafte Beispiele: korrekte Beispiele fehlerhafte Beispiele 6-3 Wintersemester 2017/18, Einführung in die Praktische Informatik

5 Aufgabe 3: Beispiel Bitmuster II Das folgende Syntaxdiagramm ist eine kleine Abwandlung des vorherigen Syntaxdiagramms Bitmuster aus Quizaufgabe 2. Bitmuster II 0 Bitmuster II 1 Welche der folgenden sechs gegebenen Bitmuster sind korrekt bzw. fehlerhaft? Beispiel korrekt fehlerhaft Konstruiere vier Beispiele, die nach obigem Syntaxdiagramm Bitmuster II korrekt, aber nach dem Syntaxdiagramm Bitmuster aus Quizaufgabe 2 fehlerhaft sind: Welche der folgenden Syntaxdiagramme ist mit Bitmuster II identisch? Alle Bitmuster III Bitmuster V Bitmuster IV Bitmuster Bitmuster Bitmuster 0 1 Einführung in die Praktische Informatik, Wintersemester 2017/18 6-4

6 Teil III: Fehlersuche Aufgabe 1: Kleine Fehlersuche Im folgenden Syntaxdiagramm befinden sich vier kleine Fehler. Finde, erkläre und korrigiere diese. Label a..z Fehler Erläuterung Korrektur kein Eingang Das Syntaxdiagramm hat keinen Eingang. Dieser sollte vermutlich ganz links oben sein, da dies so üblich ist. links oben kein Ausgang Das Syntaxdiagramm hat keinen Ausgang. Dieser sollte vermutlich ganz rechts oben sein, da dies so üblich ist. rechts oben Sackgasse Am Schnittpunkt zwischen 0..9 treffen alle Pfeile aufeinander. Wenn man hier ankommt, gibt es kein Weiterkommen. Mindestens einer der Pfeile muss gedreht werden. Pfeil drehen unerreichbar Eine mögliche Korrektur: Label Das Nichtterminalsymbol 0..9 kann nicht erreicht werden. Daher muss einer der beiden Pfeile (zur rechten bzw. linken) gedreht werden. a..z Pfeil drehen 6-5 Wintersemester 2017/18, Einführung in die Praktische Informatik

7 Teil IV: Anwendungen Aufgabe 1: Ein erstes, einfaches Syntaxdiagramm In dieser Aufgabe sind nur Folgen von Nullen (0) und Einsen (1) erlaubt, die mit beliebig vielen Nullen anfangen, mit beliebig vielen Einsen aufhören und dazwischen nichts anderes haben. Konstruiere ein Syntaxdiagramm für die folgenden Beispiele: korrekte Beispiele fehlerhafte Beispiele Nullen und Einsen 0 1 Aufgabe 2: Ein zweites, einfaches Syntaxdiagramm Nun sind beliebige Folgen von Nullen (0) und Einsen (1) erlaubt. Nur muss eine korrekte Folge mit zwei Einsen (1) anfangen und mit zwei Nullen (0) aufhören. Konstruiere ein Syntaxdiagramm für die folgenden Beispiele: korrekte Beispiele fehlerhafte Beispiele Einsen und Nullen Einführung in die Praktische Informatik, Wintersemester 2017/18 6-6

8 Aufgabe 3: Ein etwas komplexeres Syntaxdiagramm Konstruiere ein Syntaxdiagramm für die folgenden Beispiele. Die Sequenzen müssen wie folgt aufgebaut sein: 1. Sie muss mit zwei Einsen (1) oder einer Null (0) anfangen. 2. Sie muss mit einer Eins (1) oder zwei Nullen (0) aufhören. 3. Dazwischen dürfen sich beliebige Folgen von einem A, zwei Bs oder drei Cs befinden. korrekte Beispiele fehlerhafte Beispiele 11BBACCC00 1ABBCCC00 0BBACCC00 11CC00 11AAAA00 0ABAB ABB1CCC00 Etwas komplexere 0en und 1en 11 0 A 1 BB 00 CCC Aufgabe 4: Ein letztes Syntaxdiagramm Die Schwierigkeit dieser letzten Aufgabe besteht darin, dass nur Beispiele und keine Definition gegeben ist. Versuche zunächst das zugrunde liegende Prinzip aus den Beispielen abzuleiten. Konstruiere anschließend ein Syntaxdiagramm, das die folgenden Beispiele richtig klassifiziert: korrekte Beispiele fehlerhafte Beispiele 0a a 1a 0 001a 0a1 101a 001a a a a a1010 Etwas komplexere Nullen und Einsen 1 a Wintersemester 2017/18, Einführung in die Praktische Informatik

Übungspaket 9 Logische Ausdrücke

Übungspaket 9 Logische Ausdrücke Übungspaket 9 Logische Ausdrücke Übungsziele: Skript: 1. Umgang mit logischen Vergleichs- und Verknüpfungsoperatoren 2. Bilden einfacher und komplexer logischer Ausdrücke Kapitel: 22 Semester: Wintersemester

Mehr

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungsziele: Skript: 1. Die Bedeutung des Programmierens für mein Studium und meine spätere Berufstätigkeit 2. Was ist eine erfolgreiche Lernstrategie?

Mehr

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungsziele: Skript: 1. Die Bedeutung des Programmierens für mein Studium und meine spätere Berufstätigkeit 2. Was ist eine erfolgreiche Lernstrategie?

Mehr

Übungspaket 12 Der Datentyp char

Übungspaket 12 Der Datentyp char Übungspaket 12 Der Datentyp char Übungsziele: Skript: 1. Umgang mit dem Datentyp char, 2. Deklarationen von char-variablen, 3. char-konstanten 4. und char-rechenoperationen. Kapitel: 29 bis 31 sowie 24,

Mehr

Übungspaket 14 Eindimensionale Arrays

Übungspaket 14 Eindimensionale Arrays Übungspaket 14 Eindimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung eindimensionaler Arrays Kapitel: 33 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Übungspaket 7 Angemessenes Formatieren von C-Programmen

Übungspaket 7 Angemessenes Formatieren von C-Programmen Übungspaket 7 Angemessenes Formatieren von C-Programmen Übungsziele: Skript: 1. Gute Layout-Struktur durch Einrücken. Richtiges Verwenden von Kommentaren Kapitel: 19 Semester: Wintersemester 016/17 Betreuer:

Mehr

Übungspaket 13 Der Datentyp double

Übungspaket 13 Der Datentyp double Übungspaket 13 Der Datentyp double Übungsziele: Skript: 1. Umgang mit dem Datentyp double, 2. Deklarationen von double-variablen, 3. double-konstanten 4. und double-rechenoperationen. Kapitel: 32 Semester:

Mehr

Übungspaket 8 Datentyp int

Übungspaket 8 Datentyp int Übungspaket 8 Datentyp int Übungsziele: Skript: 1. Umgang mit dem Datentyp int, 2. Deklarationen von int-variablen, 3. int-konstanten 4. und int-rechenoperationen. Kapitel: 21 Semester: Wintersemester

Mehr

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 23 Mehrdimensionale Arrays Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 23 Mehrdimensionale Arrays Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Übungspaket 32 Einfach verkettete, sortierte Liste

Übungspaket 32 Einfach verkettete, sortierte Liste Übungspaket 32 Einfach verkettete, sortierte Liste Übungsziele: Skript: 1. Aufbau einer einfach verketteten, sortierten Liste 2. Traversieren von Listen 3. Vereinfachung durch ein Dummy-Element Kapitel:

Mehr

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free() Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten

Mehr

Übungspaket 5 Abstrakte Programmierung

Übungspaket 5 Abstrakte Programmierung Übungspaket 5 Abstrakte Programmierung Übungsziele: Skript: 1. Strukturierung einer gegebenen Aufgabe, 2. Bearbeitung von Arbeitsabläufen des alltäglichen Lebens mittels Struktogrammen 3. und der Methode

Mehr

Übungspaket 20 Zeiger und Zeigervariablen

Übungspaket 20 Zeiger und Zeigervariablen Übungspaket 20 Zeiger und Zeigervariablen Übungsziele: Skript: 1. Definition von Zeigervariablen 2. Verwendung von Zeigern 3. Arrays und Adressberechnungen Kapitel: 45 und 46 Semester: Wintersemester 2017/18

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme Stefan Brass: OOP (Java), 3. 1/31 Objektorientierte Programmierung Kapitel 3: Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/ brass/oop14/

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen "Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08

Mehr

Syntax. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik

Syntax. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Organisatorisches CIP-Kennungen: Hat jeder eine CIP-Kennung? Weiterleitung der Emails

Mehr

Programmieren I. Formale Sprachen. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Formale Sprachen. www.kit.edu. Institut für Angewandte Informatik Programmieren I Formale Sprachen KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Formale Sprachen: Allgemeines Sprachen werden

Mehr

Kapitel 2. Methoden zur Beschreibung von Syntax

Kapitel 2. Methoden zur Beschreibung von Syntax 1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg

Mehr

Syntax. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Syntax. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-16-17/infoeinf WS16/17 Organisatorisches Wir werden socrative nutzen, um während der Zentralübung

Mehr

Sprachen sind durch folgenden Aufbau gekennzeichnet:

Sprachen sind durch folgenden Aufbau gekennzeichnet: BNF UND SYNTAXDIAGRAMME 1. Allgemeines 1.1 Aufbau von Sprachen BNF und Syntaxdiagramme werden verwendet, um die Syntax einer Sprache darzustellen und graphisch zu veranschaulichen. Mit ihnen können entweder

Mehr

Kapitel 5: Syntaxdiagramme und Grammatikregeln

Kapitel 5: Syntaxdiagramme und Grammatikregeln 5. Syntaxdiagramme und Grammatikregeln 5-1 Objektorientierte Programmierung (Winter 2010/2011) Kapitel 5: Syntaxdiagramme und Grammatikregeln Syntaxdiagramme Grammatikregeln (kontextfrei) Beispiele: Lexikalische

Mehr

Kapitel IV Formale Sprachen und Grammatiken

Kapitel IV Formale Sprachen und Grammatiken Kapitel IV Formale Sprachen und Grammatiken 1. Begriffe und Notationen Sei Σ ein (endliches) Alphabet. Dann Definition 42 1 ist Σ das Monoid über Σ, d.h. die Menge aller endlichen Wörter über Σ; 2 ist

Mehr

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Formale Beschreibung von Programmiersprachen Lexikalische Regeln Definition von Wörtern (Lexem, Token) Gruppierung von Zeichen Lexikalische Kategorien: Klassen ähnlicher

Mehr

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale

Mehr

Kapitel 2. Methoden zur Beschreibung von Syntax

Kapitel 2. Methoden zur Beschreibung von Syntax 1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 1: Grundlagen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Ziel Einführung der wichtigsten

Mehr

Alphabet, formale Sprache

Alphabet, formale Sprache n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l

Mehr

Übungspaket 22 Rekursive Funktionsaufrufe

Übungspaket 22 Rekursive Funktionsaufrufe Übungspaket 22 Rekursive Funktionsaufrufe Übungsziele: Skript: 1. Technische Voraussetzungen für rekursive Funktionsaufrufe 2. Umsetzung mathematisch definierter Rekursionen in entsprechende C-Programme

Mehr

Übungspaket 4 Funktionszeiger

Übungspaket 4 Funktionszeiger Übungspaket 4 Funktionszeiger Übungsziele: Literatur: 1. Verstehen von Funktionszeigern. 2. Anwenden von Funktionszeigern. C-Skript 1, Kapitel: 85 Semester: Wintersemester 2017/18 Betreuer: Kevin, Peter

Mehr

Übungspaket 13 Der Datentyp double

Übungspaket 13 Der Datentyp double Übungspaket 13 Der Datentyp double Übungsziele: Skript: 1. Umgang mit dem Datentyp double, 2. Deklarationen von double-variablen, 3. double-konstanten 4. und double-rechenoperationen. Kapitel: 32 Semester:

Mehr

Übungspaket 11 Schleifen

Übungspaket 11 Schleifen Übungspaket 11 Schleifen Übungsziele: Skript: 1. Umgang mit den Schleifen in C. Wahl des richtigen Schleifentyps 3. Umwandlung der Schleifen ineinander Kapitel: 6 bis 8 Semester: Wintersemester 017/18

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE3-Syntaxdiagramme (Stand 05.11.2010) Aufgabe 1: Entwickeln Sie Regeln zur Übersetzung von EBNF in Syntaxdiagramme. Aufgabe 2: Eine Zahl ist entweder

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften

Mehr

Kapitel II. Vektoren und Matrizen

Kapitel II. Vektoren und Matrizen Kapitel II. Vektoren und Matrizen Vektorräume A Körper Auf der Menge R der reellen Zahlen hat man zwei Verknüpfungen: Addition: R R R(a, b) a + b Multiplikation: R R R(a, b) a b (Der Malpunkt wird oft

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV 1 Wir betrachten die folgende Signatur

Mehr

3. Für beliebiges A bezeichnet man die Menge A A manchmal auch mit A 2 (in Worten:

3. Für beliebiges A bezeichnet man die Menge A A manchmal auch mit A 2 (in Worten: 35 4 Paarungen 4. Produktmengen Die Mengen {x, y} und {y, x} sind gleich, weil sie die gleichen Elemente enthalten. Manchmal legt man aber zusätzlich Wert auf die Reihenfolge der Elemente. Die Objekte

Mehr

syntax.tex Eine Übersicht

syntax.tex Eine Übersicht syntax.tex Eine Übersicht Bernd Worsch 7. Juli 1997 Inhaltsverzeichnis 1 Einleitung 1 2 Bevor es funktioniert... 1 3 Grundelemente von syntax.tex 1 4 Strukturelemente von syntax.tex 3 5 Setzen von Syntaxdiagrammen

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 6: formale Sprachen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/18 Überblick Formale Sprachen Formale Sprachen

Mehr

7. Syntax: Grammatiken, EBNF

7. Syntax: Grammatiken, EBNF 7. Syntax: Grammatiken, EBNF Teil 1 Sehr schönes Beispiel für Notwendigkeit der Theoretischen Informatik für Belange der Praktischen Informatik Vertiefung in: Einführung in die Theoretische Informatik

Mehr

Informatik Praktikum 2

Informatik Praktikum 2 Michael Roth, Andreas Behr Praktikum 2 Informatik Praktikum 2 Michael Roth Andreas Behr michael.roth@h-da.de andreas.behr@h-da.de 1 Erster Aufgabenteil: Knobelaufgaben Die folgenden Aufgaben sind aus einem

Mehr

6 F O R M A L E S P R A C H E N. 6.1 formale sprachen

6 F O R M A L E S P R A C H E N. 6.1 formale sprachen 6.1 formale sprachen 6 F O R M A L E S P R A C H E N Eine natürliche Sprache umfasst mehrere Aspekte, z. B. Aussprache und Stil, also z. B. Wortwahl und Satzbau. Dafür ist es auch notwendig zu wissen,

Mehr

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 6 7 7 8 8 12 err. Punkte Gesamtpunktzahl: Note: 1 Aufgabe 1 (3+1+1+1 = 6 Punkte) Es seien

Mehr

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein! 4 Turingmaschinen Eingabeband nicht nur lesen, sondern auch schreiben kann und die zudem mit ihrem Lese-Schreib-Kopf (LSK) nach links und rechts gehen kann. Das Eingabeband ist zudem in beide Richtungen

Mehr

Aufgaben zu Symmetrieoperationen

Aufgaben zu Symmetrieoperationen Aufgaben zu Symmetrieoperationen Bitte bearbeitet die nachfolgenden Aufgaben innerhalb der nächsten Stunde in kleinen Gruppen. Wenn ihr nicht weiterkommt, überspringt die Aufgabe oder fragt nach Hilfe.

Mehr

Mathematische Grundlagen der Computerlinguistik Bäume

Mathematische Grundlagen der Computerlinguistik Bäume Mathematische Grundlagen der Computerlinguistik Dozentin: Wiebke Petersen 6. Foliensatz (basierend auf Folien von Gerhard Jäger) Wiebke Petersen math. Grundlagen 1 Baumdiagramme Ein Baumdiagramm eines

Mehr

Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks

Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks Übungsziele: Skript: 1. Der Software Life Cycle im Überblick. Umgang mit Editor und Compiler 3. Editieren und Starten eines eigenen Programms

Mehr

Kapitel 4: Syntaxdiagramme und Grammatikregeln

Kapitel 4: Syntaxdiagramme und Grammatikregeln 4. Syntaxdiagramme und Grammatikregeln 4-1 Objektorientierte Programmierung (Winter 2006/2007) Kapitel 4: Syntaxdiagramme und Grammatikregeln Syntaxdiagramme Grammatikregeln (kontextfrei) Beispiele: Lexikalische

Mehr

Grundbegriffe. Grammatiken

Grundbegriffe. Grammatiken Grammatiken Grammatiken in der Informatik sind ähnlich wie Grammatiken für natürliche Sprachen ein Mittel, um alle syntaktisch korrekten Sätze (hier: Wörter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte

Mehr

Vorlesung. Prof. Janis Voigtländer Übungsleitung: Dennis Nolte. Mathematische Strukturen Sommersemester 2017

Vorlesung. Prof. Janis Voigtländer Übungsleitung: Dennis Nolte. Mathematische Strukturen Sommersemester 2017 Vorlesung Mathematische Strukturen Sommersemester 017 Prof. Janis Voigtländer Übungsleitung: Dennis Nolte Kombinatorik: Einführung Es folgt eine Einführung in die abzählende Kombinatorik. Dabei geht es

Mehr

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten Kapitel 3: Reguläre Grammatiken und Endliche Automaten Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 090 Wien Tel. : 0/4277 38825 E-mail : brezany@par.univie.ac.at

Mehr

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden Maike Buchin 8. Februar 26 Stef Sijben Probeklausur Theoretische Informatik Bearbeitungszeit: 3 Stunden Name: Matrikelnummer: Studiengang: Geburtsdatum: Hinweise: Schreibe die Lösung jeder Aufgabe direkt

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung! Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:

Mehr

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung) Tutorium 23 Grundbegriffe der Informatik (10. Sitzung) Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum Karlsruhe GmbH and Universität

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann sind Codes eindeutig entschlüsselbar? Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C

Mehr

Elementare Geometrie Wiederholung 1

Elementare Geometrie Wiederholung 1 Elementare Geometrie Wiederholung 1 Thomas Zink 3.7.2017 Parallelverschiebung, Aufgabe 1 Es seien g und h zwei Geraden. Es sei AB eine Strecke. Man zeichne eine Strecke A 1 B 1, die die beiden Geraden

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 19: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik

Mehr

http://scratch.mit.edu/!

http://scratch.mit.edu/! Scratch in 3 Stunden Hallo, ich bin Minti Mint, und in diesem Heft zeige ich dir, wie du ganz einfach dein eigenes Computerspiel programmieren kannst! Bernd Gärtner Scratch ist eine Programmiersprache,

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Rolf Socher ISBN 3-446-22987-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22987-6 sowie im Buchhandel Einführung.. 13 2 Endliche

Mehr

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7 Prof. J. Esparza Technische Universität München S. Sickert, J. Krämer KEINE ABGABE Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt 7 Übungsblatt Wir unterscheiden zwischen Übungs-

Mehr

KARL-FRANZENS-UNIVERSITÄT GRAZ. Seminar aus Reiner Mathematik. Die Museumswächter. Krupic Mustafa Wintersemester 2013/14

KARL-FRANZENS-UNIVERSITÄT GRAZ. Seminar aus Reiner Mathematik. Die Museumswächter. Krupic Mustafa Wintersemester 2013/14 KARL-FRANZENS-UNIVERSITÄT GRAZ Seminar aus Reiner Mathematik Die Museumswächter Krupic Mustafa Wintersemester 2013/14 Inhaltsverzeichnis 2 Inhaltsverzeichnis 1 Einleitung 3 2 Museumswächter-Satz 6 2.1

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

1 Die Chomsky-Hirachie

1 Die Chomsky-Hirachie Hans U. imon Bochum, den 7.10.2008 Annette Ilgen Beispiele zur Vorlesung Theoretische Informatik W 09/10 Vorbemerkung: Hier findet sich eine ammlung von Beispielen und Motivationen zur Vorlesung Theoretische

Mehr

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

3.6 Einführung in die Vektorrechnung

3.6 Einführung in die Vektorrechnung 3.6 Einführung in die Vektorrechnung Inhaltsverzeichnis Definition des Vektors 2 2 Skalare Multiplikation und Kehrvektor 4 3 Addition und Subtraktion von Vektoren 5 3. Addition von zwei Vektoren..................................

Mehr

Deterministische endliche Automaten - Wiederholung

Deterministische endliche Automaten - Wiederholung Deterministische endliche Automaten - Wiederholung Die folgende Klasse Zahl stellt einen endlichen Automaten dar. Ermittle die Größen des Automaten und zeichne den Zustandsgraphen. Gib Zeichenfolgen an,

Mehr

Formale Methoden 1. Gerhard Jäger 28. November Uni Bielefeld, WS 2007/2008 1/15

Formale Methoden 1. Gerhard Jäger 28. November Uni Bielefeld, WS 2007/2008 1/15 1/15 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 28. November 2007 2/15 Formale Sprache: Menge von Symbolketten Theorie formaler Sprachen Formale Sprachen

Mehr

Informatik I Tutorium WS 07/08

Informatik I Tutorium WS 07/08 Informatik I Tutorium WS 07/08 Vorlesung: Prof. Dr. F. Bellosa Übungsleitung: Dipl.-Inform. A. Merkel Tutorium: 12 Tutor: Jens Kehne Tutorium 3: Dienstag 13. November 2007 Übersicht Tutorium Übersicht

Mehr

Kontextfreie Grammatiken

Kontextfreie Grammatiken Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt

Mehr

1.2. Mengen, Zahlen, Intervalle und Produkte

1.2. Mengen, Zahlen, Intervalle und Produkte 1.2. Mengen, Zahlen, Intervalle und Produkte Zahlen Einige Zahlenmengen werden mit besonderen Buchstaben bezeichnet. Die kleinste aller Mengen ist die leere Menge { }, die überhaupt kein Element enthält.

Mehr

Formale Sprachen, reguläre und kontextfreie Grammatiken

Formale Sprachen, reguläre und kontextfreie Grammatiken Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache

Mehr

Übungsaufgaben zu Formalen Sprachen und Automaten

Übungsaufgaben zu Formalen Sprachen und Automaten Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel

Mehr

Gleiche Vorgehensweise wie beim Einheitsvektor in der Ebene (also wie bei 2D).Beispiel:

Gleiche Vorgehensweise wie beim Einheitsvektor in der Ebene (also wie bei 2D).Beispiel: VEKTOREN Vektoren im Raum (3D) Länge/Betrag eines räumlichen Vektors Um die Länge eines räumlichen Vektors zu bestimmen, berechnen wir dessen Betrag. Auch hier rechnet man genauso wie bei einem zweidimensionalen

Mehr

3. Methodik der Programmerstellung

3. Methodik der Programmerstellung 3. Methodik der Programmerstellung 3.1 Vorgehen 3.2 Programmerstellung 3.2.1 Konventionen 3.2.2 Schlüsselwörter und Bezeichner 3.2.3 Fehlertypen 3.2.4 Programmierstil 3.3 Formaler Aufbau eines Pascal-Programms

Mehr

Mathematik für Anwender I

Mathematik für Anwender I Prof. Dr. H. Brenner Osnabrück WS 2011/2012 Mathematik für Anwender I Vorlesung 2 Körper Wir werden nun die Eigenschaften der reellen Zahlen besprechen. Grundlegende Eigenschaften von mathematischen Strukuren

Mehr

Einführung in die Programmierung für NF. Rückgabewerte, EBNF, Fallunterscheidung, Schleifen

Einführung in die Programmierung für NF. Rückgabewerte, EBNF, Fallunterscheidung, Schleifen Einführung in die Programmierung für NF Rückgabewerte, EBNF, Fallunterscheidung, Schleifen FUNKTIONEN UND PROZEDUREN 3 Rückgabewerte, EBNF, Fallunterscheidung, Schleifen 2 Funk@on und Prozedur Methoden

Mehr

Wirtschaftsmathematik Plus für International Management (BA) und Betriebswirtschaft (BA)

Wirtschaftsmathematik Plus für International Management (BA) und Betriebswirtschaft (BA) Wirtschaftsmathematik Plus für International Management (BA) und Betriebswirtschaft (BA) Wintersemester 2012/13 Hochschule Augsburg Lineare : Einführung Beispiele linearer a) b) c) 2x 1 3x 2 = 1 x 1 +

Mehr

Informatik IC2. Balazs Simon

Informatik IC2. Balazs Simon Informatik IC2 Balazs Simon Inhaltsverzeichnis 1 Contextfreie Sprachen 3 1.1 Ableitungsbaum..................................... 3 1.2 Schönheit........................................ 4 1.3 Normalformen......................................

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre

Mehr

& sind die Vektorkomponenten von und sind die Vektorkoordinaten von. A x. a) Der Betrag eines Vektors

& sind die Vektorkomponenten von und sind die Vektorkoordinaten von. A x. a) Der Betrag eines Vektors Einführu hnung Was ist ein Vektor? In Bereichen der Naturwissenschaften treten Größen auf, die nicht nur durch eine Zahlenangabe dargestellt werden können, wie Kraft oder Geschwindigkeit. Zur vollständigen

Mehr

Die Kapitel 1 und 2.1 haben wir im Jahr 2012 behandelt. Im Zirkel am haben wir mit Kapitel 2.2 begonnen.

Die Kapitel 1 und 2.1 haben wir im Jahr 2012 behandelt. Im Zirkel am haben wir mit Kapitel 2.2 begonnen. Das vorliegende Skript beschäftigt sich mit dem Thema Elementargeometrie. Das Skript entsteht entlang einer Unterrichtsreihe in der Mathematischen Schülergesellschaft(MSG) im Schuljahr 2012/2013. Die vorliegende

Mehr

LibMacAddressDB. Version 1.0. Marko Schröder

LibMacAddressDB. Version 1.0. Marko Schröder Technische LibMacAddressDB Dokumentation Version 1.0 Marko Schröder 1115063 Inhalt LibMacAddressDB... 3 Einleitung... 3 Bereitgestellte Variablen... 3 Bereitgestellte Methoden... 3 UML... 5 LibMacAddressDB

Mehr

Einführung in die Informatik. Programming Languages

Einführung in die Informatik. Programming Languages Einführung in die Informatik Programming Languages Beschreibung von Programmiersprachen Wolfram Burgard Motivation und Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

Mehr

7. Formale Sprachen und Grammatiken

7. Formale Sprachen und Grammatiken 7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)

Mehr

Didaktik der Geometrie

Didaktik der Geometrie Jürgen Roth Didaktik der Geometrie Modul 5: Fachdidaktische Bereiche 3.1 Inhalt Didaktik der Geometrie 1 Ziele und Inhalte 2 Begriffsbildung 3 Konstruieren 4 Argumentieren und Beweisen 5 Problemlösen 6

Mehr

Drei Lernbausteine für garantiert bessere Noten!

Drei Lernbausteine für garantiert bessere Noten! 2. Klasse Drei Lernbausteine für garantiert bessere Noten! WISSEN ÜBEN TESTEN 7 1 1 2 3 + 8 2 5 So lernst du mit diesem Buch: Wissen Hier findest du auf einen Blick die wichtigsten Erklärungen und Regeln

Mehr

Lernunterlagen Vektoren in R 2

Lernunterlagen Vektoren in R 2 Die Menge aller reellen Zahlen wird mit R bezeichnet, die Menge aller Paare a 1 a 2 reeller Zahlen wird mit R 2 bezeichnet. Definition der Menge R 2 : R 2 { a 1 a 2 a 1, a 2 R} Ein Zahlenpaar a 1 a 2 bezeichnet

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 6: formale Sprachen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik November 2008 1/14 Überblick Formale Sprachen Formale Sprachen Produkt formaler Sprachen

Mehr

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungsziele: Skript: 1. Die Bedeutung des Programmierens für mein Studium und meine spätere Berufstätigkeit 2. Was ist eine erfolgreiche Lernstrategie?

Mehr