92
Informatik I: Einführung in die Programmierung 1. Grundlagen Albert-Ludwigs-Universität Freiburg Peter Thiemann 22. Oktober 2019

Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Informatik I: Einführung in die Programmierung1. Grundlagen

Albert-Ludwigs-Universität Freiburg

Peter Thiemann22. Oktober 2019

Page 2: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Inhalt der Vorlesung

22. Oktober 2019 P. Thiemann – Info I 2 / 45

Page 3: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Inhalt

Wir vermitteln in dieser Vorlesung Grundkenntnisse und Grundfähigkeiten in denBereichen

Programmierung (Python)

ModellierungProgrammentwicklungAnalyseHintergründe (Informatik-Geschichte, Berufsethik, ...)Grundlagen (Berechnungsmodelle, Programmiersprachenparadigmen, ...)Denken wie ein Informatiker/eine Informatikerin

22. Oktober 2019 P. Thiemann – Info I 4 / 45

Page 4: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Inhalt

Wir vermitteln in dieser Vorlesung Grundkenntnisse und Grundfähigkeiten in denBereichen

Programmierung (Python)Modellierung

ProgrammentwicklungAnalyseHintergründe (Informatik-Geschichte, Berufsethik, ...)Grundlagen (Berechnungsmodelle, Programmiersprachenparadigmen, ...)Denken wie ein Informatiker/eine Informatikerin

22. Oktober 2019 P. Thiemann – Info I 4 / 45

Page 5: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Inhalt

Wir vermitteln in dieser Vorlesung Grundkenntnisse und Grundfähigkeiten in denBereichen

Programmierung (Python)ModellierungProgrammentwicklung

AnalyseHintergründe (Informatik-Geschichte, Berufsethik, ...)Grundlagen (Berechnungsmodelle, Programmiersprachenparadigmen, ...)Denken wie ein Informatiker/eine Informatikerin

22. Oktober 2019 P. Thiemann – Info I 4 / 45

Page 6: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Inhalt

Wir vermitteln in dieser Vorlesung Grundkenntnisse und Grundfähigkeiten in denBereichen

Programmierung (Python)ModellierungProgrammentwicklungAnalyse

Hintergründe (Informatik-Geschichte, Berufsethik, ...)Grundlagen (Berechnungsmodelle, Programmiersprachenparadigmen, ...)Denken wie ein Informatiker/eine Informatikerin

22. Oktober 2019 P. Thiemann – Info I 4 / 45

Page 7: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Inhalt

Wir vermitteln in dieser Vorlesung Grundkenntnisse und Grundfähigkeiten in denBereichen

Programmierung (Python)ModellierungProgrammentwicklungAnalyseHintergründe (Informatik-Geschichte, Berufsethik, ...)

Grundlagen (Berechnungsmodelle, Programmiersprachenparadigmen, ...)Denken wie ein Informatiker/eine Informatikerin

22. Oktober 2019 P. Thiemann – Info I 4 / 45

Page 8: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Inhalt

Wir vermitteln in dieser Vorlesung Grundkenntnisse und Grundfähigkeiten in denBereichen

Programmierung (Python)ModellierungProgrammentwicklungAnalyseHintergründe (Informatik-Geschichte, Berufsethik, ...)Grundlagen (Berechnungsmodelle, Programmiersprachenparadigmen, ...)

Denken wie ein Informatiker/eine Informatikerin

22. Oktober 2019 P. Thiemann – Info I 4 / 45

Page 9: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Inhalt

Wir vermitteln in dieser Vorlesung Grundkenntnisse und Grundfähigkeiten in denBereichen

Programmierung (Python)ModellierungProgrammentwicklungAnalyseHintergründe (Informatik-Geschichte, Berufsethik, ...)Grundlagen (Berechnungsmodelle, Programmiersprachenparadigmen, ...)Denken wie ein Informatiker/eine Informatikerin

22. Oktober 2019 P. Thiemann – Info I 4 / 45

Page 10: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Was ist Informatik?

22. Oktober 2019 P. Thiemann – Info I 5 / 45

Page 11: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Versuch der Definition I

Informatik-DudenWissenschaft von der systematischen Verarbeitung von Informationen, besondersder automatischen Verarbeitung mit Hilfe von Digitalrechnern (Computern).

22. Oktober 2019 P. Thiemann – Info I 7 / 45

Page 12: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Versuch der Definition II

Gesellschaft für InformatikDas Wort Informatik setzt sich aus den Wörtern Information und Automatikzusammen und bezeichnet die Wissenschaft von der systematischen Verarbeitungvon Informationen mit Hilfe von Rechenanlagen.

Aber:Computer science is no more about computers than astronomy is abouttelescopes! (Dijkstra)

22. Oktober 2019 P. Thiemann – Info I 8 / 45

Page 13: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Versuch der Definition II

Gesellschaft für InformatikDas Wort Informatik setzt sich aus den Wörtern Information und Automatikzusammen und bezeichnet die Wissenschaft von der systematischen Verarbeitungvon Informationen mit Hilfe von Rechenanlagen.

Aber:Computer science is no more about computers than astronomy is abouttelescopes! (Dijkstra)

22. Oktober 2019 P. Thiemann – Info I 8 / 45

Page 14: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Versuch der Definition III

Association of Computing MachineryComputer science and engineering is the systematic study of algorithmicprocesses—their theory, analysis, design, efficiency, implementation, andapplication—that describe and transform information. The fundamental questionunderlying all of computing is: What can be (efficiently) automated?

22. Oktober 2019 P. Thiemann – Info I 9 / 45

