Kapitel 1. Einführung in Algorithmen. 1.1 Einführende Beispiele

Größe: px
Ab Seite anzeigen:

Download "Kapitel 1. Einführung in Algorithmen. 1.1 Einführende Beispiele"

Transkript

1 Kapitel 1 Einführung in Algorithmen Precept may point to us the way, but it is silent continuous example, conveyed to us by habits, and living with us in fact, that carries us along. (Samuel Smiles) 1.1 Einführende Beispiele Um ein intuitives Verständnis zu erreichen, betrachten wir zu Beginn eine Anzahl von Beispielen, die (mehr oder weniger) dem Alltag entnommen sind. Beispiel 1: Bauanleitung Quelle: IKEA 15

2 M. Werner: Algorithmen & Programmierung Beispiel 2: Rezept Caipirinha Zutaten: 3 cl Zuckerrohrschnaps (Cachaca) Eine Limette Zwei Teelöffel brauner Zucker gecrushtes Eis Zubereitung: Limette in Achtelstücke schneiden, in ein Longdrinkglas geben und den braunen Zucker darüber streuen. Limettenstücke mit einem Holzmörser gut zerdrücken und mit dem Zucker vermischen Anschließend den Zuckerrohrschnaps drübergießen und das Glas mit gecrushtem Eis auffüllen Gut mischen und mit einem oder zwei Trinkhalmen servieren. 16

3 1. Einführung in Algorithmen 1.1 Beispiele Beispiel 3: Quadratische Gleichung Gegeben: Gleichung a x 2 + b x + c = 0, wobei a 0 Gesucht: Alle x, die die gegebene Gleichung erfüllen Algorithmus x 1,2 = b ± b 2 4 a c 2 a Beispiel 4: Weg durch das Labyrinth Regel Gehe immer so, dass Du mit der rechten Hand die Wand berührst! Beispiel 5: Schriftliche Addition Problem: Addiere zwei mehrstellige Zahlen Algorithmus: 1. Schreibe die Zahlen rechtsbündig so hin, dass jeweils zwei Ziffern in Spalten untereinander stehen 2. Beginne mit der Spalte, die am weitesten rechts ist 3. Addiere die Zahlen in dieser Spalte 4. Schreibe die Einerstelle der Summe unter die Spalte 5. Schreibe die Zehnerstelle der Summe über die Spalte links der aktuellen 6. Wiederhole ab Schritt (3) mit nächster Spalte links der aktuellen, bis keine Spalte mehr übrig ist 7. Die unterste Zeile ist das Ergebnis 17

4 M. Werner: Algorithmen & Programmierung =? Beispiel 6: Bruch kürzen Problem: Kürze einen Bruch Algorithmus: 1. Finde den größten gemeinsamen Teiler (ggt) von Zähler (Z) und Nenner (N) Berechnung des ggt zweier Zahlen x und y Wenn x = y gilt, so ist ggt(x, y) x Wenn x y gilt, so ist ggt(x, y) ggt(min(x, y), abs(x y)) 2. Teile Z und N durch ggt(z, N) Beispiel: Kürze ggt(15, 25) = ggt(min(15, 25), abs(15 25)) = ggt(15, abs( 10)) = ggt(15, 10) = ggt(min(15, 10), abs(15 10)) = ggt(10, 5) = ggt(min(10, 5), abs(10 5)) = ggt(5, 5) = 5 Der Algorithmus zum Bestimmen des größten gemeinsamen Teilers stammt von Euklid (Euklid von Alexandria, ca. 360 v. Chr. bis ca. 280 v. Chr.) und gilt als der älteste (nichttriviale) Algorithmus. Er war von Euklid ursprünglich als Aussage über geometrischen Stecken gedacht und lautete etwa: Wenn CD aber AB nicht misst, und man nimmt bei AB, CD abwechselnd immer das kleinere vom größeren weg, dann muss (schließlich) eine Zahl übrig bleiben, die die vorangehende misst. 18

5 1. Einführung in Algorithmen 1.1 Beispiele Beispiel 7: Magisches Quadrat Hexeneinmaleins Du mußt versteh n! Aus Eins mach Zehn, Und Zwei laß geh n, Und Drei mach gleich, So bist Du reich. Verlier die Vier! Aus Fünf und Sechs, So sagt die Hex, Mach Sieben und Acht, So ist s vollbracht Goethe, Faust I Beispiel 8: Geometrische Streckenhalbierung Problem: Halbieren Sie eine gegebene Strecke nur mit Hilfe eines Zirkels und eines (unbemaßten) Lineals Algorithmus: 1. Stelle am Zirkel eine Entfernung ein, die deutlich größer als die halbe Strecke ist 2. Zeichne mit dieser Einstellung um das eine Ende der Strecke einen Kreis 3. Zeichne mit der gleichen Einstellung um das andere Ende der Strecke einen Kreis 4. Verbinde mit dem Lineal die Schnittpunkte der Kreise mit einer Geraden 5. Wo die Gerade die Strecke schneidet, befindet sich die Mitte der Stecke A AB 2 B 19

6 M. Werner: Algorithmen & Programmierung Beispiel 9: Tanzschritte Langsamer Walzer, Grundschritt Beispiel 10: Musik Beispiel 11: Ableitung einer Funktion Problem: Finde die Ableitung nach x einer Funktion f(x) Algorithmus: 1. Ist f(x) eine Summe so ist die Ableitungen die Summe der Ableitungen der Summanden 2. Ist f(x) ein Produkt so ist die Ableitung die Summe des Produkts des ersten Faktors mit der Ableitung des zweiten Faktors und des Produkts des zweiten Faktors mit der Ableitung des ersten Faktors 3. Ist f(x) eine Funktion einer anderen Funktion von x, so ist die Ableitung das Produkt Ableitung der äußeren Funktion nach der inneren Funktion und der Ableitung der inneren Funktion 4. Ist f(x) nicht von x abhängig, so ist die Ableitung 0 20

