Compiler, Übersetzer. Allgemeine Erklärung / Definition

Größe: px
Ab Seite anzeigen:

Download "Compiler, Übersetzer. Allgemeine Erklärung / Definition"

Transkript

1 Compiler, Übersetzer Allgemeine Erklärung / Definition Ein Übersetzer ist ein Programm, das ein S 1 -Wort den Quelltext in ein S 2 -Wort umwandelt den Zieltext wobei die Semantik erhalten bleibt. Frage: Welche Semantik? Beispiele LaTex-File, wird in ps- oder pdf-datei übersetzt Word-File, wird nach HTML übersetzt XSLT für XML-Dokumente Programme einer Programmiersprache werden nach C übersetzt. P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 1

2 Compiler für Programmiersprachen Ein Übersetzer (Compiler) ist ein Programm, das ein S 1 -Wort das Quellprogramm in ein S 2 -Wort umwandelt das Zielprogramm mit äquivalenter (operationaler) Semantik. Beispiele Programme einer Programmiersprache: ( Haskell, Java, Python, PASCAL, Assembler) Werden übersetzt nach C, Assembler, oder Maschinenkode Die Ausführung soll korrekt sein! P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 2

3 Typische Anwendungsfälle für Compiler: Haskell-Programm C Programm Assembler Compiler: S 1 -Programme S 2 -Programme dann S 2 Assembler P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 3

4 Interpreter Ein Ein Interpreter ist ein Programm, das den Text eines Programms einliest und dann ausführt, i.a. ohne ein Programm in einer anderen Sprache zu erzeugen. Die operationale Semantik einer Programmiersprache entspricht der Spezifikation eines Interpreters. D.h. Erhaltung der Semantik: entspricht: kompiliertes und interpretiertes Programm sind nicht unterscheidbar (bis auf Effizienz) P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 4

5 T-Diagramme Zweck der T-Diagramme: übersichtliches Zusammenbauen eines Compilers/Interpreters aus anderen T-Diagramm: Programm der Sprache S 1 -Programm S 2 -Programm Übersetzer ist S 3 -Programm Intp : S 3-Programme kann man ausführen. S 1 S 2 S 1 S 2 S 3 S 3 S 3 Intp P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 5

6 Beispiel: Benutzung der T-Diagramme (1) Zusammensetzen von Compilern Übersetzung von S 1 nach S 2 und dann von S 2 nach S 3 : im Extremfall werden zwei verschiedene Interpreter benötigt S1 S2 S2 S3 S 4 S 5 S4 Intp S5 Intp P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 6

7 Beispiel: Benutzung der T-Diagramme (2) Zusammensetzen zweier Compiler Man hat Interpreter für S 5, S 6, einen S 4 -Übersetzer von S 1 nach S 2, einen S 6 -Übersetzer von S 4 nach S 5, keinen Interpreter für S 4. Konstruktion eines S 5 -Übersetzer von S 1 nach S 2 das rechteste T-Diagramm ist der resultierende Compiler S1 S2 S1 S2 S4 S4 S5 S5 S6 S5 Intp S6 Intp Die S i müssen nicht alle verschieden sein P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 7

8 Beispiel: Benutzung der T-Diagramme: Bootstrapping Anwendung: Konstruktion einer (eigenen) Programmiersprache der zugehörige Compiler soll schon in dieser Programmiersprache P geschrieben sein Schritt 1: Schritt 2 Schritt 3 Interpreter/Compiler für einen möglichst kleinen Ausschnitt P CORE in einer gängigen Programmiersprache, Compiler (Transformation) von P L P CORE, geschrieben in P CORE Compiler (Transformation) von P XXL P L, geschrieben in P L (Bootstrapping: wie man sich selbst aus dem Sumpf zieht) P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 8

9 T-Diagramme zu Bootstrapping PL P COR PL P COR P COR C P COR P COR C C C C C Intp C Intp C Intp Resultat P L C C C Intp P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 9

10 T-Diagramme zu Bootstrapping (2) Darauf aufbauend, kann man weiter konstruieren: P XXL P L P XXL P L P L C P L P L C C C C C Intp C Intp C Intp P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 10