Page 15: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Einordnung

Informatik beschäftigt sich mit der Analyse von Strukturen und ist insoferneine Strukturwissenschaft

verwandt mit der Mathematik; verwendet die Sprache der Mathematik

Informatik beschäftig sich mit dem Design von Artefakten und ist insofern eineIngenieurwissenschaft

22. Oktober 2019 P. Thiemann – Info I 10 / 45

Page 16: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Einordnung

Informatik beschäftigt sich mit der Analyse von Strukturen und ist insoferneine Strukturwissenschaftverwandt mit der Mathematik; verwendet die Sprache der Mathematik

Informatik beschäftig sich mit dem Design von Artefakten und ist insofern eineIngenieurwissenschaft

22. Oktober 2019 P. Thiemann – Info I 10 / 45

Page 17: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Einordnung

Informatik beschäftigt sich mit der Analyse von Strukturen und ist insoferneine Strukturwissenschaftverwandt mit der Mathematik; verwendet die Sprache der Mathematik

Informatik beschäftig sich mit dem Design von Artefakten und ist insofern eineIngenieurwissenschaft

22. Oktober 2019 P. Thiemann – Info I 10 / 45

Page 18: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Teilgebiete I (frei nach der GI)

Theoretische InformatikDie Theoretische Informatik erforscht und entwickelt Konzepte zur Darstellung vonGeräten und Prozessen als formal logische Systeme; damit ist sie die Grundlagefür die Programmierung. Die theoretische Informatik befasst sich insbesondere mitder Geschwindigkeit und dem Speicherverbrauch solcher Algorithmen.

Was ist berechenbar?P = NP?

22. Oktober 2019 P. Thiemann – Info I 11 / 45

Page 19: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Teilgebiete II (frei nach der GI)

Praktische InformatikDie Praktische Informatik entwickelt grundlegende Lösungskonzepte für diewichtigsten Anwendungsbereiche der Informatik. Sie beschäftigt sich besondersmit der Entwicklung von Computerprogrammen mit Hilfe speziellerProgrammiersprachen und deren Nutzung in großen Softwaresystemen.

22. Oktober 2019 P. Thiemann – Info I 12 / 45

Page 20: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Teilgebiete III (frei nach der GI)

Technische InformatikJedes Computersystem besteht aus drei funktional voneinander getrenntenEinheiten: Dateneingabe, Datenbearbeitung und Datenausgabe. Die Entwicklungder hierfür erforderlichen Hardware ist der Kernbereich der TechnischenInformatik.

22. Oktober 2019 P. Thiemann – Info I 13 / 45

Page 21: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Teilgebiete IV (frei nach der GI)

Angewandte InformatikDie Angewandte Informatik untersucht, inwieweit Abläufe durch den Einsatz vonComputern automatisiert werden können. Verfahren der Simulation undComputergraphik, der Bild- und Sprachverarbeitung sowie der Modellierungschaffen konkrete Anwendungsmöglichkeiten für die Automatisierung.

22. Oktober 2019 P. Thiemann – Info I 14 / 45

Page 22: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Teilgebiete V (frei nach der GI)

Informatik und GesellschaftDer Bereich Informatik und Gesellschaft umfasst Soziologie, Philosophie, Jura undPolitologie und ermöglicht eine umfassende Technikfolgenabschätzung fürComputeranwendungen in der modernen Gesellschaft. Themen sind etwaDatenschutz, Softwarepatente, gesellschaftliche Bewegungen wie Open Sourceund ihr Verhältnis zum Urheberrecht.

22. Oktober 2019 P. Thiemann – Info I 15 / 45

Page 23: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Exkurs: GI . . .

GIDie Gesellschaft für Informatik e.V. (GI) ist die größte Vereinigung vonInformatikerinnen und Informatikern im deutschsprachigen Raum. Sie verstehtsich als Plattform für Informatikfachleute aus Wissenschaft und Wirtschaft, Lehreund Öffentlicher Verwaltung und versammelt eine geballte Konzentration anWissen, Innovation und Visionen. Rund 20.000 persönliche Mitglieder, darunter1.500 Studierende und knapp 300 Unternehmen und Institutionen, profitieren vonunserem Netzwerk.

MitgliedschaftKostenlos für Studenten!22. Oktober 2019 P. Thiemann – Info I 16 / 45

Page 24: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Exkurs: ACM . . .

ACMACM (Association for Computing Machinery), the world’s largest educational andscientific computing society, delivers resources that advance computing as ascience and a profession. ACM provides the computing field’s premier DigitalLibrary and serves its members and the computing profession with leading-edgepublications, conferences, and career resources.

MembershipUSD 19 / year for students. Mandatory if you want to be a CS researcher.

22. Oktober 2019 P. Thiemann – Info I 17 / 45

Page 25: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Computer, Algorithmen,Programme, Programmiersprachenund Prozesse

22. Oktober 2019 P. Thiemann – Info I 18 / 45

Page 26: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Computer . . .

Wie tauch(t)en Computer in unserem täglichen Leben auf?

Kann man den Begriff präzise definieren?22. Oktober 2019 P. Thiemann – Info I 20 / 45

Page 27: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Was ist ein Computer?

Informatik Duden: „(engl.: to compute = rechnen, berechnen; ursprünglichaus dem lat. computare = berechnen ...): Universell einsetzbares Gerät zurautomatischen Verarbeitung von Daten.“Die prinzipiellen Fähigkeiten und Beschränkungen von idealisiertenComputern werden durch das Automatenmodell der universellenTuring-Maschine beschrieben (→ Theoretische Informatik).Der prinzipielle technische Aufbau eines heutigen Computers wird gut durchdie von-Neumann-Architektur beschrieben (→ Technische Informatik).

