Formale Systeme. Die Sprache PROMELA. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Größe: px
Ab Seite anzeigen:

Download "Formale Systeme. Die Sprache PROMELA. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK"

Transkript

1 Formale Systeme Prof. Dr. Bernhard Beckert WS 29/2 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz Association

2 Beschreibung endlicher Automaten Die Darstellung konkreter endlicher Automaten in graphischer Form ist nur für kleine Automaten möglich, für größere, wie sie in realistischen Anwendungen auftreten, ist das nicht praktikabel. Wir betrachten als eine Alternative die Modellierungssprache Promela. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 2/9

3 Beschreibung endlicher Automaten Die Darstellung konkreter endlicher Automaten in graphischer Form ist nur für kleine Automaten möglich, für größere, wie sie in realistischen Anwendungen auftreten, ist das nicht praktikabel. Wir betrachten als eine Alternative die Modellierungssprache Promela. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 2/9

4 Promela Process meta language Modellierungssprache für indeterministische gekoppelte erweiterte endliche Automaten. Entwickelt von Gerard Holzmann seit 98. Weit verbreitetes Verifikationswerkzeug SPIN (Simple Promela INterpreter) Angabe der zu verifizierenden Eigenschaft als LTL Formel oder Büchi-Automat. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 3/9

5 Promela Process meta language Modellierungssprache für indeterministische gekoppelte erweiterte endliche Automaten. Entwickelt von Gerard Holzmann seit 98. Weit verbreitetes Verifikationswerkzeug SPIN (Simple Promela INterpreter) Angabe der zu verifizierenden Eigenschaft als LTL Formel oder Büchi-Automat. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 3/9

6 Promela Process meta language Modellierungssprache für indeterministische gekoppelte erweiterte endliche Automaten. Entwickelt von Gerard Holzmann seit 98. Weit verbreitetes Verifikationswerkzeug SPIN (Simple Promela INterpreter) Angabe der zu verifizierenden Eigenschaft als LTL Formel oder Büchi-Automat. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 3/9

7 Promela Process meta language Modellierungssprache für indeterministische gekoppelte erweiterte endliche Automaten. Entwickelt von Gerard Holzmann seit 98. Weit verbreitetes Verifikationswerkzeug SPIN (Simple Promela INterpreter) Angabe der zu verifizierenden Eigenschaft als LTL Formel oder Büchi-Automat. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 3/9

8 Promela Process meta language Modellierungssprache für indeterministische gekoppelte erweiterte endliche Automaten. Entwickelt von Gerard Holzmann seit 98. Weit verbreitetes Verifikationswerkzeug SPIN (Simple Promela INterpreter) Angabe der zu verifizierenden Eigenschaft als LTL Formel oder Büchi-Automat. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 3/9

9 /* Peterson: mutual exclusion [98] */ bool turn, flag[2]; byte ncrit; { assert(_pid == _pid == ); again: flag[_pid] = ; turn = _pid; (flag[ - _pid] == turn == - _pid); assert(ncrit == ); /* critical section */ flag[_pid] = ; goto again} Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 5/9

10 { assert( pid == pid == ); again: flag[ pid] = ; turn = pid; (flag[ - pid] == turn == - pid); assert(ncrit == ); /* critical section */ flag[ pid] = ; goto again } Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 6/9

11 { assert( pid == pid == ); again: flag[ pid] = ; turn = pid; (flag[ - pid] == turn == - pid); assert(ncrit == ); /* critical section */ flag[ pid] = ; goto again } Promela beschreibt Zustandsübergangssysteme durch die Definition von Prozesstypen (process types). Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 6/9

12 { assert( pid == pid == ); again: flag[ pid] = ; turn = pid; (flag[ - pid] == turn == - pid); assert(ncrit == ); /* critical section */ flag[ pid] = ; goto again } In diesem Beispiel wird der Prozesstyp user() deklariert. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 6/9

13 { assert( pid == pid == ); again: flag[ pid] = ; turn = pid; (flag[ - pid] == turn == - pid); assert(ncrit == ); /* critical section */ flag[ pid] = ; goto again } Die Deklaration eines Prozesstyps bewirkt noch nichts. Erst mit der Erzeugung einer Instanz eines Prozesstypes sind Aktionen verbunden. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 6/9