11 Formen einer Semantik operationale Semantik: Effekt der Anweisungen als Ausgabe oder im Hauptspeicher. denotationale Semantik: mathematische Bedeutung der Programmkonstrukte. axiomatische Semantik: Logischen Eigenschaften der Programmkonstrukte. Prädikatenlogik / axiomatische Beschreibung der operationalen Semantik (z.b. Axiome von Hoare und Dijkstra) transformationelle Semantik Transformationsregeln in andere Programmkonstrukte. P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 11

12 Anwendungen des Übersetzens Compiler für höhere Programmiersprachen: Haskell, Java, Lisp, PASCAL, PROLOG, Python, C, Ada, Assemblersprache Maschinenkode operationale Semantik des Prozessors (der Maschinenbefehle) Prozessorspezifisch Da es eine operationale Semantik der Maschinenbefehle des Prozessors gibt, kann man einen Interpreter dazu auf einem anderen Prozessor implementieren, Emulation P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 12

13 Weitere Anwendungen der Übersetzung Textverarbeitungssprachen, z.b. die Sprache von TeX bzw. LaTeX. Datenaustauschformaten, z.b. EDIF (Electronic Data Interchange Format) Hardwarebeschreibungssprachen, z.b. VHDL (Hardware Description Language) VHSIC: Very High-Speed Integrated Circuit Analysieren und Ausführen von Kommandosprachen usw. P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 13

14 Phasen eines Compilers Lexikalische Analyse (Scanning): IF 13 == X1 THEN A wird zu: ( IF, 13, ==, X1, THEN, A ) Syntaxanalyse(parsing): IF 13 == X1 THEN A Semantische Analyse Typ-check, Kontextprüfung (z.b. Deklaration vor Verwendung) Zwischencode-Erzeugung: Code für abstrakte Maschine Codeoptimierung: Verbesserung des Zwischencodes. Code-Erzeugung: Programm (i.a. Assembler) für reale Maschine P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 14

15 Weitere mögliche Komponenten/ Phasen Einleseroutine Zeichenbehandlung. Es gibt Standards der Zeichenkodierung Präprozessor Expansion / Modifikation des Quellprogramms Assembler übersetzt das Assemblerprogramm in Objektcode. Binder/Lader Umsetzung in ausführbaren Maschinenkode plus Hinzunahme von anderem Objektcode z.b aus Bibliothek P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 15

16 Komponenten zu alle Phasen die Symboltabelle Datenstruktur: wesentlichen Attribute: Typ, Gültigkeitsbereich, Wert,... ) der Bezeichner eines Quellprogramms die Fehlerbehandlung Fehleranalyse, Fehlermeldung, Lokalisierung des Fehlers. Eventuelle automatische Reparatur und Fortsetzung der Übersetzung. P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 16

17 Front-End / Back-End Zur Unterstützung der Portierbarkeit: Aufteilung in Front-End und Back-End: Front-End: maschinenunabhängiger Teil (z.b. Syntaxanalyse, lexikalische Analyse, Typüberprüfung, Zwischencode-Erzeugung, Zwischencode-Optimierung). Back-End: maschinenspezifischer Teil (z. B. I/O, Codegenerierung) P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 17

18 Programmiersprache: Syntax Fragestellung: Mit welchem Mechanismus beschreibt man gültige S-Programme? Akzeptiertes (und erfolgreiches) Vorgehen der Informatik: gültige S-Programme (als Text) sind Worte einer formalen Sprache L S Beschreibung einer Obermenge L(G) der formalen Sprache L S mittels einer kontextfreien Grammatik (CFG) G Weitere Einschränkung von L(G) (durch Bedingungen) ergibt L S. P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 18

19 Andere Möglichkeiten der Beschreibung formaler Sprachen reguläre Ausdrücke kontextfreie Grammatik Syntaxdiagramme kontextsensitive Grammatik Schreiben eines Programms, das alle Wörter erzeugt Schreiben eines Programms, das alle Wörter erkennt P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 19