22. Oktober 2019 P. Thiemann – Info I 21 / 45

Page 28: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Was tut ein Computer?

Um uns dieser Frage zu nähern, sollten wir vier Konzepte verstehen undunterscheiden:

Ein-/Ausgabe,Algorithmus,Programm,(Berechnungs)prozess.

Eine hilfreiche Analogie ist das Kochen . . .

22. Oktober 2019 P. Thiemann – Info I 22 / 45

Page 29: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Ein-/Ausgabe

Eingabe: Ausgabe:

Hier interessiert nur:Welche Zutaten stehen zur Verfügung?Wie sieht die fertige Pizza aus?

22. Oktober 2019 P. Thiemann – Info I 23 / 45

Page 30: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Algorithmus

Wie wird die Pizza zubereitet?

Ich folge einem Rezept (= Algorithmus).Wenn ich die Reihenfolge, in der die Paprika und die Pilze auf den Teig gelegtwerden, ändere, ist das ein anderer Algorithmus, auch wenn das denGeschmack der Pizza vielleicht nicht beeinflusst.

22. Oktober 2019 P. Thiemann – Info I 24 / 45

Page 31: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Algorithmus

Wie wird die Pizza zubereitet?Ich folge einem Rezept (= Algorithmus).

Wenn ich die Reihenfolge, in der die Paprika und die Pilze auf den Teig gelegtwerden, ändere, ist das ein anderer Algorithmus, auch wenn das denGeschmack der Pizza vielleicht nicht beeinflusst.

22. Oktober 2019 P. Thiemann – Info I 24 / 45

Page 32: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Algorithmus

Wie wird die Pizza zubereitet?Ich folge einem Rezept (= Algorithmus).Wenn ich die Reihenfolge, in der die Paprika und die Pilze auf den Teig gelegtwerden, ändere, ist das ein anderer Algorithmus, auch wenn das denGeschmack der Pizza vielleicht nicht beeinflusst.

22. Oktober 2019 P. Thiemann – Info I 24 / 45

Page 33: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Unsere Vorstellung vom Kochen

Die Analogie ist nicht perfekt:

Kochrezepte sind meistens nicht „idiotensicher“. Sie lassen Freiheiten, undsie setzen manches Wissen voraus.Die meisten Rezepte sind für festgelegte Mengen von festgelegten Zutatengeschrieben.

Tatsächlich ist das Konzept eines Algorithmus ja nicht für die Zubereitung vonPizzen sondern für die Durchführung einer Berechnung entwickelt worden (gehtzurück auf Muhammed al-Chwarizmi (ca. 780-850)).

22. Oktober 2019 P. Thiemann – Info I 25 / 45

Page 34: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Multiplikation zweier natürlicher Zahlen mit Hilfe derAddition und Subtraktion

Eingabe und AusgabeEingabe: Zwei natürliche Zahlen L und RAusgabe: Das Produkt von L und R

Algorithmus

1 Setze P auf 0.2 Falls R = 0, gebe P als Ergebnis zurück.3 Addiere L zu P hinzu.4 Reduziere R um 1.5 Mache bei Schritt 2 weiter.

22. Oktober 2019 P. Thiemann – Info I 26 / 45

Page 35: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Multiplikation zweier natürlicher Zahlen mit Hilfe derAddition und Subtraktion

Eingabe und AusgabeEingabe: Zwei natürliche Zahlen L und RAusgabe: Das Produkt von L und R

Algorithmus1 Setze P auf 0.

2 Falls R = 0, gebe P als Ergebnis zurück.3 Addiere L zu P hinzu.4 Reduziere R um 1.5 Mache bei Schritt 2 weiter.

22. Oktober 2019 P. Thiemann – Info I 26 / 45

Page 36: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Multiplikation zweier natürlicher Zahlen mit Hilfe derAddition und Subtraktion

Eingabe und AusgabeEingabe: Zwei natürliche Zahlen L und RAusgabe: Das Produkt von L und R

Algorithmus1 Setze P auf 0.2 Falls R = 0, gebe P als Ergebnis zurück.

3 Addiere L zu P hinzu.4 Reduziere R um 1.5 Mache bei Schritt 2 weiter.

22. Oktober 2019 P. Thiemann – Info I 26 / 45

Page 37: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Multiplikation zweier natürlicher Zahlen mit Hilfe derAddition und Subtraktion

Eingabe und AusgabeEingabe: Zwei natürliche Zahlen L und RAusgabe: Das Produkt von L und R

Algorithmus1 Setze P auf 0.2 Falls R = 0, gebe P als Ergebnis zurück.3 Addiere L zu P hinzu.

4 Reduziere R um 1.5 Mache bei Schritt 2 weiter.

22. Oktober 2019 P. Thiemann – Info I 26 / 45

Page 38: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Multiplikation zweier natürlicher Zahlen mit Hilfe derAddition und Subtraktion

Eingabe und AusgabeEingabe: Zwei natürliche Zahlen L und RAusgabe: Das Produkt von L und R

Algorithmus1 Setze P auf 0.2 Falls R = 0, gebe P als Ergebnis zurück.3 Addiere L zu P hinzu.4 Reduziere R um 1.

5 Mache bei Schritt 2 weiter.

22. Oktober 2019 P. Thiemann – Info I 26 / 45

Page 39: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Multiplikation zweier natürlicher Zahlen mit Hilfe derAddition und Subtraktion

