Angewandte Mathematik am Rechner 1 SOMMERSEMESTER Kapitel 4. Algebra. Michael Wand Institut für Informatik.

Größe: px
Ab Seite anzeigen:

Download "Angewandte Mathematik am Rechner 1 SOMMERSEMESTER Kapitel 4. Algebra. Michael Wand Institut für Informatik."

Transkript

1 Michael Wand Institut für Informatik. Angewandte Mathematik am echner 1 SOMMESEMESTE 2017 Kapitel 4 Algebra

2 Wiederholung Kapitel 3

3 Funktionen Informatik Algorithmus / Berechnung Mathematik Wohldefinierte Zuordnung

4 Arithmetische Ausdrücke 4 y Operator 3 x 5 3 x + 4 y 5 Operator Operator / Operator + 3 x + 4 y 5

5 Abzählbarkeit Cantor s erstes Diagonalargument

6 Zweites Diagonal-Argument Diagonalzahl a ii a ii a 11 a 12 a 13 a 14 a 15 a 16 a ist auch eine reelle Zahl. Sie ist nicht aufgelistet. Widerspruch. 0. a 11 a 12 a 13 a 14 a 15 a 16 a reelle Zahl 0. a 21 a 22 a 23 a 24 a 25 a 26 a reelle Zahl 0. a 31 a 32 a 33 a 34 a 35 a 36 a reelle Zahl 0. a 41 a 42 a 43 a 44 a 45 a 46 a reelle Zahl 0. a 51 a 52 a 53 a 54 a 55 a 56 a reelle Zahl......

7 Es gibt zu viele Probleme... Algorithmus / Programm Binärkodierbar: Bitstring x 0,1 Es gibt abzählbar unendlich viele Algorithmen Probleme Funktionen f: 0,1 {0,1} Überabzählbar (Potenzmenge aller Binärstrings) Vergleich Menge der Probleme mächtiger als Menge der Algorithmen (oder schlimmer)

8 Halteproblem Unentscheidbar: Halteproblem Gegeben ein Algorithmus (z.b. Python Programm) und seine Eingabe (Eingabedaten) Frage Hält der Algorithmus jemals an? Also: Stürzt das Programm mit dieser Eingabe nicht ab?

9 Widerspruch Widerspruch Annahme: Haltetest(Algorithmus, Eingabe) Problemalg. mit Eingabe (Problemalg., Problemalg.)

10 Diagonalisierung haelt(i, j) Programme i... Eingaben j... haelt(i, j) ist nicht berechenbar Angenommen doch: Wir können Problemalgorithmus konstruieren, bei dem ein Widerspruch auftritt

11 Mathematische Unvollständigkeit 1. Gödel scher Unvollständigkeitssatz: In jedem mathematischen Axiomensystem das mindestens die natürlichen Zahlen umfaßt gibt es Aussagen, die nicht beweisbar sind Beweis per Diagonalisierung (sehr ähnlich) Fundamentale Limitierung Fundamentale Limitierung Diskrete Schlußketten Diskrete Schritte in Algorithmen Es bleiben zu viele Probleme

12 Ergänzungen Kapitel 3

13 Simulation Simulation universelle TM Simulation Simulation Simulation Simulation

14 im c Emergente Komplexität Mandelbrot- Menge Iteration z z 2 + c z, c C re c Farbe = Zahl Iterationen bis Ergebnis > 2 [Quelle: Wikipedia Contrib. Simpsons contributor ]

15 Emergente Komplexität Penrose Tilings Bilder: Wikipedia [WP contrib. Inductiveload] Prinzip [WP contrib. Geometry Guy] Kacheln aneinanderfügen Gesamte 2D Ebene gefüllt Global aperiodisch (keine Wiederholungen) Turing mächtig Programmieren durch Design von (anderen) Kacheln

16 Emergente Komplexität Conway s Game of Life Lebende Zellen mit <2 Nachbarn sterben Lebenden Zellen mit 2 oder 3 Nachbarn leben weiter Lebende Zellen mit >3 Nachbarn sterben Tote Zellen mit genau 3 Nachbarn werden zum Leben erweckt. Das Spiel ist Turing mächtig Video: [Wikipedia user Kieff, CC-SA3]

17 Funktionen in Programmiersprachen

18 Mathematische Algorithmen Eingaben Eingaben Elementare Funktion ekursion Bausteine Elementare Funktionen ekursion Elementare Funktion Fallunterscheidung f x = Beispiel 1, x f x 1, falls x = 0 sonst Elementare Funktion Ergebnis Informatik Funktionale Programmierung

19 Mathematische Funktionen Mathematische Funktionen Zuordnung von Ausgaben zu Eingaben Ergebnis für gleiche Eingaben immer gleich Berechnung ohne Seiteneffekte Nicht möglich print("hello World") Allgemein: Ein-/Ausgabe Persistenz (Dateien, Datenbanken) Benutzerinteraktion