14 { assert( pid == pid == ); again: flag[ pid] = ; turn = pid; (flag[ - pid] == turn == - pid); assert(ncrit == ); /* critical section */ flag[ pid] = ; goto again } Instanzen eines Prozesstyps werden normalerweise in einem Initialisierungprozess erzeugt, z.b. init { run users(); }. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 6/9

15 { assert( pid == pid == ); again: flag[ pid] = ; turn = pid; (flag[ - pid] == turn == - pid); assert(ncrit == ); /* critical section */ flag[ pid] = ; goto again } active [2] ist eine Abkürzung für init { run users(); run users(); }. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 6/9

16 { assert( pid == pid == ); again: flag[ pid] = ; turn = pid; (flag[ - pid] == turn == - pid); assert(ncrit == ); /* critical section */ flag[ pid] = ; goto again } Prozesse werden in der Reihenfolge ihrer Aktivierung durchnumeriert. Auf diese Nummer kann mit der lokalen Variablen pid zugegriffen werden. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 6/9

17 bool turn, flag[2]; byte ncrit; { assert( pid == pid == ); again: flag[ pid] = ; turn = pid; (flag[ - pid] == turn == - pid); assert(ncrit == ); /* critical section */ flag[ pid] = ; goto again } Globale Variablen, im Beispiel turn, flag[2], ncrit, können von jedem Prozess gelesen und beschrieben werden. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 6/9

18 { assert( pid == pid == ); again: flag[ pid] = ; turn = pid; (flag[ - pid] == turn == - pid); assert(ncrit == ); /* critical section */ flag[ pid] = ; goto again } In Promela ist jeder Ausdruck auch ein Befehl. Ergibt die Auswertung den Wahrheitswert wahr oder einen Wert >, dann geht die Ausführung mit der nächsten Anweisung weiter. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 6/9

19 { assert( pid == pid == ); again: flag[ pid] = ; turn = pid; (flag[ - pid] == turn == - pid); assert(ncrit == ); /* critical section */ flag[ pid] = ; goto again } Andernfalls bleibt der Prozess blockiert bis der Ausdruck durch Aktionen anderer Prozesse wahr wird. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 6/9

20 { assert( pid == pid == ); again: flag[ pid] = ; turn = pid; (flag[ - pid] == turn == - pid); assert(ncrit == ); /* critical section */ flag[ pid] = ; goto again } Falls das Argument des assert Befehls wahr ist geht die Ausführung mit der nächsten Zeile weiter, anderenfalls wird ein Fehler berichtet und die Simulation oder Verifikation abgebrochen. Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 6/9

21 Generischer Automat zum user Prozess line 8 assert((( pid == ) ( pid == ))) line flag[ pid]= line 8 flag[ pid] = line ncrit = (ncrit - ) turn = pid line 2 line 6 ((flag[- pid]==) (turn == (- pid))) assert(ncrit == ) line 4 ncrit = (ncrit+) line 5 Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 7/9

22 Instanzen des generischen Automaten line 8 line 8 assert((( pid == ) ( pid == ))) assert((( pid == ) ( pid == ))) line flag[]= line 8 line flag[]= line 8 flag[] = flag[] = line ncrit = (ncrit - ) line ncrit = (ncrit - ) turn = turn = line 2 line 6 line 2 line 6 ((flag[]==) (turn == ())) assert(ncrit == ) ((flag[]==) (turn == ))) assert(ncrit == ) line 4 ncrit = (ncrit+) line 5 line 4 ncrit = (ncrit+) line 5 Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 8/9

23 Approximation Produktautomat Prof. Dr. Bernhard Beckert Formale Systeme WS 29/2 9/9

Formale Systeme. Prof. Dr. Bernhard Beckert. Winter 2008/2009. Fakultät für Informatik Universität Karlsruhe (TH)

Formale Systeme. Prof. Dr. Bernhard Beckert. Winter 2008/2009. Fakultät für Informatik Universität Karlsruhe (TH) Formale Systeme Prof. Dr. Bernhard Beckert Fakultät für Informatik Universität Karlsruhe (TH) Winter 28/29 Prof. Dr. Bernhard Beckert Formale Systeme Winter 28/29 / Beschreibung endlicher Automaten Die