Eingabe und AusgabeEingabe: Zwei natürliche Zahlen L und RAusgabe: Das Produkt von L und R

Algorithmus1 Setze P auf 0.2 Falls R = 0, gebe P als Ergebnis zurück.3 Addiere L zu P hinzu.4 Reduziere R um 1.5 Mache bei Schritt 2 weiter.

22. Oktober 2019 P. Thiemann – Info I 26 / 45

Page 40: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Algorithmus

Vorschrift zur Durchführung einer Berechnung (Folge von Einzelschritten) mitfolgenden Eigenschaften:Präzision Die Bedeutung jedes Einzelschritts ist eindeutig festge-

legt.

Effektivität Jeder Einzelschritt ist ausführbar.Finitheit (statisch) Die Vorschrift ist ein endlicher Text.Finitheit (dynamisch) Bei der Ausführung wird nur endlich viel Speicher be-

nötigt.Terminierung Die Berechnung endet nach endlich vielen Einzelschrit-

ten – für alle legalen Eingaben.

22. Oktober 2019 P. Thiemann – Info I 27 / 45

Page 41: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Algorithmus

Vorschrift zur Durchführung einer Berechnung (Folge von Einzelschritten) mitfolgenden Eigenschaften:Präzision Die Bedeutung jedes Einzelschritts ist eindeutig festge-

legt.Effektivität Jeder Einzelschritt ist ausführbar.

Finitheit (statisch) Die Vorschrift ist ein endlicher Text.Finitheit (dynamisch) Bei der Ausführung wird nur endlich viel Speicher be-

nötigt.Terminierung Die Berechnung endet nach endlich vielen Einzelschrit-

ten – für alle legalen Eingaben.

22. Oktober 2019 P. Thiemann – Info I 27 / 45

Page 42: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Algorithmus

Vorschrift zur Durchführung einer Berechnung (Folge von Einzelschritten) mitfolgenden Eigenschaften:Präzision Die Bedeutung jedes Einzelschritts ist eindeutig festge-

legt.Effektivität Jeder Einzelschritt ist ausführbar.Finitheit (statisch) Die Vorschrift ist ein endlicher Text.

Finitheit (dynamisch) Bei der Ausführung wird nur endlich viel Speicher be-nötigt.

Terminierung Die Berechnung endet nach endlich vielen Einzelschrit-ten – für alle legalen Eingaben.

22. Oktober 2019 P. Thiemann – Info I 27 / 45

Page 43: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Algorithmus

Vorschrift zur Durchführung einer Berechnung (Folge von Einzelschritten) mitfolgenden Eigenschaften:Präzision Die Bedeutung jedes Einzelschritts ist eindeutig festge-

legt.Effektivität Jeder Einzelschritt ist ausführbar.Finitheit (statisch) Die Vorschrift ist ein endlicher Text.Finitheit (dynamisch) Bei der Ausführung wird nur endlich viel Speicher be-

nötigt.

Terminierung Die Berechnung endet nach endlich vielen Einzelschrit-ten – für alle legalen Eingaben.

22. Oktober 2019 P. Thiemann – Info I 27 / 45

Page 44: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Algorithmus

Vorschrift zur Durchführung einer Berechnung (Folge von Einzelschritten) mitfolgenden Eigenschaften:Präzision Die Bedeutung jedes Einzelschritts ist eindeutig festge-

legt.Effektivität Jeder Einzelschritt ist ausführbar.Finitheit (statisch) Die Vorschrift ist ein endlicher Text.Finitheit (dynamisch) Bei der Ausführung wird nur endlich viel Speicher be-

nötigt.Terminierung Die Berechnung endet nach endlich vielen Einzelschrit-

ten – für alle legalen Eingaben.

22. Oktober 2019 P. Thiemann – Info I 27 / 45

Page 45: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Gegenbeispiele

Male ein Haus hin (Präzision).

Teile die Zahl durch 0 (Effektivität).Unendlich lange Vorschriften sind schwer vorstellbar, aber in der Mathematikgibt es unendliche Axiomensysteme (statische Finitheit).Schreibe die Zahl π mit allen Nachkommastellen hin (dynamische Finitheit,Effektivität).Ersetze den Test R = 0 durch L = 0 (Terminierung nur noch wenn L = 0!).

22. Oktober 2019 P. Thiemann – Info I 28 / 45

Page 46: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Gegenbeispiele

Male ein Haus hin (Präzision).Teile die Zahl durch 0 (Effektivität).

Unendlich lange Vorschriften sind schwer vorstellbar, aber in der Mathematikgibt es unendliche Axiomensysteme (statische Finitheit).Schreibe die Zahl π mit allen Nachkommastellen hin (dynamische Finitheit,Effektivität).Ersetze den Test R = 0 durch L = 0 (Terminierung nur noch wenn L = 0!).

22. Oktober 2019 P. Thiemann – Info I 28 / 45

Page 47: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Gegenbeispiele

Male ein Haus hin (Präzision).Teile die Zahl durch 0 (Effektivität).Unendlich lange Vorschriften sind schwer vorstellbar, aber in der Mathematikgibt es unendliche Axiomensysteme (statische Finitheit).

Schreibe die Zahl π mit allen Nachkommastellen hin (dynamische Finitheit,Effektivität).Ersetze den Test R = 0 durch L = 0 (Terminierung nur noch wenn L = 0!).

22. Oktober 2019 P. Thiemann – Info I 28 / 45

Page 48: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Gegenbeispiele