7 1. Einführung in Algorithmen 1.1 Beispiele 5. Ist f(x) = x k, so ist die Ableitung k x k 1 6. Ist f(x) = a x, so ist die Ableitung a x ln a 7. Ist f(x) = sin(x), so ist die Ableitung cos(x) 8. Ist f(x) = log a (x), so ist die Ableitung 1 x log a e Man beachte: Wie bei Beispiel 6 wird der Algorithmus von sich selbst aufgerufen (Regeln 1, 2 und 3) Beispiel 12: Sortieren Problem: Sortiere folgende Spielkarten nach ihrem Wert beim Skat 1 : B 7 B 8 7 D 9 Algorithmus: 1. Man beginnt mit den beiden Karten, die am weitesten links liegen 2. Wenn die größere der beiden Karten rechts liegt, vertauscht man beide Karten 3. Gehe eine Karte nach rechts und wiederhole Schritt 2 4. Wenn man bei den beiden Karten ganz rechts angelangt ist, beginnt man wieder bei Schritt 1, falls mindestens einmal getauscht wurde Runde 1: B 7 B 8 D 9 Runde 1: B 7 B 8 D 9 Runde 1: B 7 B 8 D 9 Runde 1: B 7 B 8 D 9 Runde 1: B 7 B 8 D 9 1 Etwas vereinfacht: Kartenwert über Farbwert, Kartenwertreihenfolge: B,A,10,K,D,9,8,7; Farbreihenfolge: Kreuz, Pik, Herz, Karo 21

8 M. Werner: Algorithmen & Programmierung Runde 1: B 7 B 8 D 9 Runde 1: B 7 B 8 D 9 Runde 1: B B 7 8 D 9 Runde 1: B B 7 8 D 9 Runde 1: B B 7 8 D 9 Runde 1: B B 7 8 D 9 Runde 1: B B 8 7 D 9 Runde 1: B B 8 7 D 9 Runde 1: B B 8 7 D 9 Runde 1: B B 8 7 D 9 Runde 1: B B 8 D 7 9 Runde 1: B B 8 D 7 9 Runde 1: B B 8 D 9 7 Runde 2: B B 8 D 9 7 Runde 2: B B 8 D 9 7 Runde 2: B B 8 D 9 7 Runde 2: B B 8 D

9 1. Einführung in Algorithmen 1.1 Beispiele Runde 2: B B 8 D 9 7 Runde 2: B B 8 D 9 7 Runde 2: B B 8 D 9 7 Runde 2: B B 8 D 9 7 Runde 2: B B 8 D 9 7 Runde 2: B B 8 D 9 7 Runde 2: B B 8 D 9 7 Runde 2: B B 8 D 9 7 Runde 2: B B 8 D 9 7 Runde 3: B B 8 D 9 7 Runde 3: B B 8 D 9 7 Runde 3: B B 8 D 9 7 Runde 3: B B 8 D 9 7 Runde 3: B B 8 D 9 7 Runde 3: B B 8 D 9 7 Runde 3: B B 8 D 9 7 Runde 3: B B D

10 M. Werner: Algorithmen & Programmierung Runde 3: B B D Runde 3: B B D Runde 3: B B D Runde 3: B B D Runde 4: B B D Runde 4: B B D Runde 4: B B D Runde 4: B B D Runde 4: B B D Runde 4: B B D Runde 4: B B D Runde 4: B B D Runde 4: B B D Runde 4: B B D Runde 5: B B D Runde 5: B B D Runde 5: B B D

11 1. Einführung in Algorithmen 1.2 Algorithmenbegriff Runde 5: B B D Runde 5: B B D Runde 5: B B D Runde 5: B B D Runde 5: B B D Runde 5: B B D Runde 5: B B D Begriff und Eigenschaften Abu Jafar Muhammad ibn Mūsā al-chwārizmī, lateinisiert: Algoritmi Universalgelehrter 780 ca. 842 Stammte aus Chwarizm (Gebiet in Zentralasien südl. des Aral) Wirkte in Persien (heute Iran) Führte die (indische) Null ins arabische Zahlensystem ein Rechenregeln mit diesem modernen Zahlensystem legte er in einem Buch vor, dessen lateinische Version den Titel Algoritmi de numero indorum (Das Werk des Al-gorismus über indische Zahlen) trägt Daher stammt der Begriff Algorithmus für Rechenregeln, später allgemeiner gebraucht 25

12 M. Werner: Algorithmen & Programmierung Bildquelle: Alain Juhel Allerdings existieren schon vor al-chwarizmi Rechenregeln (Algorithmen), vermutlich seit etwa 1800 v. Chr. Seite aus dem lateinischen Text zu indischen Zahlen, die mit DIXIT algorizmi (Algorithmus hat gesagt) beginnt. Bildquelle: Cambridge, University Library, Ii Definition Es gibt verschiedene Formalisierungen des Algorithmen-Begriffs Benutzen zunächst recht allgemeinen Begriff2 : 2 Es 26 gibt derzeit keine allgemein akzeptierte formale Definition von Algorithmus.

13 1. Einführung in Algorithmen 1.2 Algorithmenbegriff Definition 1.1: Algorithmus Ein Algorithmus ist Handlungsvorschrift, die aus einer endlichen Anzahl von wohldefinierten und effektiven Einzelschritten besteht, und die dazu dient, ein bestimmtes Ziel zu erreichen. Endliche Anzahl: Die Beschreibung der Algorithmus besitzt endliche Länge Finitheit Wohldefinierter Schritt: Alle Schritte müssen eindeutig sein Definiertheit Effektiver Schritt: Alle Elemente müssen direkt ausführbar sein Effektivität, Ausführbarkeit Quelle: xkcd - A webcomic of romance, sarcasm, math, and language Finitheit Algorithmen können auf verschiedene Weise beschrieben werden siehe Beispiele weiter vorn Aber: Es muss stets gewährleistet sein, dass zur Darstellung nur eine Maximalmenge Datenträger verbraucht wird Text Platz Größe Zeichnung etc. Definiertheit Betrachten folgenden Algorithmus zur Übernahme von Google: 27

14 M. Werner: Algorithmen & Programmierung 1. Gehe nach New York 2. Mache eine Million Dollar 3. Spekuliere an der Börse bis Du 500 Milliarden Dollar zusammen hast 4. Kaufe alle Aktien von Alphabet Inc. 3 auf Die Schritte 2 und 3 sind nicht genau definiert (und wahrscheinlich auch nicht definierbar) Ausführbarkeit Jeder Teil eines Algorithmus sollte direkt oder mit Hilfe eines anderen Algorithmus ausführbar sein Test: Prinzipiell muss alles mit Stift und Papier nachvollziehbar sein Betrachten folgenden Algorithmus zu Primzahlzwillingen: 1. Lese zwei Zahlen x 1 und x 2 ein 2. Wenn x 1 keine Primzahl ist oder wenn x 2 keine Primzahl ist, dann gebe Keine zwei Primzahlen aus und gehe zu 5 3. Wenn abs(x 1 x 2 ) 2, dann gebe Keine Primzahlzwillinge aus und gehe zu 5 4. Wenn x 1 und x 2 die größten Primzahlzwillinge sind, gebe größte Primzahlzwillinge aus, sonst gebe Primzahlzwillinge aus 5. Beende Algorithmus Alle Schritte sind exakt definiert Aber: Bis heute (Herbst 2016) weiß niemand, ob es ein größtes Primzahlzwillingspaar gibt oder wie man dieses ggf. bestimmt Weitere Eigenschaften Mitunter werden noch mehr Eigenschaften verlangt Abstrahierung: Der Algorithmus soll nicht nur ein Problem lösen, sondern eine Klasse von Problemen 3 Alphabet Inc. ist die Muttergesellschaft aller Google-Unternehmen 28