20 Programmcode Funktionen Befehle Modifikation von Speicherstellen Seiteneffekte Strukturierte Programmierung Funktionen, Prozeduren Seiteneffekte verboten (bzw. streng kontrolliert) Nur über definierte Schnittstellen Streng funktional = mathematisches Modell ekursive Funktionen

21 Funktionen höherer Ordnung Funktionen als Parameter Dynamisch: Programmcode erzeugen Maschinensprache Interpretierte Sprachen LISP Smalltalk, Python Statisch: Zeiger auf existierenden Code Funktionszeiger (C/C++, Pascal, Modula) Objektorientierte Abstraktion Verwendung von Funktionszeigern eingeschränkt Funktionsobjekte (Kapseln genau eine Funktion, Parameter als Membervariablen)

22 Kapitel 4: Algebra

23 Mathematische Sprache Algebra Ausdrücke als Bäume Allgemeine Typen (Boolsche Typen, Funktionen, etc.) Quantoren Abstraktion Mathematische Strukturen Informatik: Polymorphie / generischer Code

24 Mathematische Sprache Algebra Ausdrücke als Bäume Allgemeine Typen (Boolsche Typen, Funktionen, etc.) Quantoren

25 Arithmetische Ausdrücke 4 y Operator 3 x 5 3 x + 4 y 5 Operator Operator / Operator + 3 x + 4 y 5

26 Operatorenbaum, typisiert Operator + Operator Operator / 0 Konstante 3 Variable x Operator Konstante 5 Konstante 4 Variable y

27 Operatorenbaum als Modul Ausgabe Operator + Operator Operator / 0 Konstante 3 Variable x Operator Konstante 5 Konstante 4 Variable y Variable x Variable y

28 Mathematische Sprache Algebra Ausdrücke als Bäume Allgemeine Typen (Wahrheitswerte, Funktionen, etc.) Quantoren

29 Allgemeine Typen Mathematische Typen (Mengen) Wahrheitswerte Funktionen ( higher-order functions) Mengen Generische / abstrakte Typen (mehr dazu später)

30 Beispiele Beispiele Prädikat: a N ist eine gerade Zahl Aussage: Wenn a N gerade ist, ist (a + 1) ungerade Prädikat: a N ist eine Primzahl

31 Beispiele Beispiele Prädikat: a N ist eine gerade Zahl a mod 2 = 0 Aussage: Wenn a N gerade ist, ist (a + 1) ungerade a mod 2 = 0 a + 1 mod 2 = 0 Prädikat: a N ist eine Primzahl prim a = b = 2 a 1 : a mod b = 0

32 Mathematische Sprache Algebra Ausdrücke als Bäume Allgemeine Typen (Wahrheitswerte, Funktionen, etc.) Quantoren

33 Schleifen über Mengen Boolsche Quantoren für alle es gibt ein Arithmetik Summe Produkt Mengen Vereinigung Summe Menge Menge M Operator Menge bool boolesche Funktion M bool Prädikat Parameter m M: pred(m) und Verknüpfung noch mehr

34 Schleifen über Mengen Typ 1 Schleife Menge Typ 2 Menge Menge M Typ 2 Funktion M Typ 3 Quantoren / Summenzeichen / etc. Verknüpfung vieler Funktionsauswertungen Iteration über Mengen Unendliche Mengen erlaubt Nicht immer berechenbar

35 Beispiele Beispiele Aussage: Es gibt unendlich viele Primzahlen prim a = b = 2 a 1 : a mod b = 0 prim 2 a N: prim a b N: b > a prim b

36 Umsetzung in Python/JAVA Objektorientierte Umsetzung Funktionsobjekte: Baumknoten Echte Funktionen (komposit) Konstanten (Blattknoten) Variablen (olle als Eingaben des ganzen Baumes) Typcheck Kompositobjekte Quantoren (Iteration) Binden Variablen im Unterbaum (Mechanismus) Funktionskonstruktion Binden von Variablen ekursion (Zyklen im Baum) vorauss. nicht in der Aufgabe

37 Operatorenbaum Ausgabe Operator + Operator Operator / 0 Konstante 3 Variable x Operator Konstante 5 Konstante 4 Variable y Variable x Variable y

38 Abstrakte Algebra

39 Mathematische Polymorphie Generische Definitionen, Sätze, Beweise Strukturelle Ähnlichkeiten (z.b. N Z, Z mod p) Theorie nicht immer wieder neu aufbauen Typparameter für Definitionen, Sätze Beweise Generische Algorithmen Gleiche Algorithmen für ähnliche Typen Bespiel: Euklidischer Algorithmus ggt von zwei natürlichen Zahlen Genauso auf Polynome anwendbar Keine doppelte Arbeit

40 Informatik Polymorphie Wir kennen das Problem (zur Genüge!) Ähnliche Algorithmen für verschiedene Datenstrukturen Lösung Typparameter Explizit: Generics, Templates, etc. Parametrische Polymorphie Implizit: Vererbung / virtuelle Methoden Subtyping