20 Kontextfreie Grammatik (CFG) 4-Tupel G = (N, T, P, σ) mit 1 N: endliche Menge von Hilfszeichen (Nonterminals) 2 T endliche Menge von Terminalzeichen (Terminals), wobei N T =. 3 P N (N T ) endliche Menge von Regeln (Produktionen) 4 σ N ist Startzeichen Regeln schreibt man auch A w oder A ::= w. Erzeugte Sprache L(G) = erreichbare Worte über T. P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 20

21 Allgemeine Grammatiken erlauben beliebige Strings in (N T ) als linke Seite einer Regel. unbeschränkte Grammatik bzw. Semi-Thue-Systeme kontextsensitiv, wenn für alle Regeln: a w nur wenn a w P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 21

22 Beispiel- CFG für Ausdruck Die Schreibweise ist eine EBNF (extended BNF). Beispiel: Die AZ-Grammatik A ::= A + Z A - Z Z Z ::= P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 22

23 Herleitungen Definition Sei (G = N, T, P, σ) gegeben v v (direkt hergeleitet) gdw. v = αaβ und v = αwβ, und A ::= w eine Regel in G ist. v 1 v n (v n ist aus v 1 herleitbar) gdw. v 2,..., v n 1 (T N), so dass v 1 v 2... v n 1 v n P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 23

24 Herleitungen; Sprache zu G Die erzeugte Sprache L(G) zur Grammatik G ist die Menge der Strings w aus Terminalsymbolen, die aus dem Startsymbol σ hergeleitet werden können: L(G) := {w T σ w} P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 24

25 Beispiel: AZ-Grammatik zu Ausdruck A ::= A+Z A-Z Z Z ::= Startsymbol: A, Nichtterminalsymbole: A, Z Terminalsymbole: {0,..., 9, +, }. Eine Beispiel-Herleitung: A A+Z Z+Z 1+Z 1+2. Somit gilt: A 1+2 Also: 1+2 L(G) P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 25

26 Rechts- und Linksherleitungen Linksherleitung: Rechtsherleitung: Ersetze stets das linkeste Nichtterminal Ersetze stets das rechteste Nichtterminal Die AA-Grammatik: A ::= A+A A ::= A - A A ::= Linksherleitung: A A+A 1+A 1+2 Rechtsherleitung: A A+A A P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 26

27 Herleitungsbaum, Parse-Baum Definition Sei G = (N, T, P, σ) eine kontextfreie Grammatik. Ein Herleitungsbaum, (Parse-Baum) eines Wortes w ist ein markierter Baum, so dass folgendes gilt: 1 Jeder Knoten ist mit einem Element aus {ε} N T markiert. 2 Die Wurzel ist mit σ markiert. 3 Innere Knoten sind mit Nichtterminalen markiert. 4 Wenn ein Knoten die Markierung A (ein Nichtterminal) hat und seine Töchter die Markierungen X 1,..., X k (in dieser Reihenfolge), dann ist A ::= X 1... X k eine Regel in P. 5 frontier(b) = w. D.h. das an den Blättern von links nach rechts repräsentierte Wort ist genau w. P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 27

28 Es gilt: Eigenschaften von Herleitungsbäumen zu jeder Herleitung eines Wortes gibt es einen zugehörigen Herleitungsbaum. Ein Herleitungsbaum fasst i.a. mehrere Herleitungen eines Wortes der Sprache aus dem Startsymbol zusammen. Jeder mögliche Durchlauf der Knoten, der Väter vor den Söhnen durchläuft, entspricht einer Herleitung. Zu jedem Herleitungsbaum gibt es genau eine Rechtsherleitung und genau eine Linksherleitung. Meist wird die Bedeutung (oder die Übersetzung) eines Programms anhand des Herleitungsbaumes festgelegt. P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 28

29 Herleitungsbäume Beispiel zu AA-Grammatik A ::= A+A A ::= A - A A ::= Zwei verschiedene Herleitungsbäume für sind: A A - A 1 A + A 2 3 A A + A - A 1 2 A 3 P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 29

30 Eindeutigkeit einer CFG Definition Eine kontextfreie Grammatik G heißt eindeutig, wenn für alle w L(G) genau ein Herleitungsbaum existiert. Andernfalls heißt die Grammatik mehrdeutig. In einer eindeutigen Grammatik gibt es für jedes Wort in L(G) genau eine Rechts-Herleitung und genau eine Links-Herleitung P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 30