15 1. Einführung in Algorithmen 1.2 Algorithmenbegriff Terminierung: Nach einer endlichen Anzahl von Schritten ist der Algorithmus beendet Determinismus: Zu jedem Zeitpunkt gibt es höchstens eine Möglichkeit der Fortsetzung Determiniertheit: Unter den gleichen Anfangsbedingungen gelten am Ende stets die gleichen Endbedingungen Dynamische Finitheit, Ressourcenbeschränkung: Ein Algorithmus darf stets nur eine endliche Menge von Ressourcen benutzen Merke Es gibt Algorithmen, die eine oder mehrere dieser Eigenschaften nicht haben Für uns sind (hier) aber nur die Algorithmen interessant, die abstrahierend, terminierend, determiniert, deterministisch und ressourcenbeschränkt sind (... und natürlich aus einer endlichen Menge von wohldefinierten und effektiven Schritten bestehen) Außerdem: Uns interessieren Algorithmen, die (vor allem) auf einem Computer ausgeführt werden Betrachten diese Eigenschaften im Folgenden genauer Computeralgorithmen Computer: der, von lat. ( computare = zusammenrechnen) eng. ( to compute = rechnen) Computer können Daten manipulieren, aber nicht ohne weiteres Objekte der realen Welt Objekte der realen Welt benötigen eine Daten-Repräsentation ( Abbildung) Abbildung erfolgt über Computerperipherie (Ein-/Ausgabegeräte) Eigentlicher Algorithmus betrachtet nur Daten Struktur der Daten kann sehr komplex sein siehe Vorlesung Algorithmen und Datenstrukturen 29

16 M. Werner: Algorithmen & Programmierung Abstrahierung Um den gleichen Algorithmus für eine Vielzahl von Fällen nutzen zu können, wird der Algorithmus parameterisiert Parameterisierung erfolgt über die Eingabedaten Ergebnis des Algorithmus wird in den Ausgabedaten dargestellt Eingabe Algorithmus Ausgabe Dies entspricht dem Modell einer mathematischen Funktion: A = f(e) E entspricht der Eingabe, A der Ausgabe, und f dem Algorithmus Durch die Äquivalenz mit einer Funktion wird ein Computeralgorithmus zu einem Berechnungsproblem Lässt sich also alles berechnen (also programmieren)? Nein! Z.B. gibt es keinen Algorithmus, der für zwei beliebige andere Algorithmen berechnen kann, ob sie dieselbe Funktion berechnen Es gibt noch nicht mal einen Algorithmus, der stets berechnen kann, ob ein beliebig gegebener anderer Algorithmus zum Ende kommt (terminiert) oder nicht Solche Probleme der Grenzen der Machbarkeit sind Gegenstand der theoretischen Informatik Terminierung Betrachten folgenden Algorithmus: 1. Gehe zu Schritt 2 2. Gehe zu Schritt 1 3. Beende Algorithmus Obwohl die Beschreibung des Algorithmus endlich ist, ist die Ausführung nie beendet Schritt 3 wird nie erreicht 30

17 1. Einführung in Algorithmen 1.2 Algorithmenbegriff Falls ein Algorithmus Ausgaben produziert, weiß man bei einem nichtterminierenden Algorithmus nicht, wann die Ausgabe vollständig/gültig ist Es gibt nichtterminierende Algorithmen, die aber hier nicht betrachtet werden Quelle: xkcd - A webcomic of romance, sarcasm, math, and language Effizienz In der Praxis sollen Algorithmen nicht nur nicht unendlich lange laufen, sondern sogar nicht sehr lange Die Dauer der Ausführung wird als Gütekriterium eines Algorithmus angesehen Die Dauer hängt typischerweise von der Größe des Problems ab Beispiel: Der Sortieralgorithmus aus Beispiel 12 dauert für 20 Spielkarten in der Regel länger als für 10 Karten Um den Algorithmus unabhängig von der ausführenden Hardware beurteilen zu können, wird meist ein normiertes Maß benutzt: (Zeit-)Komplexität Später mehr darüber Determinismus und Determiniertheit Betrachten folgenden Algorithmus: 1. Lasse Dir eine Zahl geben 2. Werfe eine Würfel 3. Wenn der Würfel mehr als 3 anzeigt, multipliziere die Zahl mit 2 und gehe zu Schritt 2 31

18 M. Werner: Algorithmen & Programmierung 4. Gebe die Zahl aus Dieser Algorithmus ist nicht deterministisch: Es ist nicht (a priori) klar, welcher Schritt nach Schritt 3 ausgeführt wird Er ist auch nicht determiniert: Auch bei gleichem Eingabewert können unterschiedliche Ausgangswerte vorkommen Nichtdeterministische Algorithmen werden auch randomisierte Algorithmen genannt Ein deterministischer Algorithmus kann mit einem Zufallswert gefüttert werden Merke Ein terminierender und deterministischer Algorithmus ist stets auch determiniert Aber: Das Ergebnis eines randomisierten Algorithmus kann auch determiniert sein Randomisierte Algorithmen bilden eine wichtige Klasse von Algorithmen Mitunter sind sie schneller oder effizienter als deterministische Algorithmen mehr bei Prof. Lefmann Ressourcenbeschränkung Theoretisch kann ein Algorithmus fast unendlich viel Ressourcen nutzen, in der Praxis steht immer nur eine beschränkte Anzahl zur Verfügung Betrachten folgenden Fall: Sie erhalten einen Kettenbrief mit 8 Namen und folgenden Instruktionen: Schicke an die Person, die oben auf der Liste steht, einen Eurocent. Nun streiche den obersten Namen und füge Deinen unten an die Liste an. Dann fertige 12 Kopien dieses Briefes und schicke ihn an 12 Menschen, die noch nicht an diesem Spiel teilgenommen haben. Nach einiger Zeit wirst Du Eurocents im Wert von fast 5 Millionen Euro erhalten. Selbst, wenn derjenige, der sich dieses Spiel ausgedacht hat, Ihnen einen der ersten zwölf Briefen geschickt hat, wären (ca. 5,6 Milliarden 4 ) verschiedene Menschen nötig, die sich am Spiel beteiligen, damit dieses Schneeballsystem funktioniert und Sie ihren Gewinn 5 erhielten 4 Zum Vergleich: Die Gesamtbevölkerung der Erde wurde zum Jahresbeginn 2016 auf ca. 7,4 Mrd. geschätzt. 5 Der übrigens auch nur ca. 4,3 Millionen betragen würde. 32