41 Mathematische Polymorphie Mathematischer Typ algebraische Struktur Menge + Operationen (z.b.: Z, + ) Abstrakter Datentyp Mengen (Menge von Daten ) selbst egal Betrachte Operationen ( Zugriffsfunktionen ) Benennung essentieller Voraussetzungen Eigenschaften der Operationen Definieren Menge von Typen implizit

42 Mathematik vs. Informatik Definition mathematischer Strukturen Liste von Eigenschaften Text bzw. formal: Boolsche Ausdrücke (Aussagen) Wenn erfüllt, dann besteht die Struktur Informatik Mehr Varianten (templates, generics, traits, type classes, subtyping, mix-ins, multiple-inheritance ) Technische Erfordernisse Effizienz, Code-Generierung/Bindung, Compilerchecks, etc.

Angewandte Mathematik am Rechner 1 SOMMERSEMESTER Kapitel 4. Algebra. Frank Fischer Institut für Informatik

Angewandte Mathematik am Rechner 1 SOMMERSEMESTER Kapitel 4. Algebra. Frank Fischer Institut für Informatik Frank Fischer Institut für Informatik frank.fischer@uni-mainz.de Angewandte Mathematik am Rechner 1 SOMMERSEMESTER 2018 Kapitel 4 Algebra Wiederholung Kapitel 3 Funktionen Informatik Algorithmus / Berechnung

Mehr

Angewandte Mathematik am Rechner 1

Angewandte Mathematik am Rechner 1 Angewandte Mathematik am Rechner 1 SOMMERSEMESTER 2017 Kapitel 3 [Bildquellen: Wikipedia User David Madore, Inductiveload ] Grundlagen 2: Funktionen, Berechenbarkeit und emergente Komplexität Michael Wand

Mehr

Clevere Algorithmen programmieren

Clevere Algorithmen programmieren ClevAlg 2017 Theoretische Informatik Clevere Algorithmen programmieren Dennis Komm, Jakub Závodný, Tobias Kohn 06. Dezember 2017 Die zentralen Fragen sind... Was kann man mit einem Computer nicht machen?

Mehr

1 Algorithmische Grundlagen

1 Algorithmische Grundlagen 1 Algorithmische Grundlagen Klocke/17.03.2003 1.1 1.1 Begriffsklärung Fragen Begriffsklärungen Abstraktionsebenen für Algorithmen und Datenstrukturen Algorithmus Qualität von Algorithmen Klocke/17.03.2003

Mehr

III.1 Prinzipien der funktionalen Programmierung - 1 -

III.1 Prinzipien der funktionalen Programmierung - 1 - 1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung

Mehr

Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität

Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität Ralph Keusch 21. November 2017 Berechenbarkeitstheorie RAM-Maschine 1: M 1 1 2: M 0 1 3: M 0 M 0 M 1 4: M 2 M 2 M 1 5: GOTO 3 IF M

Mehr

Grundlagen 1: Modelle & Mengen

Grundlagen 1: Modelle & Mengen Michael Wand Institut für Informatik. Angewandte Mathematik am Rechner 1 SOMMERSEMESTER 2017 > Kapitel 2 Grundlagen 1: Modelle & Mengen 2.1 Modelle Grundlagen der Modellierung

Mehr

Unentscheidbare Probleme: Diagonalisierung

Unentscheidbare Probleme: Diagonalisierung Unentscheidbare Probleme: Diagonalisierung Prof Dr Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Oktober 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda

Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda ALP I λ Kalkül WS 2012/2013 Berechenbarkeit - inspiriert durch Hilbert's Frage - im Jahr 1900, Paris - Internationaler Mathematikerkongress Gibt es ein System von Axiomen, aus denen alle Gesetze der Mathematik

Mehr

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2 iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...

Mehr

Vorlesung Diskrete Strukturen Die natürlichen Zahlen

Vorlesung Diskrete Strukturen Die natürlichen Zahlen Vorlesung Diskrete Strukturen Die natürlichen Zahlen Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung

Mehr

Diskrete Mathematik mit Grundlagen

Diskrete Mathematik mit Grundlagen Sebastian lwanowski Rainer Lang Diskrete Mathematik mit Grundlagen Lehrbuch für Studierende von MINT-Fächern ~ Springer Vieweg Inhaltsverzeichnis 1 Grundlagen der Mathematik 1 1.1 Einführung...............

Mehr

1. Grundlagen. Gliederung 1.1 Was ist Analysis? 1.2 Aussagen und Mengen 1.3 Natürliche Zahlen 1.4 Ganze Zahlen, rationale Zahlen

1. Grundlagen. Gliederung 1.1 Was ist Analysis? 1.2 Aussagen und Mengen 1.3 Natürliche Zahlen 1.4 Ganze Zahlen, rationale Zahlen 1. Grundlagen Gliederung 1.1 Was ist Analysis? 1.2 Aussagen und Mengen 1.3 Natürliche Zahlen 1.4 Ganze Zahlen, rationale Zahlen Peter Buchholz 2016 MafI 2 Grundlagen 7 1.1 Was ist Analysis? Analysis ist