Mehr

Formale Systeme. LTL und Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. LTL und Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

Formale Systeme. Endliche Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Endliche Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

Model Checking mit SPIN

Model Checking mit SPIN Model Checking mit SPIN Sabine Bauer 15.08.2005 2 Gliederung 1. Teil: Grundlagen des Model Checking - Abgrenzung zur deduktiven Verifikation - Das Model Checking-Problem - Kripke-Struktur - LTL - Arbeitsweise

Mehr

Formale Systeme. Lineare Temporale Logik. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Lineare Temporale Logik. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

Formale Systeme. Aussagenlogik: Sequenzenkalkül. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Aussagenlogik: Sequenzenkalkül. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

Formale Systeme. Prädikatenlogik 2. Stufe. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Prädikatenlogik 2. Stufe. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

Formale Systeme. Prädikatenlogik: Tableaukalkül (ohne Gleichheit) Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Prädikatenlogik: Tableaukalkül (ohne Gleichheit) Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 17.01.013 Parametrisierte Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

LTL und Spin. Stefan Radomski

LTL und Spin. Stefan Radomski LTL und Spin Stefan Radomski sr@oop.info Gliederung Wiederholung Grundlagen Vorstellung LTL Syntax Semantik Beispiele Model Checking mit Spin Fallbeispiele Einführung in Promela Vorführung Zusammenfassung

Mehr

Formale Systeme. Modallogik. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Modallogik. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemerg and National Large-scale Research Center of the Helmholtz

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 24 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen

Mehr

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS / KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz Association

Mehr

Variablenarten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Variablenarten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 10.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 1 / 15

Mehr

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Vorsemesterkurs Informatik Mario Holldack WS2015/16 30. September 2015 Vorsemesterkurs Informatik 1 Einleitung 2 Aussagenlogik 3 Mengen Vorsemesterkurs Informatik > Einleitung

Mehr

Formale Systeme. Endliche Automaten. Prof. Dr. Bernhard Beckert, WS 2015/ KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK

Formale Systeme. Endliche Automaten. Prof. Dr. Bernhard Beckert, WS 2015/ KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert, WS 2015/2016 Endliche Automaten KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK KIT Universita t des Landes Baden-Wu rttemberg und nationales Forschungszentrum

Mehr

Model Checking mit SPIN

Model Checking mit SPIN Model Checking mit SPIN Sabine Daniela Bauer Seminar Formal Methods for Fun and Profit Institut für Informatik SS 05 1 Einleitung Programme sollen aus vielerlei Gründen fehlerfrei arbeiten. Entweder weil

Mehr

Array-Zuweisungen. Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen.

Array-Zuweisungen. Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen. Array-Zuweisungen Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen. Ausschnitte (slices) werden über die Indizes gebildet. Mehrdimensionale Arrays Mehrdimensionale Arrays werden