19 1. Einführung in Algorithmen 1.3 Modelle Das Beispiel zeigt, dass der Ressourcenverbrauch auch scheinbar einfacher Algorithmen sehr schnell steigen kann Bei Computeralgorithmen bezieht sich der Ressourcenverbrauch auf den benötigten Speicher Wie die Ausführungsdauer wird auch der Speicherverbrauch normiert, um Algorithmen vergleichen zu können (Speicher)-Platzkomplexität Die Platzkomplexität ist neben der Zeitkomplexität das wichtigste Bewertungsmaß für Algorithmen 1.3 Modelle Ein Modell für Algorithmen haben wir bereits kennengelernt: die mathematische Funktion Ausgangsdaten als Funktion von Eingangsdaten Die Eingangsdaten sind von den Ausgangsdaten unabhängig Alternativer Ansatz: Es wird nicht zwischen Eingangsdaten und Ausgangsdaten unterschieden Daten werden durch den Algorithmus bearbeitet Zu jedem gegebenen Zeitpunkt während des Ablauf des Algorithmus besitzen die Daten einen bestimmten Zustand Die folgenden Abbildungen zeigt den konzeptionellen Unterschied zwischen beiden Modellen: Funktion: Eingabe Algorithmus Ausgabe Zustandsänderung: Algorithmus Daten 33

20 M. Werner: Algorithmen & Programmierung Zustandsänderung als Zeitreihe Im Zustandsmodell 6 können die Werte der Daten als Reihe d 1, d 2, d 3,..., bzw. als Zeitreihe: d t1, d t2, d t3,... aufgefasst werden Ein einzelner Schritt des Algorithmus kann wieder als Funktion aufgefasst werden: d t+1 = f St (d t ) Um nicht ständig Indizes zu schreiben, lässt man sie bei der Beschreibung von Algorithmen häufig weg und schreibt: d f St (d) Dabei ist auf der linken Seite der neue und auf der rechten Seite der alte Wert von d gemeint Interpretation: Folgezustand ist Funktion des Vorzustandes Achtung Viele Programmiersprachen (u.a. auch C und Java) nutzen die Schreibweise wenn eigentlich gemeint ist. d = f(d) d f(d) Das Gleichheitszeichen = ist hier nicht als mathematisches Gleichheitszeichen zu verstehen Bei anderen Programmiersprachen wird versucht, diese Verwirrung zu vermeiden, indem dort :=, <- o.ä. benutzt wird Konditionalmodell Prinzipiell kann jeder Algorithmus ausschließlich aus einer Menge von Wenn-Dann- Regeln (Konditionalklauseln) bestehen: Wenn A gilt, dann geschehe X Wenn B gilt, dann geschehe Y Wenn C gilt, dann geschehe Z 6 Achtung, der Begriff Zustandsmodell hat in anderen Gebieten eine z.t. völlig andere Bedeutungen, z.b. in der Regelungtechnik 34

21 1. Einführung in Algorithmen 1.3 Modelle Die Reihenfolge der Regeln ist dabei nicht (unbedingt) entscheidend Die Bedingung kann sowohl von einem Zustand als auch von einer Eingabe abhängen, ist also mit dem Funktionsmodell und dem Zustandsmodell kompatibel Das Konditionalmodell ist orthogonal 7 zu Funktions- und Zustandsmodell Beispielalgorithmus 11 (Ableitung) ist nach diesem Modell gestaltet Diskussion Alle drei Modelle sind gleichmächtig Programmiersprachen nutzen in der Regel alle drei Modelle, jedoch in unterschiedlicher Ausprägung Welches Modell zur Formulierung eines Algorithmus tatsächlich genutzt wird, hängt von ab der Art des Problems (manche lassen sich besser in einem bestimmten Modell ausdrücken) den vorgegebenen Möglichkeiten zur Problembeschreibung (z.b. Programmiersprache) persönlichen Vorlieben Elemente eines Algorithmus Computeralgorithmen bestehen aus wenigen Klassen von abstrakten Elementen: Was machen? Ausdrücke auswerten, z.b.: b+ b 2 4 a c 2 a...die Spielkarte, die am weitesten links liegt... der erste Buchstabe im Wort Zustandsänderungen, z.b.: Linken Fuß an den rechten Fuß heranziehen i i + 1 Tausche zwei Karten Andere Algorithmen nutzen, z.b.: 7 Eigentlich: rechtwinklig; wird im Sinne des orthogonalen Koordinatensystems für frei kombinierbare Parameter genutzt. 35

22 M. Werner: Algorithmen & Programmierung berechne den ggt... Funktionsruf Wie zusammensetzen? Sequenzen, z.b.: erst Limette in Achtelstücke schneiden, dann in ein Longdrinkglas geben... Verzweigungen, z.b.: Wenn x > y, dann... sonst... Wiederholungen, z.b.: 10 mal wiederholen wiederholen bis keine Spalte mehr übrig ist Starten Sie den Algorithmus erneut mit den Parametern... Knobelaufgaben Aufgabe 1.1 Überlegen Sie sich, wie oft sie im Algorithmus aus Beispiel 12 jeweils im günstigsten und im ungünstigsten Fall zwei Karten miteinander tauschen müssen, wenn Sie auf diese Weise n Karten sortieren wollen. Aufgabe 1.2 Beweisen Sie, dass der Algorithmus aus Beispiel 8 tatsächlich die Strecke AB halbiert! Aufgabe 1.3 Formulieren Sie die Algorithmen aus den Beispielen 4 und 8 in der Konditionalform! 36

1.1 Einführende Beispiele. Beispiel 1: Bauanleitung. Beispiel 2: Rezept. Algorithmen und Programmierung. 1. Kapitel Einführung in Algorithmen

1.1 Einführende Beispiele. Beispiel 1: Bauanleitung. Beispiel 2: Rezept. Algorithmen und Programmierung. 1. Kapitel Einführung in Algorithmen Algorithmen und Programmierung Wintersemester 2018/2019 1.1 Einführende Beispiele Algorithmen und Programmierung 1. Kapitel Einführung in Algorithmen Beginnen mit 12 Beispielen für Algorithmen, mehr oder

Mehr