31 Beispiel zu äquivalenten Grammatiken Die AA-Grammatik ist äquivalent zur AZ-Grammatik Die Sprachen L(G AA ) = L(G AZ ) enthalten genau die Worte: z 1 op 1 z 2... op n z n+1 mit z i {1, 2, 3, 4, 5, 6, 7, 8, 9, 0} und op i {+, -} Aber: haben verschiedene Herleitungsbäume. P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 31

32 A ::= A+Z A ::= A-Z A ::= Z Z ::= Eindeutige CFG zu A Der einzige (d.h eindeutige) Herleitungsbaum für ist: A A + Z A - Z 3 Z 2 1 P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 32

33 Eindeutige CFG zu Ausdruck A A + Z A - Z 3 Z 2 1 Die (eindeutige) Links-Herleitung kann man am Syntaxbaum ablesen: A A+Z A-Z+Z Z-Z+Z 1-Z+Z 1-2+Z P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 33

34 Syntaxbäume statt Herleitungsbäume Beispiele: IfThenElse IF a THEN b ELSE c a b c P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 34

35 Semantikfestlegung Semantik eines Wortes wird festgelegt mittels Parsebaum / Syntaxbaum Mehrdeutige Grammatik entspricht i.a. mehrdeutiger (d.h. undefinierter) Semantik Reparatur: Erzeuge äquivalente eindeutige Grammatik Äquivalent bzgl L(.) reicht nicht aus für äquivalente Semantik P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 35

36 Grammatiktransformation Seien G 1, G 2 eindeutige Grammatiken. Grammatiktransformation G 1 G 2 mit L(G 1 ) = L(G 2 ) I.a.: Parsebaum 1 (w) Parsebaum 2 (w) Erforderlich: Erhaltung der Semantik: Parsebaum 1 (w) G1 Interpreteraktion(w) Parsebaum 2 (w) G2 Interpreteraktion(w) Diese Semantiktransformation wird leider oft ad-hoc von Hand ausgeführt. P raktische Informatik 2, SS 2005, F olien Kap.4, 1, (8. Juni2005) Seite 36

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

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

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

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

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung

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

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

10 Erweiterung und Portierung

10 Erweiterung und Portierung 10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19 Inhalt 1 inführung 2 Automatentheorie und ormale prachen Grammatiken Reguläre prachen und endliche Automaten Kontextfreie prachen und Kellerautomaten Kontextsensitive und yp 0-prachen 3 Berechenbarkeitstheorie

Mehr

Was ist ein Compiler?

Was ist ein Compiler? Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?

Mehr

Äquivalente Grammatiken / attributierte Grammatik

Äquivalente Grammatiken / attributierte Grammatik Äquivalente Grammatiken / attributierte Grammatik Linksfaktorisierung Elimination von Linksrekursion Umwandlung von EBNF in BNF Attributierte Grammatik Semantikfunktionen und Übersetzungsschema Synthetisierte,

Mehr

Grundlagen der Programmierung 2 (Comp-A)

Grundlagen der Programmierung 2 (Comp-A) Grundlagen der Programmierung 2 (Comp-A) Prof. Dr. Manfred Schmidt-Schauß Künstliche Intelligenz und Softwaretechnologie 16. Juni 2011 Compiler; Übersetzungsprogramme Ein Übersetzer (Compiler) ist ein

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

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. Formale Sprachen 1.2 Grammatiken formaler Sprachen

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen 1. Formale Sprachen 1.2 Grammatiken formaler Sprachen Die Regeln zur Bildung korrekter Wörter einer Sprache kann man in einer natürlichen Sprache formulieren. Da dies jedoch wieder Mehrdeutigkeiten mit

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt

Mehr

Grundlagen der Programmierung 3 A

Grundlagen der Programmierung 3 A Grundlagen der Programmierung 3 A Compiler A: Phasen; Scanner Prof. Dr. Manfred Schmidt-Schauß Sommersemester 2017 Compiler; Übersetzungsprogramme Ein Übersetzer (Compiler) ist ein Programm, das ein Wort

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

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition

Mehr

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die

Mehr

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler Formale Sprachen Der Unterschied zwischen Grammatiken und Sprachen Rudolf Freund, Marian Kogler Es gibt reguläre Sprachen, die nicht von einer nichtregulären kontextfreien Grammatik erzeugt werden können.

Mehr

IT-Basics 2. DI Gerhard Fließ

IT-Basics 2. DI Gerhard Fließ IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte

Mehr

Grundlagen der Programmierung 2 (Comp-A)

Grundlagen der Programmierung 2 (Comp-A) Grundlagen der Programmierung 2 (Comp-A) Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 23. Mai 2007 Compiler; Übersetzungprogramme Ein Übersetzer (Compiler) ist ein Programm,

Mehr

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes) Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Kapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9

Kapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9 Kapitel 4 Einführung in den Scannergenerator Flex Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9 Generatoren für die lexikalische Analyse Scannergeneratoren werden eingesetzt um die

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

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

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

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

DSL Entwicklung und Modellierung

DSL Entwicklung und Modellierung DSL Entwicklung und Modellierung Dipl. Inform. Rolf Hänisch Übersicht DSL, was bedeutet das für uns? Eine Anwendung aus der Automatisierungstechnik Sprachen und Werkzeuge Ergebnisse und Erfahrungen GI

Mehr

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Compiler; Übersetzungsprogramme. Grundlagen der Programmierung 3 A. Compiler für Programmiersprachen. Phasen eines Compilers

Compiler; Übersetzungsprogramme. Grundlagen der Programmierung 3 A. Compiler für Programmiersprachen. Phasen eines Compilers ompiler; Übersetzungsprogramme Grundlagen der Programmierung 3 A ompiler A: Phasen; Scanner Prof. Dr. Manfred Schmidt-Schauß Sommersemester 2017 Ein Übersetzer (ompiler) ist ein Programm, das ein Wort

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

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 11: Abstrakte Reduktionssysteme schulz@eprover.org Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Grammatiken in Prolog

Grammatiken in Prolog 12. Grammatiken in Prolog 12-1 Grammatiken in Prolog Allgemeines: Gedacht zur Verarbeitung natürlicher Sprache. Dort braucht man kompliziertere Grammatiken als etwa im Compilerbau, andererseits sind die

Mehr

Grundlagen der Programmierung 3 A

Grundlagen der Programmierung 3 A Grundlagen der Programmierung 3 A Compiler A: Phasen Lexikalische Analyse; Scanner Prof. Dr. Manfred Schmidt-Schauß Sommersemester 2018 Compiler; Übersetzungsprogramme Ein Übersetzer (Compiler) ist ein

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

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

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Logische Folgerung. Definition 2.11

Logische Folgerung. Definition 2.11 Logische Folgerung Definition 2.11 Sei 2A eine aussagenlogische Formel und F eine endliche Menge aussagenlogischer Formeln aus A. heißt logische Folgerung von F genau dann, wenn I ( ) =1für jedes Modell

Mehr

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup Universität Dortmund Lehrstuhl Informatik VI Grundzüge der Informatik * WS 28/29 Prof. Dr. Joachim Biskup Leitung der Übungen: Arno Pasternak Lösungs-Ideen Übungsblatt 6 A: Grammatiken, Syntaxdiagramme

Mehr

Funktionale Programmierung mit Haskell

Funktionale Programmierung mit Haskell Funktionale Programmierung mit Haskell Prof. Dr. Hans J. Schneider Lehrstuhl für Programmiersprachen und Programmiermethodik Friedrich-Alexander-Universität Erlangen-Nürnberg Sommersemester 2011 I. Die

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Thüringer Kultusministerium. Abiturprüfung 2000

Thüringer Kultusministerium. Abiturprüfung 2000 Thüringer Kultusministerium Arbeitszeit: Hilfsmittel: Abiturprüfung 2000 270 Minuten Leistungsfach Informatik (Haupttermin) Formeln und Tabellen für die Sekundarstufen I und II/ Paetec, Gesellschaft für

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in

Mehr

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Übersetzer: Code-Erzeugung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 Bytecodes Der Java Übersetzer erzeugt keine Maschinensprache

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

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

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