Mehr

Unentscheidbare Probleme: Existenz, Diagonalsprache, Halteproblem

Unentscheidbare Probleme: Existenz, Diagonalsprache, Halteproblem Unentscheidbare Probleme: Existenz, Diagonalsprache, Halteproblem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 25. Oktober 2010 Berthold Vöcking, Informatik

Mehr

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Übung zu Algorithmen und Datenstrukturen (für ET/IT) Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Matthias Wieczorek Computer-Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45

Mehr

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Übung zu Algorithmen und Datenstrukturen (für ET/IT) Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45

Mehr

Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Mächtigkeit von LOOP-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Die Programmiersprache LOOP Syntax Elemente eines LOOP-Programms Variablen

Mehr

Funktionale Programmiersprachen

Funktionale Programmiersprachen Funktionale Programmiersprachen An den Beispielen Haskell und Erlang Übersicht Programmiersprachen λ-kalkül Syntax, Definitionen Besonderheiten von funktionalen Programmiersprache, bzw. Haskell Objektorientierte

Mehr

Programmierparadigmen

Programmierparadigmen Programmierparadigmen Paradigma = Denkweise oder Art der Weltanschauung klassische Einteilung: Programmiersprache imperativ deklarativ prozedural objektorientiert funktional logisch Zusammenhänge tatsächlich

Mehr

Jochen Ziegenbalg Oliver Ziegenbalg Bemd Ziegenbalg. Algorithmen. von Hammurapi bis Gödel. 2., verbesserte Auflage Verlag g;> Harri Deutsch

Jochen Ziegenbalg Oliver Ziegenbalg Bemd Ziegenbalg. Algorithmen. von Hammurapi bis Gödel. 2., verbesserte Auflage Verlag g;> Harri Deutsch Jochen Ziegenbalg Oliver Ziegenbalg Bemd Ziegenbalg Algorithmen von Hammurapi bis Gödel 2., verbesserte Auflage 2007 Verlag g;> Harri Deutsch Inhalt Einleitung 1 Vorbemerkungen: Stellenwert des Themas,

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Mengen Eine Menge ist eine Gruppe von Elementen, die eine Einheit bilden (siehe z.b. Halmos 1976). Formale Sprachen und Automaten Mathematisches Rüstzeug Mengen können verschiedene Typen von Elementen

Mehr

Inhalt. Einführung in die Strukturierte Programmierung 15

Inhalt. Einführung in die Strukturierte Programmierung 15 Inhalt Einführung in die Strukturierte Programmierung 15 1.1 Was bedeutet Programmieren? 17 1.2 Was bedeutet Strukturierte Programmierung? 18 1.3 Was ist Pascal? 19 1.4 Was ist PS/k? 20 1.5 Warum wird

Mehr

Algorithmen. Von Hammurapi bis Gödel. von Jochen Ziegenbalg, Oliver Ziegenbalg, Bernd Ziegenbalg. überarbeitet

Algorithmen. Von Hammurapi bis Gödel. von Jochen Ziegenbalg, Oliver Ziegenbalg, Bernd Ziegenbalg. überarbeitet Algorithmen Von Hammurapi bis Gödel von Jochen Ziegenbalg, Oliver Ziegenbalg, Bernd Ziegenbalg überarbeitet Algorithmen Ziegenbalg / Ziegenbalg / Ziegenbalg schnell und portofrei erhältlich bei beck-shop.de

Mehr

1. Grundlagen. 1.1 Was ist Analysis? 1.2 Aussagen und Mengen

1. Grundlagen. 1.1 Was ist Analysis? 1.2 Aussagen und Mengen . Grundlagen Gliederung. Was ist Analysis?.2 Aussagen und Mengen.3 Natürliche Zahlen.4 Ganze Zahlen, rationale Zahlen. Was ist Analysis? Analysis ist neben der linearen Algebra ein Grundpfeiler der Mathematik!

Mehr

Das erwartet dich in diesem Buch 8. Kapitel 1 Aufbruch ins Programmierabenteuer 14

Das erwartet dich in diesem Buch 8. Kapitel 1 Aufbruch ins Programmierabenteuer 14 Inhaltsverzeichnis Das erwartet dich in diesem Buch 8 Kapitel 1 Aufbruch ins Programmierabenteuer 14 Das Schlimmste vorab: die binäre Logik 15 So hoch entwickelt und doch so primitiv: der Prozessor 17

Mehr

De Morgan sche Regeln

De Morgan sche Regeln De Morgan sche Regeln Durch Auswerten der Wahrheitswertetabelle stellen wir fest, dass allgemeingültig ist; ebenso (p q) p q (p q) p q. Diese beiden Tautologien werden als die De Morgan schen Regeln bezeichnet,

Mehr

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

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

Mehr

Vorlesung Diskrete Strukturen Die natürlichen Zahlen