1.1 Einführende Beispiele. Beispiel 2: Rezept. Beispiel 1: Bauanleitung. Algorithmen und Programmierung. 1. Kapitel Einführung in Algorithmen

1.1 Einführende Beispiele. Beispiel 2: Rezept. Beispiel 1: Bauanleitung. Algorithmen und Programmierung. 1. Kapitel Einführung in Algorithmen Algorithmen und Programmierung Wintersemester 2016/2017 Algorithmen und Programmierung 1. Kapitel Einführung in Algorithmen Beginnen mit 12 Beispielen für Algorithmen, mehr oder weniger aus dem Alltag

Mehr

Kapitel 1. Einführung in Algorithmen. 1.1 Einführende Beispiele

Kapitel 1. Einführung in Algorithmen. 1.1 Einführende Beispiele Kapitel 1 Einführung in Algorithmen Precept may point to us the way, but it is silent continuous example, conveyed to us by habits, and living with us in fact, that carries us along. (Samuel Smiles) 1.1

Mehr

1 Einführung: Algorithmen. Algorithmen und Datenstrukturen WS 2012/13. Pro f. Dr. Sán do r Fe k e te

1 Einführung: Algorithmen. Algorithmen und Datenstrukturen WS 2012/13. Pro f. Dr. Sán do r Fe k e te 1 Einführung: Algorithmen Algorithmen und Datenstrukturen WS 2012/13 Pro f. Dr. Sán do r Fe k e te Literatur 1.1 Was ist ein Algorithmus? Ein Algorithmus ist eine aus endlich vielen Schritten bestehende

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften

Mehr

Algorithmen und Programmierung

Algorithmen und Programmierung Algorithmen und Programmierung Skript zur Vorlesung Prof. Dr.-Ing. habil. Matthias Werner Stand: 25. Oktober 2017 Dieses Skript wurde mit L A TEX unter Nutzung verschiedener Klassen/Pakete erstellt. Eigene

Mehr

Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung

Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung Teil I Einführung Überblick 1 Vorbemerkungen 2 Algorithmen 3 4 Historischer Überblick Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 1 1 Vorbemerkungen Was ist Informatik? Informatik

Mehr

Einführung in die Objektorientierte Programmierung Vorlesung 2: Mikroskopisches und Makroskopisches Computational Thinking.

Einführung in die Objektorientierte Programmierung Vorlesung 2: Mikroskopisches und Makroskopisches Computational Thinking. Einführung in die Objektorientierte Programmierung Vorlesung 2: Mikroskopisches und Makroskopisches Computational Thinking Sebastian Küpper Das makroskopische Modell: Objekte Objekt: Abbild konkreter individuell

Mehr

1 Vom Problem zum Program

1 Vom Problem zum Program Ein Problem besteht darin, aus einer Menge von Informationen eine weitere (unbekannte) Information zu bestimmen. mathematisch: Ein Problem beschreibt eine Funktion f : E A, mit E = zulässige Eingaben und

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm 1 Vom Problem zum Programm Ein Problem besteht darin, aus einer Menge von Informationen eine weitere (unbekannte) Information zu bestimmen. mathematisch: Ein Problem beschreibt eine Funktion f : E A, mit

Mehr

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

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

Mehr

Informatik I. Informatik I Was haben wir gelernt? 28.2 Algorithmusbegriff Was geht nicht? 28.1 Was haben wir gelernt?

Informatik I. Informatik I Was haben wir gelernt? 28.2 Algorithmusbegriff Was geht nicht? 28.1 Was haben wir gelernt? Informatik I 14.02.2014 28. Ausblick Informatik I 28. Ausblick Bernhard Nebel Albert-Ludwigs-Universität Freiburg 28.1 28.2 28.3 Was geht nicht? 14.02.2014 Bernhard Nebel (Universität Freiburg) Informatik

Mehr

Informatik I: Einführung in die Programmierung

Informatik I: Einführung in die Programmierung Informatik I: Einführung in die Programmierung 30. Ausblick Albert-Ludwigs-Universität Freiburg Bernhard Nebel 13.02.2016 1 13.02.2016 B. Nebel Info I 3 / 17 Programmieren jedenfalls ein bisschen Python-Programme

Mehr

Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München

Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München Informatik 1 Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München 1 0 Allgemeines Inhalt dieser Vorlesung: Einführung in Grundkonzepte der Informatik; Einführung in Denkweisen der Informatik;

Mehr

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

Informatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Informatik Teil 1 Wintersemester 2011/2012 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen Inhalt 1. Algorithmen -

Mehr

Kapitel 1 Einleitung. Definition: Algorithmus nach M. Broy: aus: Informatik: Eine grundlegende Einführung, Band 1, Springer-Verlag, Berlin

Kapitel 1 Einleitung. Definition: Algorithmus nach M. Broy: aus: Informatik: Eine grundlegende Einführung, Band 1, Springer-Verlag, Berlin Kapitel 1 Einleitung 1.1. Begriff des Algorithmus Eine der ältesten Beschreibungstechniken für Abläufe: Benannt nach dem Mathematiker Al-Khwarizmi (ca. 780...840), der am Hof der Kalifen von Bagdad wirkte.

Mehr

Seminararbeit zum Thema Was ist ein Algorithmus?

Seminararbeit zum Thema Was ist ein Algorithmus? Seminararbeit zum Thema Was ist ein Algorithmus? Martin Griesser 05. Juni 2013 Inhaltsverzeichnis 1 Vorwort 2 2 Wortherkunft 2 3 Definition 2 3.1 Algorithmus und Berechenbarkeit.................. 2 3.2

Mehr

1 Algorithmische Grundlagen

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

Mehr

2. Algorithmenbegriff

2. Algorithmenbegriff 2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen

Mehr

1 Karol stellt sich vor

1 Karol stellt sich vor Kapitel 1 Karol stell sich vor Seite 1 1 Karol stellt sich vor 1.1 Algorithmus Fritz hat zum Geburtstag einen CD-Player als Geschenk erhalten. Natürlich will er sofort das Geschenk ausprobieren und legt

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Kapitel 2. Kapitel 2 Natürliche und ganze Zahlen

Kapitel 2. Kapitel 2 Natürliche und ganze Zahlen Natürliche und ganze Zahlen Inhalt 2.1 2.1 Teiler 12 12 60 60 2.2 2.2 Primzahlen 2, 2, 3, 3, 5, 5, 7, 7, 11, 11, 13, 13,...... 2.3 2.3 Zahldarstellungen 17 17 = (1 (10 0 0 1) 1) 2 2 2.4 2.4 Teilbarkeitsregeln