AutoTexte und AutoKorrektur unter Outlook verwenden

AutoTexte und AutoKorrektur unter Outlook verwenden AutoTexte und AutoKorrektur unter Outlook verwenden Die Hilfsmittel "AutoKorrektur" und "AutoTexte", die schon unter Microsoft Word das Arbeiten erleichtern, sind natürlich auch unter Outlook verfügbar.

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Mathematische Grundlagen der Informatik 2

Mathematische Grundlagen der Informatik 2 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Emanuel Duss emanuel.duss@gmail.com 12. April 2013 1 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Dieses Dokument basiert

Mehr

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

8. Quadratische Reste. Reziprozitätsgesetz

8. Quadratische Reste. Reziprozitätsgesetz O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung

Mehr

Übung zum Thema. Abmaße ablesen und Toleranzen berechnen

Übung zum Thema. Abmaße ablesen und Toleranzen berechnen Übung zum Thema Abmaße ablesen und Toleranzen berechnen Grundlage der Übung sind die Tabellen TB2-1 bis TB2-3 im Roloff/Matek Tabellenbuch Vorgehensweise: 1. Bestimmung der Grundtoleranz In TB2-1 stehen

Mehr

2. Vorlesung. Slide 40

2. Vorlesung. Slide 40 2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b

Mehr

Software-Engineering SS03. Zustandsautomat

Software-Engineering SS03. Zustandsautomat Zustandsautomat Definition: Ein endlicher Automat oder Zustandsautomat besteht aus einer endlichen Zahl von internen Konfigurationen - Zustände genannt. Der Zustand eines Systems beinhaltet implizit die

Mehr

Verkehrsteilnehmer. Beispiel: Wir betrachten die Modellierung von Handlungskomponenten wie Verkehrsteilnehmern und Straßen.

Verkehrsteilnehmer. Beispiel: Wir betrachten die Modellierung von Handlungskomponenten wie Verkehrsteilnehmern und Straßen. 7.6 Bedingte Rechte Manchmal sind Rechte nur unter bestimmten Voraussetzungen gültig. Diese Situation beschreiben wir -wie sonst auch üblich- mit bedingten Rechten. Beispiel: Wir betrachten die Modellierung

Mehr

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt AMPEL-Steuerung(en) Die Beschreibung und Programmierung der Ampel (vor allem Ampel_5) können sehr kompliziert

Mehr

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1 Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur

Mehr

Einführung in die Informatik Grammars & Parsers

Einführung in die Informatik Grammars & Parsers Einführung in die Informatik Grammars & Parsers Grammatiken, Parsen von Texten Wolfram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

Mehr

3D-Konstruktion Brückenpfeiler für WinTrack (H0)

3D-Konstruktion Brückenpfeiler für WinTrack (H0) 3D-Konstruktion Brückenpfeiler für WinTrack (H0) Zusammenstellung: Hans-Joachim Becker http://www.hjb-electronics.de 2007 Altomünster, den 25. März 2007 Hans-Joachim Becker - 1 - Vorbemerkung Das Programm

Mehr

Semantik von Formeln und Sequenzen

Semantik von Formeln und Sequenzen Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Syntax (= Satzgefüge), vgl. auch Grammatik

Syntax (= Satzgefüge), vgl. auch Grammatik 1 Natürliche Sprachen Natürliche Sprachen bezeichnen wie das Wort "Sprache" ausdrückt zunächst das Gesprochene. Das Schweizerdeutsch etwa ist eine typische natürliche Sprache. Mit der Erfindung der Aufzeichnung

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische

Mehr

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit 5.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit Einführendes Beispiel ( Erhöhung der Sicherheit bei Flugreisen ) Die statistische Wahrscheinlichkeit, dass während eines Fluges ein Sprengsatz an Bord

Mehr

Erstellen der Barcode-Etiketten:

Erstellen der Barcode-Etiketten: Erstellen der Barcode-Etiketten: 1.) Zuerst muss die Schriftart Code-39-Logitogo installiert werden! Das ist eine einmalige Sache und muss nicht zu jeder Börse gemacht werden! Dazu speichert man zunächst

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

Mehr