Mehr

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Ronja Düffel WS2018/19 01. Oktober 2018 Theoretische Informatik Wieso, weshalb, warum??!? 1 Modellieren und Formalisieren von Problemen und Lösungen 2 Verifikation (Beweis der

Mehr

Klausur Formale Systeme Fakultät für Informatik WS 2015/2016

Klausur Formale Systeme Fakultät für Informatik WS 2015/2016 Klausur Formale Systeme Fakultät für Informatik WS 2015/2016 Prof. Dr. Bernhard Beckert 4. März 2016 Vorname: Name: Matrikel-Nr.: Platz-Nr.: Code: **Vorname** **Familienname** **Matr.-Nr.** **Hörsaal**

Mehr

Formale Systeme Prof. Dr. Bernhard Beckert, WS 2016/2017

Formale Systeme Prof. Dr. Bernhard Beckert, WS 2016/2017 Formale Systeme Prof. Dr. Bernhard Beckert, WS 2016/2017 Endliche Automaten KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK www.kit.edu KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft Endliche

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 28 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 28 1 Überblick: Variablenarten 2 Lokale Variablen 3 Lokale Variablen

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

How To Prove A Propositional Logic

How To Prove A Propositional Logic Klausur Formale Systeme Fakultät für Informatik SS 2015 Prof. Dr. Bernhard Beckert 31. Juli 2015 Vorname: Matrikel-Nr.: Die Bearbeitungszeit beträgt 60 Minuten. A1 (10) A2 (8) A3 (6) A4 (7) A5 (9) A6 (11)

Mehr

1. Einführung in Temporallogik CTL

1. Einführung in Temporallogik CTL 1. Einführung in Temporallogik CTL Temporallogik dient dazu, Aussagen über Abläufe über die Zeit auszudrücken und zu beweisen. Zeit wird in den hier zunächst behandelten Logiken als diskret angenommen

Mehr

2 Programmieren in Java I noch ohne Nachbearbeitung

2 Programmieren in Java I noch ohne Nachbearbeitung 1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe

Mehr

Formale Systeme. Das Erfu llbarkeitsproblem. Prof. Dr. Bernhard Beckert, WS 2017/2018

Formale Systeme. Das Erfu llbarkeitsproblem. Prof. Dr. Bernhard Beckert, WS 2017/2018 Formale Systeme Prof. Dr. Bernhard Beckert, WS 2017/2018 Das Erfu llbarkeitsproblem KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK www.kit.edu KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft

Mehr

Grundlagen der Programmierung in C Funktionen

Grundlagen der Programmierung in C Funktionen Der erste Mechanismus für Code-Reuse! Grundlagen der Programmierung in C Funktionen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Ältester Mechanismus für Code-Reuse:

Mehr

Vorsemesterkurs Informatik

Vorsemesterkurs Informatik Vorsemesterkurs Informatik Sommersemester 2018 Ronja Düffel 14. März 2018 Theoretische Informatik Wieso, weshalb, warum??!? 1 Modellieren und Formalisieren von Problemen und Lösungen 2 Verifikation (Beweis

Mehr

Formale Systeme. Aussagenlogik: Resolutionskalku l. Prof. Dr. Bernhard Beckert, WS 2018/2019

Formale Systeme. Aussagenlogik: Resolutionskalku l. Prof. Dr. Bernhard Beckert, WS 2018/2019 Formale Systeme Prof. Dr. Bernhard Beckert, WS 2018/2019 Aussagenlogik: Resolutionskalku l KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK www.kit.edu KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft

Mehr

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert, WS 2017/2018

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert, WS 2017/2018 Formale Systeme Prof. Dr. Bernhard Beckert, WS 2017/2018 Aussagenlogik: Syntax und Semantik KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK www.kit.edu KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft

Mehr

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 2. Februar 2017 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 13. März

Mehr

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reguläre Ausdrücke als Suchmuster für grep

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reguläre Ausdrücke als Suchmuster für grep Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

1. Motivation. Modelchecking. NuSMV. NuSMV und SMV. 2. Modellierung. Erinnerung (Kapitel II)

1. Motivation. Modelchecking. NuSMV. NuSMV und SMV. 2. Modellierung. Erinnerung (Kapitel II) 1. Motivation Modelchecking V. Ein Modelchecker: NuSMV Motivation und Hintergrund Modellierung Eigenschaften Anwendung Wir kennen jetzt die Grundlagen des Modelcheckings, auch wenn uns noch ganz wesentliche

Mehr

Theoretische Informatik II

Theoretische Informatik II Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Wintersemester 2007/2008 B. Beckert Theoretischen Informatik II: WS 2007/08 1 / 179 Dank Diese Vorlesungsmaterialien basieren

Mehr

Wahlalgorithmen auf beliebigen Netzstrukturen. Verteilte Algorithmen (VA), WS 2003/04 43

Wahlalgorithmen auf beliebigen Netzstrukturen. Verteilte Algorithmen (VA), WS 2003/04 43 Wahlalgorithmen Überblick/Problemstellung Wahlalgorithmen auf Ringstrukturen Beispiel TokenRing Wahlalgorithmen auf Baumstrukturen Wahlalgorithmen auf beliebigen Netzstrukturen Verteilte Algorithmen (VA),

Mehr

Logik für Informatiker

Logik für Informatiker Vorlesung Logik für Informatiker 5. Aussagenlogik Normalformen Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Normalformen Definition: Literal Atom (aussagenlogische

Mehr

Model Checking I. Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg

Model Checking I. Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Model Checking I Yi Zhao Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Zhao, Spisländer FAU Erlangen-Nürnberg Model Checking I 1 / 22 1 Inhalt 2 Model

Mehr

Endlicher Automat (EA)

Endlicher Automat (EA) Endlicher Automat (EA) siehe auch Formale Grundlagen 3 1 Motivation: Automaten für die Modellierung, Spezifikation und Verifikation verwenden! Definition Ein Endlicher Automat A = (S,I,Σ,T,F) besteht aus

Mehr

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 17. Februar 2018 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr

Mehr

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert, WS 2015/2016.

Formale Systeme. Aussagenlogik: Syntax und Semantik. Prof. Dr. Bernhard Beckert, WS 2015/2016. Formale Systeme Prof. Dr. Bernhard Beckert, WS 2015/2016 Aussagenlogik: Syntax und Semantik KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK KIT Universita t des Landes Baden-Wu rttemberg und nationales Forschungszentrum

Mehr

Formale Systeme. Wiederholung. Prof. Dr. Bernhard Beckert, WS 2017/ KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft

Formale Systeme. Wiederholung. Prof. Dr. Bernhard Beckert, WS 2017/ KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft Formale Systeme Prof. Dr. Bernhard Beckert, WS 2017/2018 Wiederholung KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK www.kit.edu KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft Themen Aussagenlogik

Mehr

XML Schema 2012/2013 S Seite 1 h_da W

XML Schema 2012/2013 S Seite 1 h_da W XML Schema Seite 1 XML/Schema: Strukturen Wiederholung Element / Attribut Deklaration XML Document Type Declaration Seite 2 XML Schema Schemata sind XML-Dokumente

Mehr

1 Programmiersprachen 1.1 1

1 Programmiersprachen 1.1 1 1 Programmiersprachen 1.1 1 Meilensteine imperativer Programmiersprachen (teilweise objektorientiert) Fortran 1960 Cobol Algol 60 PL/I Algol W Simula 67 Algol 68 1970 Pascal C Smalltalk Modula 1980 Ada

Mehr

5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 5. Algorithmen K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 21. Okt. 2015 1. Berechne 2 n. Zu lösende Probleme 2. Berechne die Fakultät einer nat. Zahl: n! = 1 * 2 *... n 3. Entscheide,

Mehr

Deductive Software Verification The KeY Book Haupt- und Proseminar in SoSe 2017

Deductive Software Verification The KeY Book Haupt- und Proseminar in SoSe 2017 Deductive Software Verification The KeY Book Haupt- und Proseminar in SoSe 2017 Bernhard Beckert 02.05.17 INSTITUT FÜR THEORETISCHE INFORMATIK, KIT KIT âăş Die ForschungsuniversitÃd t in der Helmholtz-Gemeinschaft

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Abgeschlossenheit (Definition)

Mehr

VHDL Grundelemente. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

VHDL Grundelemente. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg VHDL Grundelemente Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010 VHDL Grundelemente 1/15 2009-07-31 Inhalt Folgende

Mehr

Betriebssysteme. G: Parallele Prozesse. (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen)

Betriebssysteme. G: Parallele Prozesse. (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen) Betriebssysteme G: Parallele Prozesse (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen) 1 Allgemeine Synchronisationsprobleme Wir verstehen ein BS als eine Menge von parallel

Mehr

Korrektheit und Hoare-Kalkül für Imperative Programme

Korrektheit und Hoare-Kalkül für Imperative Programme Korrektheit und Hoare-Kalkül für Imperative Programme Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 Ziele Partielle und totale Korrektheit kennen lernen Die Regeln des Hoare-Kalkül

Mehr

Theoretische Informatik II. WS 2007/2008 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch. 1. Teilklausur Vorname:... Nachname:...

Theoretische Informatik II. WS 2007/2008 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch. 1. Teilklausur Vorname:... Nachname:... Theoretische Informatik II WS 2007/2008 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch 1. Teilklausur 11. 12. 2007 Persönliche Daten bitte gut leserlich ausfüllen! Vorname:... Nachname:... Matrikelnummer:...

Mehr

Rechnungen, wo kein sinnvoller Wert rauskommt Bsp.: 1/0, *0, sqrt(-1.0) Beispiel: Quadratische Gleichungen

Rechnungen, wo kein sinnvoller Wert rauskommt Bsp.: 1/0, *0, sqrt(-1.0) Beispiel: Quadratische Gleichungen Float-Arithmetik Implementiert IEEE 754-1985 Standard Überlauf ("overflow"): Zahl wird zu groß / zu klein Beispiel: max.float * 2 Resultat = + bzw. - Underflow: Zahlen liegen zu dicht an der 0 Resultat

Mehr

Formale Systeme. Modallogik. Prof. Dr. Bernhard Beckert, WS 2016/ KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft

Formale Systeme. Modallogik. Prof. Dr. Bernhard Beckert, WS 2016/ KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft Formale Systeme Prof. Dr. Bernhard Beckert, WS 2016/2017 Modallogik KIT I NSTITUT F U R T HEORETISCHE I NFORMATIK.kit.edu KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft Modale Logik Im Unterschied

Mehr

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. Januar 2018 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 17. Februar

Mehr

Exponentialfunktionen. Eigenschaften, graphische Darstellungen 1-E1 Vorkurs, Mathematik

Exponentialfunktionen. Eigenschaften, graphische Darstellungen 1-E1 Vorkurs, Mathematik e Exponentialfunktionen Eigenschaften, graphische Darstellungen 1-E1 Vorkurs, Mathematik Exponentialfunktionen Potenzfunktion: y = x 9 Exponentialfunktion: y = 9 x Die Potenz- und die Exponentialfunktionen

Mehr

Model.Checking Theorie Praxis

Model.Checking Theorie Praxis Model.Checking Theorie Praxis Model.Checking Motivation Theoretische Grundlagen Anwendungsbeispiel Systematische Spezifikationserzeugung Evaluation.in.industriellem Kontext Theorie Motivation Das.Spezifikationsproblem

Mehr

- Theorie der uninterpretierten

- Theorie der uninterpretierten Theorie der uninterpretierten Funktionen Entscheidungsverfahren mit Anwendungen in der Softwareverifikation STEPHAN FALKE INSTITUT FÜR THEORETISCHE INFORMATIK (ITI) 0 KIT 13. Universität Mai 2013 des S.

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 15. September 2016

Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 15. September 2016 Lösungsvorschläge und Erläuterungen Klausur zur Vorlesung Grundbegriffe der Informatik 15. September 2016 Klausurnummer Nachname: Vorname: Matr.-Nr.: Diese Klausur ist mein 1. Versuch 2. Versuch in GBI

Mehr

Herzlich willkommen!

Herzlich willkommen! Programmiertechnik 1 Herzlich willkommen! Dozent: Dipl.-Ing. Jürgen Wemheuer Teil 6: Zusammenfassung und Beispiele Mail: wemheuer@ewla.de Online: http://cpp.ewla.de/ Zusammenfassung (1) 2 1. Programm in

Mehr

Learning Object-Oriented Programming. Algorithmen. Algorithmusbegriff. Klärung der Herkunft des Begriffs Formale Definition von Algorithmus

Learning Object-Oriented Programming. Algorithmen. Algorithmusbegriff. Klärung der Herkunft des Begriffs Formale Definition von Algorithmus Algorithmen Algorithmusbegriff Klärung der Herkunft des Begriffs Formale Definition von Algorithmus Algorithmusbegriff Algorithmen sind eine der ältesten (abstrakten) Beschreibungstechniken für Abläufe.

Mehr

Das SAT Problem oder Erfüllbarkeitsproblem. Formale Systeme. Teilklassen. Satz von Cook. SAT Instanz: Eine aussagenlogische Formel F For 0

Das SAT Problem oder Erfüllbarkeitsproblem. Formale Systeme. Teilklassen. Satz von Cook. SAT Instanz: Eine aussagenlogische Formel F For 0 Das SAT Problem oder Erfüllbarkeitsproblem Formale Systeme Prof. Dr. Bernhard Beckert Fakultät für Informatik Universität Karlsruhe TH SAT Instanz: Eine aussagenlogische Formel F For 0 Frage: Ist F erfüllbar?

Mehr

Anwendungsorientierte Formale Verifikation

Anwendungsorientierte Formale Verifikation Anwendungsorientierte Formale Verifikation Bernhard Beckert 1 KIT 21.10.15 Universität des B. Landes Beckert Baden-Württemberg - Anwendungsorientierte und Formale Verifikation nationales Forschungszentrum

Mehr

3. Klausur Einführung in die Theoretische Informatik Seite 1 von 14

3. Klausur Einführung in die Theoretische Informatik Seite 1 von 14 3. Klausur Einführung in die Theoretische Informatik Seite 1 von 14 1. Welche der folgenden Aussagen zur Verifikation nach Hoare ist richtig? A. Eine Formel, die sowohl vor der Ausführung des Programmes,

Mehr

Grundbegriffe der Informatik Tutorium 11

Grundbegriffe der Informatik Tutorium 11 Grundbegriffe der Informatik Tutorium 11 Tutorium Nr. 16 Philipp Oppermann 21. Januar 2015 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Algorithmik und Programmieren

Algorithmik und Programmieren Institut für Informatik Forschungsgruppe Datenbanken und Informationssysteme (DBIS) Universität Innsbruck Algorithmik und Programmieren Martin Pichl Datenbanken und Informationssysteme (DBIS) dbis.uibk.ac.at

Mehr

Java Ablaufsteuerung (Beispiele)

Java Ablaufsteuerung (Beispiele) Informatik 1 für Nebenfachstudierende Grundmodul Java Ablaufsteuerung (Beispiele) Kai-Steffen Hielscher Folienversion: 16. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Blöcke Anweisungen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 24 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Klassen als Datenstruktur 2 Vereinbarung von

Mehr

Grundbegriffe der Informatik Tutorium 11

Grundbegriffe der Informatik Tutorium 11 Grundbegriffe der Informatik Tutorium 11 Tutorium Nr. 32 Philipp Oppermann 29. Januar 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Einfache Programme: Programm-Argument, Bedingte Anweisungen, Switch, Enum Boolesche Werte und Ausdrücke Seite 1 Beispiel: Umrechnen

Mehr

Formale Systeme, WS 2014/2015 Übungsblatt 5

Formale Systeme, WS 2014/2015 Übungsblatt 5 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Bernhard Beckert Thorsten Bormer, Dr. Vladimir Klebanov, Dr. Mattias Ulbrich Formale Systeme, WS 2014/2015 Übungsblatt

Mehr

Grundbegriffe der Informatik Tutorium 3

Grundbegriffe der Informatik Tutorium 3 Grundbegriffe der Informatik Tutorium 3 Tutorium Nr. 32 Philipp Oppermann 9. November 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Grammatiken und ANTLR

Grammatiken und ANTLR Grammatiken und ANTLR Zusatzfolien zu Algo Blatt 6 Author: Henry Schaefer http://www.majeeks.de/folien_blatt6.pdf Grammatik Definition: syntaktische Beschreibung einer Sprache (H.S.) Definiton Grammatik

Mehr

Kapitel Was ist ein Header? Was ist ein Body? Header: public Account(String newowner, int newpin)

Kapitel Was ist ein Header? Was ist ein Body? Header: public Account(String newowner, int newpin) Kapitel 2.6 1. Was ist ein Header? Was ist ein Body? Header: public Account(String newowner, int newpin) Body: Alles im Block darunter: [...] 2. Geben Sie die Methodensignaturen der TicketMachine (Code

Mehr

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. Inhalts-Verzeichnis 1. Allgemeine Richtlinien...1 1.1 Anzahl

Mehr

Klassen als Datenstrukturen

Klassen als Datenstrukturen Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung

Mehr

Informatik I Übung, Woche 40

Informatik I Übung, Woche 40 Giuseppe Accaputo 1. Oktober, 2015 Plan für heute 1. Nachbesprechung Übung 2 2. Vorbesprechung Übung 3 3. Zusammenfassung der für Übung 3 wichtigen Vorlesungsslides Informatik 1 (D-BAUG) Giuseppe Accaputo

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Maximilian Haslbeck Fabian Mitterwallner Georg Moser David Obwaller cbr.uibk.ac.at Zusammenfassung der letzten LVA Definition Eine Grammatik G ist ein Quadrupel

Mehr

Beispiele: Funktionsabstraktion (3) Funktionsdeklaration. Funktionsdeklaration (2) Funktionsdeklaration (3) 3. Abstraktion über Funktionsbezeichner:

Beispiele: Funktionsabstraktion (3) Funktionsdeklaration. Funktionsdeklaration (2) Funktionsdeklaration (3) 3. Abstraktion über Funktionsbezeichner: Beispiele: Funktionsabstraktion (3) Funktionsdeklaration 3. Abstraktion über Funktionsbezeichner: Ausdruck: f (f x) Abstraktion: \ f x -> f (f x) Mit Bezeichnervereinbarung: twice = \ f x -> f (f x) erg

Mehr

Theoretische Informatik SS 03 Übung 5

Theoretische Informatik SS 03 Übung 5 Theoretische Informatik SS 03 Übung 5 Aufgabe 1 Im Buch von Schöning ist auf S. 106-108 beschrieben, wie eine Turing-Maschine durch ein GOTO-Programm simuliert werden kann. Zeigen Sie, wie dabei die Anweisungen

Mehr

Analyse von Echtzeit-Systemen mit Uppaal. Dr. Carsten Weise Ericsson Deutschland GmbH

Analyse von Echtzeit-Systemen mit Uppaal. Dr. Carsten Weise Ericsson Deutschland GmbH Analyse von Echtzeit-Systemen mit Uppaal Dr. Carsten Weise Ericsson Deutschland GmbH Zur Person Ericsson Dänemark Übersicht Was ist Uppaal? Eine Einführung Grundlagen: Timed Automata Uppaal s Query-Language

Mehr

Roboterprogrammierung

Roboterprogrammierung ReferenceGuide Einführungs Autor: Fachhochschule Südwestfalen Fachbereich Elektrische Energietechnik Campus Soest Hinweise zur Benutzung Dieses Dokument soll die Arbeit während des Praktikums erleichtern,

Mehr

Grundbegriffe der Informatik Tutorium 10

Grundbegriffe der Informatik Tutorium 10 Grundbegriffe der Informatik Tutorium 10 Tutorium Nr. 32 Philipp Oppermann 17. Januar 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Kapitel 4: Anweisungen und Kontrollstrukturen

Kapitel 4: Anweisungen und Kontrollstrukturen inführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Kapitel 4: Anweisungen und Kontrollstrukturen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische

Mehr

Induktion und Rekursion

Induktion und Rekursion Induktion und Rekursion Induktion und Rekursion Vorkurs Informatik Theoretischer Teil WS 013/14. Oktober 013 Vorkurs Informatik WS 013/14 1/1 Vollständige Induktion Vorkurs Informatik WS 013/14 /1 Ziel

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 2: Prof. Dr. Unser erstes C-Programm int main (int argc, char *argv[]) int i; int sum = 0; for (i = 0; i

Mehr

Prüfung Informatik D-MATH/D-PHYS :00 11:00

Prüfung Informatik D-MATH/D-PHYS :00 11:00 Prüfung Informatik D-MATH/D-PHYS 4. 8. 2009 09:00 11:00 Dr. Bernd Gartner, Prof. Juraj Hromkovic Kandidat/in: Name:... Vorname:... Stud.-Nr.:... Ich bezeuge mit meiner Unterschrift, dass ich die Prufung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen

Mehr

Formale Systeme. Modallogik. Prof. Dr. Bernhard Beckert, WS 2017/ in der Helmholtz-Gemeinschaft KIT I NSTITUT F UR

Formale Systeme. Modallogik. Prof. Dr. Bernhard Beckert, WS 2017/ in der Helmholtz-Gemeinschaft KIT I NSTITUT F UR Formale Systeme Prof. Dr. Bernhard Beckert, WS 2017/2018 Modallogik T HEORETISCHE I NFORMATIK KIT I NSTITUT F UR.kit.edu in der Helmholtz-Gemeinschaft KIT Die Forschungsuniversitat Modale Logik Im Unterschied

Mehr

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Anonyme Klassen

Mehr