Mehr

Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen

Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen Verhalten Def. und Nutzen von Verhalten Algorithmen Pseudocode Schreibtischtest Verhalten & Pseudocode Das Verhalten beschreibt, wie sich die Datenstrukturen (Variablen) eines Programms verändern müssen,

Mehr

Clevere Algorithmen programmieren

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

Mehr

Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III

Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III Text: Hinnerk van Bruinehsen - Grafiken: Jens Fischer powered by SDS.mint SoSe 2011 1 Teil

Mehr

2 Einführung. Übersicht. Begriffe: Algorithmus, Datenstruktur, Effizienz Beispiele. H. Täubig (TUM) GAD SS 14 11

2 Einführung. Übersicht. Begriffe: Algorithmus, Datenstruktur, Effizienz Beispiele. H. Täubig (TUM) GAD SS 14 11 Übersicht 2 Begriffe: Algorithmus, Datenstruktur, Effizienz H. Täubig (TUM) GAD SS 14 11 Begriffe: Algorithmus, Datenstruktur, Effizienz Übersicht 2 Begriffe: Algorithmus, Datenstruktur, Effizienz H. Täubig

Mehr

Primitiv? Primzahlen und Primfaktoren schätzen lernen. Dr. Heinrich Schneider, Wien. M 1 Grundlegende Zahlenmengen wiederhole dein Wissen!

Primitiv? Primzahlen und Primfaktoren schätzen lernen. Dr. Heinrich Schneider, Wien. M 1 Grundlegende Zahlenmengen wiederhole dein Wissen! S 1 Primitiv? Primzahlen und Primfaktoren schätzen lernen Dr. Heinrich Schneider, Wien M 1 Grundlegende Zahlenmengen wiederhole dein Wissen! Die natürlichen Zahlen n 1, 2, 3, 4, 5, heißen natürliche Zahlen.

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Sommersemester 2018 Tobias Lasser Computer Aided Medical Procedures Technische Universität München Multiplikation langer Zahlen Schulmethode: gegeben Zahlen

Mehr

Grundlagen der Algorithmen und Datenstrukturen

Grundlagen der Algorithmen und Datenstrukturen Grundlagen der Algorithmen und Datenstrukturen Christian Scheideler + Helmut Seidl SS 2009 01.04.09 Kapitel 0 1 Vorlesung: Organisatorisches Di 12:00 13:30 MI HS 1 Do 12:00 12:45 MI HS 1 Übungen: 34 Alternativen

Mehr

Algorithmen - unplugged

Algorithmen - unplugged 1 Algorithmen - unplugged «(...) ein Algorithmus, der Leben und Meinungen von Millionen beeinflusst, (...) kann eine Waffe sein.» NN Eine Einstiegsaufgabe (aus Informatik-Biber) Ich kenne nur diese beiden

Mehr

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall: Laufzeit von Quicksort im Mittel. Wir wollen die erwartete Effizienz von Quicksort ermitteln. Wir nehmen an, die Wahrscheinlichkeit, dass das gewählte Pivot-Element a j das k-t kleinste Element der Folge

Mehr

Algorithmen und Programmierung

Algorithmen und Programmierung Algorithmen und Programmierung Skript zur Vorlesung Prof. Dr.-Ing. habil. Matthias Werner Stand: 24. November 2016 Dieses Skript wurde mit L A TEX unternutzungverschiedenerklassen/paketeerstellt. Eigene

Mehr

Grundlagen der Informatik I Einführung

Grundlagen der Informatik I Einführung Grundlagen der Informatik I Einführung Konzepte imperativer Programmierung : Six, H.W., 99 Themen der heutigen Veranstaltung 1. Informatik, Computer, Programmierung 2. Problem und Algorithmus 3. Programme

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 5: Der Begriff des Algorithmus (erste grundlegende Aspekte) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik November 2008 1/34 Überblick Eine Zeitreise

Mehr

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

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

Mehr

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn Algorithmen und Programme Algorithmus Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man umgangssprachlich,

Mehr

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

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

Mehr

1. Einführung. Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen?

1. Einführung. Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen? 1. Einführung Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen? Wie beschreiben wir Algorithmen? Nach welchen Kriterien

Mehr

Algorithmus. Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion.

Algorithmus. Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion. Algorithmus Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion. Hier einige informelle Erklärungen zum Algorithmus P

Mehr

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16 Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16 21. Januar 2016 Definition 8.1 Eine Menge R zusammen mit zwei binären Operationen

Mehr

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

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

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 14: Der Begriff des Algorithmus (einige grundlegende Aspekte) Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der

Mehr

Algorithmen und Datenstrukturen SS Übungsblatt 1: Grundlagen

Algorithmen und Datenstrukturen SS Übungsblatt 1: Grundlagen Ludwig-Maximilians-Universität München München, 16.04.2018 Institut für Informatik Prof. Dr. Thomas Seidl Anna Beer, Florian Richter Algorithmen und Datenstrukturen SS 2018 Übungsblatt 1: Grundlagen Tutorien:

Mehr

5. Probeklausur - Lösung

5. Probeklausur - Lösung EI M5 2011-12 MATHEMATIK 5. Probeklausur - Lösung 1. Aufgabe (2 Punkte) Bilde die erste Ableitung der Funktion f mit sin für reelle Zahlen x. Hier haben wir unter der Wurzel noch eine Funktion, daher benutzen

Mehr

Ideen und Konzepte der Informatik

Ideen und Konzepte der Informatik Ideen und Konzepte der Informatik Programme und Algorithmen Antonios Antoniadis 23. Oktober 2017 Algorithmen und Programme Algorithmus Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert

Mehr

Einführung in die Informatik Algorithms

Einführung in die Informatik Algorithms Einführung in die Informatik Algorithms Vom Problem zum Algorithmus und zum Programm Wolfram Burgard Cyrill Stachniss 1.1 Motivation und Einleitung In der Informatik sucht man im Normalfall nach Verfahren

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 6: Der Begriff des Algorithmus (erste grundlegende Aspekte) Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/42

Mehr

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

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

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Kapitel 6 Lineare Gleichungssysteme 6. Gaußalgorithmus Aufgabe 6. : Untersuchen Sie die folgenden linearen Gleichungssysteme mit dem Gaußalgorithmus auf Lösbarkeit und bestimmen Sie jeweils die Lösungsmenge.

Mehr

Einführung. 1 Vektoren

Einführung. 1 Vektoren Einführung Die Vektorgeometrie beschreibt geometrische Sachverhalte in einer algebraischen Sprache. Sie gibt uns ein mathematisches Hilfsmittel in die Hand, mit welchem wir Geometrie nicht nur konstruktiv

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen

Mehr

Abschnitt 11: Korrektheit von imperativen Programmen