Vorlesung Diskrete Strukturen Die natürlichen Zahlen Vorlesung Diskrete Strukturen Die natürlichen Zahlen Bernhard Ganter WS 2009/10 Alles ist Zahl? Wenn in der modernen Mathematik alles auf Mengen aufgebaut ist, woher kommen dann die Zahlen? Sind Zahlen

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen) WS 2016/17 Diskrete Strukturen Kapitel 2: Grundlagen (Relationen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet.

Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet. Rückschau 12.11.04 Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet. Wir haben das Prinzip der Diagonalisierung eingeführt und mit DIAG eine erste nicht rek. aufz. Sprache

Mehr

ECDL MODUL COMPUTING. Syllabus Version 1.0

ECDL MODUL COMPUTING. Syllabus Version 1.0 ECDL MODUL COMPUTING Syllabus Version 1.0 DLGI Dienstleistungsgesellschaft für Informatik Am Bonner Bogen 6 53227 Bonn Tel.: 0228-688-448-0 Fax: 0228-688-448-99 E-Mail: info@dlgi.de, URL: www.dlgi.de In

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Achim Feldmeier, 23. Juni : Penrose nimmt dieses Argument auf in Shadows of the Mind.

Achim Feldmeier, 23. Juni : Penrose nimmt dieses Argument auf in Shadows of the Mind. Können Menschen mehr (Mathematik) als Computer? Turing - Penrose - Searle Achim Feldmeier, 23. Juni 2008 1931: Gödel beweist den Unvollständigkeitssatz. 1937: Turing beweist das Halteproblem. 1961: Lucas

Mehr

Mathematische Beweise und Symbolische Tests

Mathematische Beweise und Symbolische Tests Mathematische Beweise und Symbolische Tests Arne Meier Universität Hannover Institut für praktische Informatik Fachgebiet Software Engineering Seminar Werkzeuggestützte Softwareprüfungen 19. April 2006

Mehr

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke Inhaltsverzeichnis 1 Der objektorientierte Ansatz... 1 1.1 Ein einführendes Beispiel...2 1.1.1 Aktive Objekte...4 1.1.2 Klassifikation...4 1.1.3 Datenkapselung...6 1.2 OOP im Überblick...6 1.3 Programmaufbau...7

Mehr

3. Diskrete Mathematik

3. Diskrete Mathematik Diophantos von Alexandria um 250 Georg Cantor 1845-1918 Pythagoras um 570 v. Chr Pierre de Fermat 1607/8-1665 Seite 1 Inhalt der Vorlesung Teil 3: Diskrete Mathematik 3.1 Zahlentheorie: Abzählbarkeit,

Mehr

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung

Mehr

Turingmaschinen. und eine kleine Einführung in Bereiche der theoretischen Informatik

Turingmaschinen. und eine kleine Einführung in Bereiche der theoretischen Informatik Turingmaschinen und eine kleine Einführung in Bereiche der theoretischen Informatik Gliederung Einführung Leben Alan Turing Theoretische Informatik Turingmaschine Aufbau, Definition Beispiele Game of Life

Mehr

Java-Grundkurs für Wirtschaftsinformatiker

Java-Grundkurs für Wirtschaftsinformatiker Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich

Mehr

Programmierparadigmen A01 OOP. Programmierparadigmen

Programmierparadigmen A01 OOP. Programmierparadigmen 2013-10-09 Programmierparadigmen 1 185.A01 OOP Programmierparadigmen 2013-10-09 Programmierparadigmen 2 OOP Klassische Programmierparadigmen Paradigma = Denkweise oder Art der Weltanschauung klassische

Mehr

Beispiel: NTM. M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) q 2

Beispiel: NTM. M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) q 2 Beispiel: NTM M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) 0,1,R 0,0,R q0 1,0,R q1 #,#,R q2 0,0,L Zustand 0 1 # q 0 {(1, R, q 0 )} {(0, R, q 1 )} q 1 {(0, R, q 1 ),(0, L, q 0 )} {(1, R, q

Mehr

Programmierung Paradigmen und Konzepte

Programmierung Paradigmen und Konzepte Programmierung Paradigmen und Konzepte Mit 79 Bildern, 85 Beispielen, 130 Aufgaben und Kontrollfragen und 19 Referatsthemen Fachbuchverlag Leipzig im Carl Hanser Verlag 1 Einführung und Überblick 11 1.1

Mehr

Inhaltsübersicht. Vorwort 15. Vorwort zur deutschen Ausgabe 22. Kapitel 1 Elemente der Programmierung 25. Kapitel 2 Funktionen und Module 203

Inhaltsübersicht. Vorwort 15. Vorwort zur deutschen Ausgabe 22. Kapitel 1 Elemente der Programmierung 25. Kapitel 2 Funktionen und Module 203 Inhaltsübersicht Vorwort 15 Vorwort zur deutschen Ausgabe 22 Kapitel 1 Elemente der Programmierung 25 Kapitel 2 Funktionen und Module 203 Kapitel 3 Objektorientierte Programmierung 335 Kapitel 4 Algorithmen

Mehr