Male ein Haus hin (Präzision).Teile die Zahl durch 0 (Effektivität).Unendlich lange Vorschriften sind schwer vorstellbar, aber in der Mathematikgibt es unendliche Axiomensysteme (statische Finitheit).Schreibe die Zahl π mit allen Nachkommastellen hin (dynamische Finitheit,Effektivität).

Ersetze den Test R = 0 durch L = 0 (Terminierung nur noch wenn L = 0!).

22. Oktober 2019 P. Thiemann – Info I 28 / 45

Page 49: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Gegenbeispiele

Male ein Haus hin (Präzision).Teile die Zahl durch 0 (Effektivität).Unendlich lange Vorschriften sind schwer vorstellbar, aber in der Mathematikgibt es unendliche Axiomensysteme (statische Finitheit).Schreibe die Zahl π mit allen Nachkommastellen hin (dynamische Finitheit,Effektivität).Ersetze den Test R = 0 durch L = 0 (Terminierung nur noch wenn L = 0!).

22. Oktober 2019 P. Thiemann – Info I 28 / 45

Page 50: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Weitere wünschenswerte Eigenschaften

Weitere Eigenschaften, die oft als wünschenswert für Algorithmen genanntwerden:Determinismus Die Folgeschritte sind immer eindeutig festgelegt.

Determiniertheit Bei gleicher Eingabe erzeugt die Vorschrift die gleicheAusgabe – berechnet also eine Funktion.

Generalität Die Vorschrift kann eine ganze Klasse von Problemenlösen.

Alle

Beispiele, die wir in dieser Vorlesung kennen lernen werden, erfüllen dieBedingungen. Aber auch Vorschriften, die diese Extra-Bedingungen nicht erfüllen,werden als Algorithmen angesehen.

22. Oktober 2019 P. Thiemann – Info I 29 / 45

Page 51: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Weitere wünschenswerte Eigenschaften

Weitere Eigenschaften, die oft als wünschenswert für Algorithmen genanntwerden:Determinismus Die Folgeschritte sind immer eindeutig festgelegt.Determiniertheit Bei gleicher Eingabe erzeugt die Vorschrift die gleiche

Ausgabe – berechnet also eine Funktion.

Generalität Die Vorschrift kann eine ganze Klasse von Problemenlösen.

Alle

Beispiele, die wir in dieser Vorlesung kennen lernen werden, erfüllen dieBedingungen. Aber auch Vorschriften, die diese Extra-Bedingungen nicht erfüllen,werden als Algorithmen angesehen.

22. Oktober 2019 P. Thiemann – Info I 29 / 45

Page 52: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Weitere wünschenswerte Eigenschaften

Weitere Eigenschaften, die oft als wünschenswert für Algorithmen genanntwerden:Determinismus Die Folgeschritte sind immer eindeutig festgelegt.Determiniertheit Bei gleicher Eingabe erzeugt die Vorschrift die gleiche

Ausgabe – berechnet also eine Funktion.Generalität Die Vorschrift kann eine ganze Klasse von Problemen

lösen.

Alle

Beispiele, die wir in dieser Vorlesung kennen lernen werden, erfüllen dieBedingungen. Aber auch Vorschriften, die diese Extra-Bedingungen nicht erfüllen,werden als Algorithmen angesehen.

22. Oktober 2019 P. Thiemann – Info I 29 / 45

Page 53: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Weitere wünschenswerte Eigenschaften

Weitere Eigenschaften, die oft als wünschenswert für Algorithmen genanntwerden:Determinismus Die Folgeschritte sind immer eindeutig festgelegt.Determiniertheit Bei gleicher Eingabe erzeugt die Vorschrift die gleiche

Ausgabe – berechnet also eine Funktion.Generalität Die Vorschrift kann eine ganze Klasse von Problemen

lösen.

Alle

Beispiele, die wir in dieser Vorlesung kennen lernen werden, erfüllen dieBedingungen. Aber auch Vorschriften, die diese Extra-Bedingungen nicht erfüllen,werden als Algorithmen angesehen.

22. Oktober 2019 P. Thiemann – Info I 29 / 45

Page 54: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Programm

Ein Programm ist der Algorithmus notiert („aufgeschrieben“) in einer geeignetenSprache.

6=

Es gibt verschiedene Programmiersprachen, aber sie alle sind formale Sprachen,d.h., sie sind exakt, durch strikte Regeln, definiert. Das unterscheidet sie vonnatürlichen Sprachen wie Deutsch oder Italienisch.

22. Oktober 2019 P. Thiemann – Info I 30 / 45

Page 55: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Programmiersprachen

SystemprogrammiersprachenNahe an der MaschineAbbildung auf Maschine offensichtlich

Höhere ProgrammiersprachenIdealisiertes BerechnungsmodellAbbildung auf Maschine einfach

Deklarative ProgrammiersprachenSpezifikation der Aufgabe anstelle eines Berechnugsmodells (Was statt Wie)Abbildung auf Maschine schwierig

22. Oktober 2019 P. Thiemann – Info I 31 / 45

Page 56: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Programmiersprachen

SystemprogrammiersprachenNahe an der MaschineAbbildung auf Maschine offensichtlich

Höhere ProgrammiersprachenIdealisiertes BerechnungsmodellAbbildung auf Maschine einfach

Deklarative ProgrammiersprachenSpezifikation der Aufgabe anstelle eines Berechnugsmodells (Was statt Wie)Abbildung auf Maschine schwierig

22. Oktober 2019 P. Thiemann – Info I 31 / 45

Page 57: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Programmiersprachen

SystemprogrammiersprachenNahe an der MaschineAbbildung auf Maschine offensichtlich