Abschnitt 11: Korrektheit von imperativen Programmen Abschnitt 11: Korrektheit von imperativen Programmen 11. Korrektheit von imperativen Programmen 11.1 11.2Testen der Korrektheit in Java Peer Kröger (LMU München) in die Programmierung WS 16/17 931 / 961

Mehr

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1 Zeitkomplexität (1) Proseminar Theoretische Informatik Proseminar Theoretische Informatik: Lisa Dohrmann 1 Warum Komplexitätsbetrachtung? Ein im Prinzip entscheidbares und berechenbares Problem kann in

Mehr

Der Euklidische Algorithmus Dieter Wolke

Der Euklidische Algorithmus Dieter Wolke Der Euklidische Algorithmus Dieter Wolke Einleitung. Für den Begriff Algorithmus gibt es keine einheitliche Definition. Eine sehr knappe findet sich in der Encyclopaedia Britannica (1985) A systematic

Mehr

Beispiellösungen zu Blatt 7

Beispiellösungen zu Blatt 7 µathematischer κorrespondenz- zirkel Mathematisches Institut Georg August Universität Göttingen Aufgabe Beispiellösungen zu Blatt 7 Die handelsüblichen Papierformate DIN A0, DIN A usw. haben folgende praktische

Mehr

Angewandte Mathematik am Rechner 1

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

Mehr

5 D E R B E G R I F F D E S A L G O R I T H M U S

5 D E R B E G R I F F D E S A L G O R I T H M U S 5 D E R B E G R I F F D E S A L G O R I T H M U S Muhammad ibn Mūsā al-khwārizmī lebte ungefähr von 780 bis 850. Abbildung 5.1 zeigt eine (relativ beliebte weil copyright-freie) Darstellung auf einer russischen

Mehr

Lineare Funktionen. Die generelle Form der Funktion lautet dabei:

Lineare Funktionen. Die generelle Form der Funktion lautet dabei: Lineare Funktionen Das Thema lineare Funktionen begleitet euch in der Regel von der 7. Klasse an und wird stufenweise erlernt. Meist beginnt es mit einfachem Zeichnen oder Ablesen einer linearen Funktion

Mehr

Lineare Funktionen. y = m x + n

Lineare Funktionen. y = m x + n Lineare Funktionen Das Thema lineare Funktionen begleitet euch in der Regel von der 7. Klasse an und wird stufenweise erlernt. Meist beginnt es mit einfachem Zeichnen oder Ablesen einer linearen Funktion

Mehr

Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1

Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1 Algorithmen und Datenstrukturen 1. EINLEITUNG Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Allgemeines Einleitung Zu den Begriffen: Algorithmen und Datenstrukturen systematische

Mehr

1 Die Strahlensätze 2. 2 Winkel 3. 3 Rechtwinklige Dreiecke 3. 4 Kreise 6. 5 Trigonometrische Funktionen 8. 6 Kurven in Parameterdarstellung 10

1 Die Strahlensätze 2. 2 Winkel 3. 3 Rechtwinklige Dreiecke 3. 4 Kreise 6. 5 Trigonometrische Funktionen 8. 6 Kurven in Parameterdarstellung 10 Universität Basel Wirtschaftswissenschaftliches Zentrum Abteilung Quantitative Methoden Mathematischer Vorkurs Dr. Thomas Zehrt Geometrie Inhaltsverzeichnis 1 Die Strahlensätze 2 2 Winkel 3 3 Rechtwinklige

Mehr

Einführung in die Informatik Turing Machines

Einführung in die Informatik Turing Machines Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard Cyrill Stachniss 1/14 Motivation und Einleitung Bisher haben wir verschiedene

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen? Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen

Mehr

Zahlen und elementares Rechnen

Zahlen und elementares Rechnen und elementares Rechnen Christian Serpé Universität Münster 7. September 2011 Christian Serpé (Universität Münster) und elementares Rechnen 7. September 2011 1 / 51 Gliederung 1 2 Elementares Rechnen 3

Mehr

Einführung in die Informatik I (autip)

Einführung in die Informatik I (autip) Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis

Mehr

Einführung in die Informatik Turing Machines

Einführung in die Informatik Turing Machines Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard 1 Motivation und Einleitung Bisher haben wir verschiedene Programmiersprachen

Mehr

Wintersemester 2006/2007 Helmut Seidl Institut für Informatik TU München

Wintersemester 2006/2007 Helmut Seidl Institut für Informatik TU München Informatik 1 Wintersemester 2006/2007 Helmut Seidl Institut für Informatik TU München 1 0 Allgemeines Inhalt dieser Vorlesung: Einführung in Grundkonzepte der Informatik; Einführung in Denkweisen der Informatik;

Mehr

Man sieht hier einzelne Fragmente, die man häufig bei der Programmierung mit Schleifen antrifft. Es gibt eine lokale Variable, die vor dem

Man sieht hier einzelne Fragmente, die man häufig bei der Programmierung mit Schleifen antrifft. Es gibt eine lokale Variable, die vor dem 214 215 Man sieht hier einzelne Fragmente, die man häufig bei der Programmierung mit Schleifen antrifft. Es gibt eine lokale Variable, die vor dem Schleifenstart initialisiert und die innerhalb der Schleife

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 5.2 Das P N P Problem 1. Nichtdeterministische Lösbarkeit 2. Sind N P-Probleme handhabbar? 3. N P-Vollständigkeit Bei vielen schweren Problemen ist Erfolg leicht zu testen

Mehr

2.2 Kollineare und koplanare Vektoren

2.2 Kollineare und koplanare Vektoren . Kollineare und koplanare Vektoren Wie wir schon gelernt haben, können wir einen Vektor durch Multiplikation mit einem Skalar verlängern oder verkürzen. In Abbildung 9 haben u und v die gleiche Richtung,

Mehr

Grundlagen der Informatik I (Studiengang Medieninformatik)

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

Mehr

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45 Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009

Mehr

1.3 Aussagen. Beispiel: Das Bruttosozialprodukt der Bundesrepublik Deutschland ist höher als das der USA ist eine offenbar falsche Aussage.

1.3 Aussagen. Beispiel: Das Bruttosozialprodukt der Bundesrepublik Deutschland ist höher als das der USA ist eine offenbar falsche Aussage. 1.3 Aussagen In der Mathematik geht es um Aussagen. Eine Aussage ist ein statement, das entweder wahr oder falsch sein kann. Beides geht nicht! Äußerungen, die nicht die Eigenschaft haben, wahr oder falsch

Mehr

Lernzirkel: Grenzprozesse