Boolesche Algebra. Hans Joachim Oberle. Vorlesung an der TUHH im Wintersemester 2006/07 Montags, 9:45-11:15 Uhr, 14täglich TUHH, DE 22, Audimax 2

Boolesche Algebra. Hans Joachim Oberle. Vorlesung an der TUHH im Wintersemester 2006/07 Montags, 9:45-11:15 Uhr, 14täglich TUHH, DE 22, Audimax 2 Universität Hamburg Department Mathematik Boolesche Algebra Hans Joachim Oberle Vorlesung an der TUHH im Wintersemester 2006/07 Montags, 9:45-11:15 Uhr, 14täglich TUHH, DE 22, Audimax 2 http://www.math.uni-hamburg.de/home/oberle/vorlesungen.html

Mehr

Mengen mit unendlich vielen Elementen - sind die immer gleich groß?

Mengen mit unendlich vielen Elementen - sind die immer gleich groß? Mengen mit unendlich vielen Elementen - sind die immer gleich groß? Peter Lesky (Universität Stuttgart) Vortrag am ESG Kornwestheim 9. Oktober 2008 1 Mengen vergleichen 2 Mengen vergleichen N = {1,2,3,4,...}

Mehr

Zusammenfassung. Definition. 1 (x i ) 1 i n Sequenz von Registern x i, die natürliche Zahlen beinhalten. 2 P ein Programm. Befehle: 1 x i := x i + 1

Zusammenfassung. Definition. 1 (x i ) 1 i n Sequenz von Registern x i, die natürliche Zahlen beinhalten. 2 P ein Programm. Befehle: 1 x i := x i + 1 Zusammenfassung Zusammenfassung der letzten LVA Einführung in die Theoretische Informatik Christina Kohl Alexander Maringele Georg Moser Michael Schaper Manuel Schneckenreither Eine Registermaschine (RM)

Mehr

Praktische Eine Einführung

Praktische Eine Einführung Gregor Büchel Praktische Eine Einführung Lehr- und Arbeitsbuch mit Tafelbildern Mit 65 Abbildungen und Tabellen Springer Vorwort V 1 Was ist Informatik? 1 1.1 Datenflusspläne 2 1.1.1 Symbole eines 2 1.1.2

Mehr

Grundlagen der Programmierung (Vorlesung 24)

Grundlagen der Programmierung (Vorlesung 24) Grundlagen der Programmierung (Vorlesung 24) Ralf Möller, FH-Wedel Vorige Vorlesung Anwendung im Bereich Compilerbau Inhalt dieser Vorlesung Turing-Maschinen Berechenbarkeitstheorie, Halteproblem Lernziele

Mehr

Effektiv Programmieren in С und C++

Effektiv Programmieren in С und C++ Dietmar Herrmann Effektiv Programmieren in С und C++ Eine Einführung mit Beispielen aus Mathematik, Naturwissenschaft und Technik 3., vollständig überarbeitete und erweiterte Auflage 3 vieweg flffm \;i

Mehr

Kapitel III Ringe und Körper

Kapitel III Ringe und Körper Kapitel III Ringe und Körper 1. Definitionen und Beispiele Definition 117 Eine Algebra A = S,,, 0, 1 mit zwei zweistelligen Operatoren und heißt ein Ring, falls R1. S,, 0 eine abelsche Gruppe mit neutralem

Mehr

Vorwort zur zweiten Auflage 1. Vorwort zur ersten Auflage 2

Vorwort zur zweiten Auflage 1. Vorwort zur ersten Auflage 2 Vorwort zur zweiten Auflage 1 Vorwort zur ersten Auflage 2 1 Über dieses Buch 3 1.1 WarumdiesesBuch?... 3 1.2 Voraussetzungen...... 4 1.3 Systematik... 4 1.4 WieliestmandiesesBuch?... 6 1.5 ZugriffaufdieQuellenzudenBeispielen...

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

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

Programmierung in C/C++

Programmierung in C/C++ Programmierung in C/C++ Mit einer grundlegenden Einführung in die Objektorientierung Univ.-Prof. Hon.-Prof. Dr. Dieter Roller Mit 134 Bildern Kontakt & Studium Band 682 Herausgeber: Prof. Dr. Birgit Baum

Mehr

Objektorientierte Programmierung II

Objektorientierte Programmierung II Objektorientierte Programmierung II OOP I Erlaubt Entwicklers, im Problemraum zu denken und zu arbeiten. Das Problem wird in eine Menge von Objekten zerlegt. Objekte wirken aufeinander, um das Problem

Mehr

Haskell for Hackers... or why functional programming matters

Haskell for Hackers... or why functional programming matters ... or why functional programming matters Franz Pletz CCC München 27-06-2009 @ GPN8 Fahrplan Ablauf Motivation 1 Ablauf Motivation 2 3 4 Ablauf Ablauf Motivation bei Fragen/Unklarheiten:

Mehr

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs funktionale Programmierung mit Scala ISBN:

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs funktionale Programmierung mit Scala ISBN: Lothar Piepmeyer Grundkurs funktionale Programmierung mit Scala ISBN: 978-3-446-42092-2 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42092-2 sowie im Buchhandel. Carl Hanser