Höhere ProgrammiersprachenIdealisiertes BerechnungsmodellAbbildung auf Maschine einfach

Deklarative ProgrammiersprachenSpezifikation der Aufgabe anstelle eines Berechnugsmodells (Was statt Wie)Abbildung auf Maschine schwierig

22. Oktober 2019 P. Thiemann – Info I 31 / 45

Page 58: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Elemente von Programmiersprachen

So wie Sätze in natürlicher Sprache aus Wörtern und Satzzeichen gemäß einerbestimmten Grammatik zusammengefügt werden, so werden Programme in einerProgrammiersprache aus Grundbausteinen unter Verwendung vonKombinationsmitteln zusammengefügt.

Es kommt noch ein Konzept hinzu: Abstraktionsmittel, um Programmelemente zubenennen.

22. Oktober 2019 P. Thiemann – Info I 32 / 45

Page 59: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Elemente von Programmiersprachen

So wie Sätze in natürlicher Sprache aus Wörtern und Satzzeichen gemäß einerbestimmten Grammatik zusammengefügt werden, so werden Programme in einerProgrammiersprache aus Grundbausteinen unter Verwendung vonKombinationsmitteln zusammengefügt.Es kommt noch ein Konzept hinzu: Abstraktionsmittel, um Programmelemente zubenennen.

22. Oktober 2019 P. Thiemann – Info I 32 / 45

Page 60: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Prozess

Der Vorgang des Kochens, also das Ausführen eines Programms, an einembestimmten Ort zu einer bestimmten Zeit.

22. Oktober 2019 P. Thiemann – Info I 33 / 45

Page 61: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Berechnungsprozess

Der Ablauf eines Programms auf einem bestimmten Rechner zu einerbestimmten Zeit.In dieser Vorlesung spielt der Begriff des Prozesses keine große Rolle,obwohl wir natürlich unsere Programme auch gelegentlich mal laufen lassenwollen.In Betriebssystemen dreht sich alles um Prozesse. Z. B.: Wieviel Rechenzeitauf welchem Prozessor bekommt welcher Prozess wann spendiert?

22. Oktober 2019 P. Thiemann – Info I 34 / 45

Page 62: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Ein-/Ausgabe, Algorithmus, Programm,(Berechnungs)prozess

Ein Algorithmus ist eine Vorschrift zur Durchführung einer Berechnung.Ein bestimmtes EIn-/Ausgabe-Verhalten kann evtl. durch verschiedeneAlgorithmen erreicht werden.Ein Programm ist die konkrete Umsetzung eines Algorithmus in einerProgrammiersprache.Ein Algorithmus kann in verschiedenen Programmiersprachen und durchverschiedene Programme implementiert werden.Ein Programm kann mehrmals auf verschiedenen Computern auf der ganzenWelt laufen, gehört also zu vielen Prozessen.

22. Oktober 2019 P. Thiemann – Info I 35 / 45

Page 63: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

AlgorithmusComputer

Algorithmen undKochen

Beispiel

Eigenschaften

Programme undProgrammierspra-chen

Berechnungspro-zess

Schluss

Exkurs:Denken wieeinInformatiker

Aphorismus

Ein Rechner ist ein Vollidiot mit Spezialbegabung. Er hat ein großes,präzises Gedächtnis und kann schneller rechnen als ein Mensch.

— Prof. Dr. Gerhard Goos (1962)

22. Oktober 2019 P. Thiemann – Info I 36 / 45

Page 64: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Exkurs: Denken wie ein Informatiker

22. Oktober 2019 P. Thiemann – Info I 37 / 45

Page 65: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Denken wie ein Informatiker/eine Informatikerin

Ein Studium vermittelt Kenntnisse und FähigkeitenEs verändert aber auch die Sicht auf die WeltInformatiker tendieren dazu, in ihrer Umgebung nach dem algorithmischenKern von Problemen zu suchen . . .. . . und diesen Kern dann auf dem Computer zu lösen.

22. Oktober 2019 P. Thiemann – Info I 39 / 45

Page 66: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Beispielszenario

Ein Informatikprofessor geht einer seiner Lieblingsbeschäftigungen nach . . .

22. Oktober 2019 P. Thiemann – Info I 40 / 45

Page 67: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Die gemeinsame Reisekasse

Im Ausland kann man oft nicht einzeln zahlen, sondern muss in der Gruppealles zahlen.

Das ist auch sowieso einfacher . . .. . . und wird abwechselnd von den Gruppenmitgliedern übernommen.Zum Schluss haben einige mehr bezahlt, die anderen weniger.Man muss Ausgleichszahlungen durchführen.Bei 3-4 Leuten einfach, bei 8-10 Leuten wird es unübersichtlich.

22. Oktober 2019 P. Thiemann – Info I 41 / 45

Page 68: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Die gemeinsame Reisekasse

Im Ausland kann man oft nicht einzeln zahlen, sondern muss in der Gruppealles zahlen.Das ist auch sowieso einfacher . . .

. . . und wird abwechselnd von den Gruppenmitgliedern übernommen.Zum Schluss haben einige mehr bezahlt, die anderen weniger.Man muss Ausgleichszahlungen durchführen.Bei 3-4 Leuten einfach, bei 8-10 Leuten wird es unübersichtlich.

22. Oktober 2019 P. Thiemann – Info I 41 / 45

Page 69: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Die gemeinsame Reisekasse

Im Ausland kann man oft nicht einzeln zahlen, sondern muss in der Gruppealles zahlen.Das ist auch sowieso einfacher . . .. . . und wird abwechselnd von den Gruppenmitgliedern übernommen.