Lernzirkel: Grenzprozesse Lernzirkel: Grenzprozesse Mit diesem Lernzirkel kannst du verschiedene Grenzprozesse kennenlernen und dein Verständnis solcher Prozesse vertiefen. Bei jeder Station bearbeitest du ein anderes Thema. Dieses

Mehr

schreiben, wobei p und q ganze Zahlen sind.

schreiben, wobei p und q ganze Zahlen sind. Schülerinfotag 1. Man zeige, dass keine rationale Zahl ist. Das heißt lässt sich nicht als p q schreiben, wobei p und q ganze Zahlen sind. Proof. Wir werden das Prinzip Beweis durch Widerspruch verwenden.

Mehr

Zahlentheorie I - Tipps & Lösungen. Aktualisiert: 15. Oktober 2016 vers Teilbarkeit

Zahlentheorie I - Tipps & Lösungen. Aktualisiert: 15. Oktober 2016 vers Teilbarkeit Schweizer Mathematik-Olympiade smo osm Zahlentheorie I - Tipps & Lösungen Aktualisiert: 15. Oktober 2016 vers. 1.2.0 1 Teilbarkeit Einstieg 1.1 Zeige, dass 900 ein Teiler von 10! ist. Tipp: Schreibe 900

Mehr

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn November 2016 Algorithmen und Programme Algorithmus = Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man

Mehr

Kapitel 1: Informationsverarbeitung durch Programme

Kapitel 1: Informationsverarbeitung durch Programme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung

Mehr

Zahlen. Vorlesung Mathematische Strukturen. Sommersemester Zahlen. Zahlen

Zahlen. Vorlesung Mathematische Strukturen. Sommersemester Zahlen. Zahlen Vorlesung Mathematische Strukturen Sommersemester 2016 Prof. Barbara König Übungsleitung: Christine Mika & Dennis Nolte Division mit Rest Seien a, b Z zwei ganze mit a 0. Dann gibt es eindeutig bestimmte

Mehr

P, NP und NP -Vollständigkeit

P, NP und NP -Vollständigkeit P, NP und NP -Vollständigkeit Mit der Turing-Maschine haben wir einen Formalismus kennengelernt, um über das Berechenbare nachdenken und argumentieren zu können. Wie unsere bisherigen Automatenmodelle

Mehr

Informatik Algorithmen und Programme

Informatik Algorithmen und Programme Informatik Algorithmen und Programme Seite 1 Grundlagen der Programmierung: Spezifikation Phasen der Software-Entwicklung Spezifikation Problem und seine Lösung beschreiben vollständig detailliert unzweideutig

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 31 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 31 1 Überlegungen zur Effizienz 2 Landau-Symbole 3 Eier im Korb 4 Zyklische

Mehr

FD Informatik Mauch SSDL (WHRS) Reutlingen. Algorithmen

FD Informatik Mauch SSDL (WHRS) Reutlingen. Algorithmen FD Informatik Mauch SSDL (WHRS) Reutlingen Algorithmen Überblick Definition Notwendigkeit Realisierung Grundkonzepte Umsetzung im Unterricht Algorithmus? Ein Algorithmus ist eine Verwaltungsvorschrift,

Mehr

Orientierungsmodul Oberstufe OS 1. Zahlen auf dem Zahlenstrahl darstellen und interpretieren. natürliche Zahlen bis 2 Millionen lesen und schreiben

Orientierungsmodul Oberstufe OS 1. Zahlen auf dem Zahlenstrahl darstellen und interpretieren. natürliche Zahlen bis 2 Millionen lesen und schreiben ernziele Inhalt/ernziele Zahlendarstellung Zahlen auf dem Zahlenstrahl darstellen und interpretieren natürliche Zahlen bis 2 Millionen lesen und schreiben Schwierigkeitsgrad A1 73%, A2 57%, A4 56% A3 68%

Mehr

Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60

Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60 Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester

Mehr

Kostenmodell. Daniel Graf, Tobias Pröger. 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016)

Kostenmodell. Daniel Graf, Tobias Pröger. 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016) Kostenmodell Daniel Graf, Tobias Pröger 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016) Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 32 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 32 1 Überblick: was ist Effizienz? 2 Landau-Symbole 3 Eier im Korb 4

Mehr

Download. Basics Mathe Gleichungen mit Klammern und Binomen. Einfach und einprägsam mathematische Grundfertigkeiten wiederholen.

Download. Basics Mathe Gleichungen mit Klammern und Binomen. Einfach und einprägsam mathematische Grundfertigkeiten wiederholen. Download Michael Franck Basics Mathe Gleichungen mit Klammern und Binomen Einfach und einprägsam mathematische Grundfertigkeiten wiederholen Downloadauszug aus dem Originaltitel: Basics Mathe Gleichungen

Mehr

Amortisierte Analysen

Amortisierte Analysen Amortisierte Analysen 26. Mai 2016 1 Einleitung Es gibt viele Datenstrukturen, bei deren Komplexitätsanalyse das Problem auftaucht, dass die Ausführung mancher Operationen Einfluss auf die Komplexität

Mehr

WS 2009/10. Diskrete Strukturen

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

Mehr

Vektoren - Die Basis

Vektoren - Die Basis Vektoren - Die Basis Motivation (Als Vereinfachung - der Schreibarbeit - wählen wir meistens Vektoren in R 2.) Eigentlich ist ja Alles klar! Für einen Vektor a gilt a = ( a x a y )! Am Ende werden wir

Mehr

3. Diskrete Mathematik

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

Mehr

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung

Kapitel 2. Mathematische Grundlagen. Skript zur Vorlesung Einführung in die Programmierung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 2 Mathematische Grundlagen Skript zur Vorlesung Einführung in die Programmierung im Wintersemester 2012/13 Ludwig-Maximilians-Universität

Mehr

KAPITEL 13. Polynome. 1. Primfaktorzerlegung in den ganzen Zahlen. ,, p r

KAPITEL 13. Polynome. 1. Primfaktorzerlegung in den ganzen Zahlen. ,, p r KAPITEL 13 Polynome 1. Primfaktorzerlegung in den ganzen Zahlen DEFINITION 13.1 (Primzahl). Eine Zahl p ist genau dann eine Primzahl, wenn folgende beiden Bedingungen gelten: (1) Es gilt p > 1. (2) Für

Mehr

Wie man eine Sprache versteht

Wie man eine Sprache versteht Aufzählbarkeit Formale Grundlagen der Informatik 1 Kapitel 10 Aufzählbarkeit und (Un-)Entscheidbarkeit Frank Heitmann heitmann@informatik.uni-hamburg.de 11. Mai 2015 Definition 1 Eine Menge M Σ heißt (rekursiv)

Mehr