Mehr

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II.

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II. 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

Inhaltsverzeichnis. 4.9 Aufgaben... 63

Inhaltsverzeichnis. 4.9 Aufgaben... 63 Inhaltsverzeichnis 1 Einleitung 1 1.1 Programmierung... 1 1.2 Objektorientierte Programmierung... 2 1.3 Voraussetzungen und Ziele dieses Buches... 3 1.4 Aufbau dieses Buches... 4 2 Das imperative Hamster-Modell

Mehr

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 29.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie 3. Endliche Automaten und reguläre

Mehr

1 Algebraische Strukturen

1 Algebraische Strukturen Prof. Dr. Rolf Socher, FB Technik 1 1 Algebraische Strukturen In der Mathematik beschäftigt man sich oft mit Mengen, auf denen bestimmte Operationen definiert sind. Es kommt oft vor, dass diese Operationen

Mehr

Inhaltsverzeichnis Grundbegriffe der Programmierung Strukturelle Programmierung

Inhaltsverzeichnis Grundbegriffe der Programmierung Strukturelle Programmierung Inhaltsverzeichnis 1 Grundbegriffe der Programmierung... 1 1.1 Das erste Programm: Hallo Welt... 1 1.2 Vom Problem zum Algorithmus... 3 1.2.1 Begriff des Algorithmus... 3 1.2.2 Eigenschaften eines Algorithmus...

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 12.10.2016 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen

Mehr

Berechenbarkeitstheorie 19. Vorlesung

Berechenbarkeitstheorie 19. Vorlesung 1 Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Erinnerung:

Mehr

Mengen und Relationen