Zum Schluss haben einige mehr bezahlt, die anderen weniger.Man muss Ausgleichszahlungen durchführen.Bei 3-4 Leuten einfach, bei 8-10 Leuten wird es unübersichtlich.

22. Oktober 2019 P. Thiemann – Info I 41 / 45

Page 70: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Die gemeinsame Reisekasse

Im Ausland kann man oft nicht einzeln zahlen, sondern muss in der Gruppealles zahlen.Das ist auch sowieso einfacher . . .. . . und wird abwechselnd von den Gruppenmitgliedern übernommen.Zum Schluss haben einige mehr bezahlt, die anderen weniger.

Man muss Ausgleichszahlungen durchführen.Bei 3-4 Leuten einfach, bei 8-10 Leuten wird es unübersichtlich.

22. Oktober 2019 P. Thiemann – Info I 41 / 45

Page 71: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Die gemeinsame Reisekasse

Im Ausland kann man oft nicht einzeln zahlen, sondern muss in der Gruppealles zahlen.Das ist auch sowieso einfacher . . .. . . und wird abwechselnd von den Gruppenmitgliedern übernommen.Zum Schluss haben einige mehr bezahlt, die anderen weniger.Man muss Ausgleichszahlungen durchführen.

Bei 3-4 Leuten einfach, bei 8-10 Leuten wird es unübersichtlich.

22. Oktober 2019 P. Thiemann – Info I 41 / 45

Page 72: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Die gemeinsame Reisekasse

Im Ausland kann man oft nicht einzeln zahlen, sondern muss in der Gruppealles zahlen.Das ist auch sowieso einfacher . . .. . . und wird abwechselnd von den Gruppenmitgliedern übernommen.Zum Schluss haben einige mehr bezahlt, die anderen weniger.Man muss Ausgleichszahlungen durchführen.Bei 3-4 Leuten einfach, bei 8-10 Leuten wird es unübersichtlich.

22. Oktober 2019 P. Thiemann – Info I 41 / 45

Page 73: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Beispiel

−23 +17

17

+12

6

−6

6

22. Oktober 2019 P. Thiemann – Info I 42 / 45

Page 74: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Beispiel

−23 +17

17

+12

6

−6

6

22. Oktober 2019 P. Thiemann – Info I 42 / 45

Page 75: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Beispiel

−23 +17

17

+12

6

−6

6

22. Oktober 2019 P. Thiemann – Info I 42 / 45

Page 76: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Beispiel

−23 +17

17

+12

6

−6

6

22. Oktober 2019 P. Thiemann – Info I 42 / 45

Page 77: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Beispiel

−23 +17

17

+12

6

−6

6

Nachteil: U.U. muss jemand mehrere Überweisungen tätigen oder jemand mussauf mehrere Überweisung warten.

22. Oktober 2019 P. Thiemann – Info I 42 / 45

Page 78: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Reisekassen-Ausgleichszahlungs-Problem

Bei einer abendlichen Diskussion mit allen kamen wir auf folgende Anforderungen:

Jeder sollte maximal eine Überweisung tätigen und eine Überweisungempfangen und . . .. . . der maximal zu überweisende Betrag sollte minimal sein.

Bestimme, wer was wem zu bezahlen hat: Ausprobieren aller Reihenfolgen.

22. Oktober 2019 P. Thiemann – Info I 43 / 45

Page 79: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Einige mögliche Reihenfolgen

−23 +17

23

−6

6

+12

12

23 6 ?

23 29 12

22. Oktober 2019 P. Thiemann – Info I 44 / 45

Page 80: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Einige mögliche Reihenfolgen

−23 +17

23

−6

6

+12

12

23 6 ?

23 29 12

22. Oktober 2019 P. Thiemann – Info I 44 / 45

Page 81: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Einige mögliche Reihenfolgen

−23 +17

23

−6

6

+12

12

−23 +17

23

+12

6

−6

?

23 29 12

22. Oktober 2019 P. Thiemann – Info I 44 / 45

Page 82: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Einige mögliche Reihenfolgen

−23 +17

23

−6

6

+12

12

−23 +17

23

+12

6

−6

?

23 29 12

22. Oktober 2019 P. Thiemann – Info I 44 / 45

Page 83: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Einige mögliche Reihenfolgen

−23 +17

23

−6

6

+12

12

−23 +17

23

+12

6

−6

?

−23 −6

23

+17

29

+12

12

22. Oktober 2019 P. Thiemann – Info I 44 / 45

Page 84: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Einige mögliche Reihenfolgen

−23 +17

23

−6

6

+12

12

−23 +17

23

+12

6

−6

?

−23 −6

23

+17

29

+12

12

22. Oktober 2019 P. Thiemann – Info I 44 / 45

Page 85: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Reisekassen-Ausgleichszahlungs-Algorithmus

Iteriere über alle Reihenfolgen (Permutationen) und führe für jedeReihenfolge folgendes durch:

1 Prüfe ob nur positive Zahlungen erfolgen,2 falls ja, bestimme die maximale Zahlung und merke dir diesen Wert für diese

Reihenfolge.Gebe eine Reihenfolge mit minimalem Wert zurück.

→ Betrachte n! Reihenfolgen, was bei großem n sehr lange dauern kann.→ Es gibt (vermutlich) keine effiziente Lösung, da das Problem NP-schwer ist.

Der Urlaubs-Abschluss ist aber gerettet.

22. Oktober 2019 P. Thiemann – Info I 45 / 45

Page 86: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Reisekassen-Ausgleichszahlungs-Algorithmus

Iteriere über alle Reihenfolgen (Permutationen) und führe für jedeReihenfolge folgendes durch:

1 Prüfe ob nur positive Zahlungen erfolgen,

2 falls ja, bestimme die maximale Zahlung und merke dir diesen Wert für dieseReihenfolge.

Gebe eine Reihenfolge mit minimalem Wert zurück.

→ Betrachte n! Reihenfolgen, was bei großem n sehr lange dauern kann.→ Es gibt (vermutlich) keine effiziente Lösung, da das Problem NP-schwer ist.

Der Urlaubs-Abschluss ist aber gerettet.

22. Oktober 2019 P. Thiemann – Info I 45 / 45

Page 87: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Reisekassen-Ausgleichszahlungs-Algorithmus

Iteriere über alle Reihenfolgen (Permutationen) und führe für jedeReihenfolge folgendes durch:

1 Prüfe ob nur positive Zahlungen erfolgen,2 falls ja, bestimme die maximale Zahlung und merke dir diesen Wert für diese

Reihenfolge.

Gebe eine Reihenfolge mit minimalem Wert zurück.

→ Betrachte n! Reihenfolgen, was bei großem n sehr lange dauern kann.→ Es gibt (vermutlich) keine effiziente Lösung, da das Problem NP-schwer ist.

Der Urlaubs-Abschluss ist aber gerettet.

22. Oktober 2019 P. Thiemann – Info I 45 / 45

Page 88: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Reisekassen-Ausgleichszahlungs-Algorithmus

Iteriere über alle Reihenfolgen (Permutationen) und führe für jedeReihenfolge folgendes durch:

1 Prüfe ob nur positive Zahlungen erfolgen,2 falls ja, bestimme die maximale Zahlung und merke dir diesen Wert für diese

Reihenfolge.Gebe eine Reihenfolge mit minimalem Wert zurück.

→ Betrachte n! Reihenfolgen, was bei großem n sehr lange dauern kann.→ Es gibt (vermutlich) keine effiziente Lösung, da das Problem NP-schwer ist.

Der Urlaubs-Abschluss ist aber gerettet.

22. Oktober 2019 P. Thiemann – Info I 45 / 45

Page 89: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Reisekassen-Ausgleichszahlungs-Algorithmus

Iteriere über alle Reihenfolgen (Permutationen) und führe für jedeReihenfolge folgendes durch:

1 Prüfe ob nur positive Zahlungen erfolgen,2 falls ja, bestimme die maximale Zahlung und merke dir diesen Wert für diese

Reihenfolge.Gebe eine Reihenfolge mit minimalem Wert zurück.

→ Betrachte n! Reihenfolgen, was bei großem n sehr lange dauern kann.→ Es gibt (vermutlich) keine effiziente Lösung, da das Problem NP-schwer ist.

Der Urlaubs-Abschluss ist aber gerettet.

22. Oktober 2019 P. Thiemann – Info I 45 / 45

Page 90: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Reisekassen-Ausgleichszahlungs-Algorithmus

Iteriere über alle Reihenfolgen (Permutationen) und führe für jedeReihenfolge folgendes durch:

1 Prüfe ob nur positive Zahlungen erfolgen,2 falls ja, bestimme die maximale Zahlung und merke dir diesen Wert für diese

Reihenfolge.Gebe eine Reihenfolge mit minimalem Wert zurück.

→ Betrachte n! Reihenfolgen, was bei großem n sehr lange dauern kann.

→ Es gibt (vermutlich) keine effiziente Lösung, da das Problem NP-schwer ist.Der Urlaubs-Abschluss ist aber gerettet.

22. Oktober 2019 P. Thiemann – Info I 45 / 45

Page 91: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Reisekassen-Ausgleichszahlungs-Algorithmus

Iteriere über alle Reihenfolgen (Permutationen) und führe für jedeReihenfolge folgendes durch:

1 Prüfe ob nur positive Zahlungen erfolgen,2 falls ja, bestimme die maximale Zahlung und merke dir diesen Wert für diese

Reihenfolge.Gebe eine Reihenfolge mit minimalem Wert zurück.

→ Betrachte n! Reihenfolgen, was bei großem n sehr lange dauern kann.→ Es gibt (vermutlich) keine effiziente Lösung, da das Problem NP-schwer ist.

Der Urlaubs-Abschluss ist aber gerettet.

22. Oktober 2019 P. Thiemann – Info I 45 / 45

Page 92: Informatik I: Einführung in die Programmierung...Inhaltder Vorlesung Wasist Informatik? Algorithmus Computer Algorithmenund Kochen Beispiel Eigenschaften Programmeund Programmierspra-chen

Inhalt derVorlesung

Was istInformatik?

Algorithmus

Exkurs:Denken wieeinInformatiker

Reisekassen-Ausgleichszahlungs-Algorithmus

Iteriere über alle Reihenfolgen (Permutationen) und führe für jedeReihenfolge folgendes durch:

1 Prüfe ob nur positive Zahlungen erfolgen,2 falls ja, bestimme die maximale Zahlung und merke dir diesen Wert für diese

Reihenfolge.Gebe eine Reihenfolge mit minimalem Wert zurück.

→ Betrachte n! Reihenfolgen, was bei großem n sehr lange dauern kann.→ Es gibt (vermutlich) keine effiziente Lösung, da das Problem NP-schwer ist.

Der Urlaubs-Abschluss ist aber gerettet.

22. Oktober 2019 P. Thiemann – Info I 45 / 45