Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Informatik I: Einführung in die Programmierung1. Grundlagen
Albert-Ludwigs-Universität Freiburg
Peter Thiemann22. Oktober 2019
Inhalt derVorlesung
Was istInformatik?
Algorithmus
Exkurs:Denken wieeinInformatiker
Inhalt der Vorlesung
22. Oktober 2019 P. Thiemann – Info I 2 / 45
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
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
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
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
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
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
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
Inhalt derVorlesung
Was istInformatik?
Algorithmus
Exkurs:Denken wieeinInformatiker
Was ist Informatik?
22. Oktober 2019 P. Thiemann – Info I 5 / 45
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Inhalt derVorlesung
Was istInformatik?
Algorithmus
Exkurs:Denken wieeinInformatiker
Exkurs: Denken wie ein Informatiker
22. Oktober 2019 P. Thiemann – Info I 37 / 45
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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