Mengen und Relationen KAPITEL 1 Mengen und Relationen 1.1. Mengenlehre Georg Cantor (3.3.1845 6.1.1918: Cantor ist der Vater der modernen Mengenlehre, er definierte 1895: DEFINITION 1.1.1. Unter einer Menge verstehen wir jede

Mehr

Polymorphie Begriffsklärung und Anwendung

Polymorphie Begriffsklärung und Anwendung Polymorphie Begriffsklärung und Anwendung Klaus Kusche, Mai 2014 Inhalt Ziel & Voraussetzungen Was bedeutet Polymorphie? Die einzelnen Arten der Polymorphie: Konzept Beispiel / Anwendung Nutzen Implementierung

Mehr

Unentscheidbarkeitssätze der Logik

Unentscheidbarkeitssätze der Logik Unentscheidbarkeitssätze der Logik Elmar Eder () Unentscheidbarkeitssätze der Logik 1 / 30 Die Zahlentheorie ist nicht formalisierbar Satz (Kurt Gödel) Zu jedem korrekten formalen System der Zahlentheorie

Mehr

Diskrete Strukturen. Vorlesung 7: Fixpunkte & Kardinalität. 27. November 2018

Diskrete Strukturen. Vorlesung 7: Fixpunkte & Kardinalität. 27. November 2018 Diskrete Strukturen Vorlesung 7: Fixpunkte & Kardinalität 27. November 2018 Nächste Termine Modul Diskrete Strukturen Hörsaalübung (Mo. 9:15) Vorlesung (Di. 17:15) 26.11. 27.11. Fixpunkte + Kardinalitäten

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 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/ws13/14

Mehr

Grundlagen der Informatik 0

Grundlagen der Informatik 0 Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg

Mehr

Was bisher geschah: Formale Sprachen

Was bisher geschah: Formale Sprachen Was bisher geschah: Formale Sprachen Alphabet, Wort, Sprache Operationen und Relationen auf Wörtern und Sprachen Darstellung unendlicher Sprachen durch reguläre Ausdrücke (Syntax, Semantik, Äquivalenz)

Mehr

Hausaufgaben Summen Beweise Vollständige Induktion Unendliche Mengen. Beweisverfahren. Diskrete Strukturen. Uta Priss ZeLL, Ostfalia

Hausaufgaben Summen Beweise Vollständige Induktion Unendliche Mengen. Beweisverfahren. Diskrete Strukturen. Uta Priss ZeLL, Ostfalia Beweisverfahren Diskrete Strukturen Uta Priss ZeLL, Ostfalia Sommersemester 2016 Diskrete Strukturen Beweisverfahren Slide 1/31 Agenda Hausaufgaben Summen Beweise Vollständige Induktion Unendliche Mengen

Mehr

Komplexität von Algorithmen

Komplexität von Algorithmen Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen

Mehr

Der erste Gödelsche Unvollständigkeitssatz

Der erste Gödelsche Unvollständigkeitssatz Der erste Gödelsche Unvollständigkeitssatz Referent: Tobias Gleißner 29. Januar 2013 (syntaktischer Aufbau eines arithmetischen Terms) - Jede Zahl ist ein Term - Jede Variable ist ein Term - Sind und Terme,

Mehr

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen? Einige Fragen Ziel: Wir suchen Antworten auf die folgenden Fragen: Wie kann man das intuitiv Berechenbare formal fassen? Was ist ein Algorithmus? Welche Indizien hat man dafür, dass ein formaler Algorithmenbegriff

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

Objektorientiert in C++

Objektorientiert in C++ Dirk Louis Objektorientiert in C++ Einstieg und professioneller Einsatz intwickier.pres: Vorwort 11 1 Schnellkurs C++ 13 1.1 ANSI-C++ und die Compiler 13 Compiler und Programmerstellung 13 ANSI und die

Mehr

Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Organisatorisches VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Nächste Vorlesung: Mittwoch, November 29, 14:15 15:45 Uhr, Roter Hörsaal Webseite: http://algo.rwth-aachen.de/lehre/ws1718/buk.php

Mehr

Programmieren lernen mit Perl

Programmieren lernen mit Perl Xpert.press Programmieren lernen mit Perl Bearbeitet von Joachim Ziegler 1. Auflage 2002. Buch. XIV, 400 S. Hardcover ISBN 978 3 540 42685 1 Format (B x L): 15,5 x 23,5 cm Gewicht: 783 g Weitere Fachgebiete

Mehr

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren Hanspeter Mössenböck Sprechen Sie Java? Eine Einführung in das systematische Programmieren 3., überarbeitete und erweiterte Auflage Tm\ dpunkt.verlag 1 Grundlagen 1 1.1 Daten und Befehle 2 1.2 Algorithmen

Mehr

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen Organisation und Einführung Studiengang Informatik Universität Bremen Sommersemester 2010 (Vorlesung am Montag, der 12. April 2010) (Montag, der 12. April 2008) 1 Vorstellung 2 Organisation 3 Einführung

Mehr

Objektorientierte Programmierung (OOP)

Objektorientierte Programmierung (OOP) orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,

Mehr

VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-11: LOOP und WHILE Programme I 1/46 Organisatorisches Nächste Vorlesung: Mittwoch,

Mehr

Informatik 1. Teil 1 - Wintersemester 2012/2013. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

Informatik 1. Teil 1 - Wintersemester 2012/2013. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Informatik 1 Teil 1 - Wintersemester 2012/2013 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen 0. Rechner und Programmierung

Mehr

14. Rekursiv aufzählbare Mengen

14. Rekursiv aufzählbare Mengen 14. Rekursiv aufzählbare Mengen In diesem Abschnitt fassen wir einige Eigenschaften der rekursiv aufzählbaren d.h. der nach Churchscher These (effektiv) aufzählbaren Mengen zusammen. In Korollar 11.8 haben

Mehr

Formale Logik. PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg. Wintersemester 16/17 Sitzung vom 25.

Formale Logik. PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg. Wintersemester 16/17 Sitzung vom 25. Formale Logik PD Dr. Markus Junker Abteilung für Mathematische Logik Universität Freiburg Wintersemester 16/17 Sitzung vom 25. Januar 2017 Gödels Unvollständigkeitssatz Unvollständigkeit von Axiomensystemen:

Mehr

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015 Teil 1: Mengenlehre 1 Mengen Einleitung Beschreibung und Beispiele Operationen Verhältnisse Kartesisches Produkt 2 Relationen

Mehr

Grundlagen der Informatik I (Studiengang Medieninformatik)

Grundlagen der Informatik I (Studiengang Medieninformatik) Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: skuehn@informatik.htw-dresden.de

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

1. Eine rechtstotale Funktion heißt surjektive Funktion oder Surjektion. 2. Eine linkseindeutige Funktion heißt injektive Funktion oder Injektion

1. Eine rechtstotale Funktion heißt surjektive Funktion oder Surjektion. 2. Eine linkseindeutige Funktion heißt injektive Funktion oder Injektion Transitiv-reflexive Hülle Definition 24. Sei R M M eine Relation. Dann ist die transitiv-reflexive Hülle R von R definiert als die kleinste Menge mit folgenden Eigenschaften: 1. a M : (a, a) R 2. R R 3.

Mehr

Algorithmen und Datenstrukturen CS1017

Algorithmen und Datenstrukturen CS1017 Algorithmen und Datenstrukturen CS1017 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Rekursiv definierte Strukturen und strukturelle Rekursion Listen und Bäume Strukturelle Rekursion

Mehr

2. Einführung. Informatik II für Verkehrsingenieure

2. Einführung. Informatik II für Verkehrsingenieure 2. Einführung Informatik II für Verkehrsingenieure Überblick ZIEL DER EINFÜHRUNG Was ist Informatik Historische Entwicklung von Programmiersprachen 2 Was ist Informatik? 3 Was ist Informatik? FRANZÖSISCH

Mehr

Kapitel 1: Einleitung. Gliederung. Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren

Kapitel 1: Einleitung. Gliederung. Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Kapitel 1: Einleitung Wintersemester 2006/07 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Gliederung Zum Begriff Informatik

Mehr

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

Mehr

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte

Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr