Lösung 5.1Schleifen 1.while (x < 5)if (x < 5) thenwhile Bif B then { do {{do { x = x + 1; x = x + 1; A A }}}} while (x < 5) while B do {x = x + 1;do {A.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmentheorie 08 – Dynamische Programmierung (1)
Advertisements

Kapitel 9: Graphdurchlauf
Einführung in die Informatik: Programmierung und Software-Entwicklung
ACM ICPC Praktikum Kapitel 8: Backtracking. Übersicht Backtracking Aufzählung aller Teilmengen Aufzählung aller Permutationen n-Königinnen-Problem.
Hochschule Fulda – FB ET Sommersemester 2010
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten KMP, BM.
Strukturierter Text.
Suche in Texten (Stringsuche )
Kapitel 6. Suchverfahren
5. Sortier-Algorithmen Vorbemerkungen:
Lösung 6.3 Denksportaufgabe
Übung 5.1Elemente 1.Formen Sie die Elemente Zuweisung Folge Auswahl (einarmige, zweiarmige, mehrarmige) Schleife (mit vorausgehender/nachfolgender Prüfung)
Beispielklausur In diesem Kapitel wird ein Beispiel für eine Klausur vorgestellt. Dabei sind jeweils die Aufgaben und die Lösungen gegeben. Beachten Sie.
V11 Auflösen der Formen und Abräumen der Reihen. Zwei neue Methoden ___________________________________ class ultris { private: … void aufloesen(); void.
1 Computergestützte Verifikation Probleme bei der Softwareverifikation 1.komplexe Datentypen und Expressions 2.Pointer und dynamische Datenstrukturen.
Dynamische Programmierung (2) Matrixkettenprodukt
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (10 - Suchverfahren) T. Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Union-Find-Strukturen
Modulare Programmierung
DVG Verkettete Listen Verkettete Listen. DVG Verkettete Listen 2 Primitive Datentypen Vorteile: –werden direkt vom Prozessor unterstützt.
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Einführung in die Programmierung Datensammlung
Kapitel 10: Graphalgorithmen
Wieder und wieder und wieder …. Nicht vor Pilz? ja Schritt vorwärts.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Einführung in die Programmiersprache C 4
Informatik 1 Übung 4.
Programmieren in C Dynamische Listen / Bäume
Algorithmen und Datenstrukturen Übungsmodul 3
Übung 4.1 Strukturierte Datentypen
Komplexität von Algorithmen
Programmieren in C Sortieren, Suchen
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Prüfungsbesprechung Barbara Scheuner Vorlesung: Programmieren und Problemlösen Prof. Hans Hinterberger.
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
Heute Mathe, morgen DLR! Dr. Margrit Klitz
Wissenschaftliche Methodik
Inhaltsverzeichnis In der vorliegenden Präsentation finden Sie unter anderem Antworten auf folgende Fragen… warum ist eine Gesetzesinitiative zum Betriebliches.
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Vorlesung Wasserwirtschaft & Hydrologie I
Aktuelle Themen aus dem KVJS-Landesjugendamt Referat 44
Wer wir sind! Ihr S-Campus-Team direkt im Campus Center. Sven Deussing
Non-Standard-Datenbanken
Non-Standard-Datenbanken
Standorte, Verflechtungen und regionale Disparitäten VO 5
Mathematik 12.
Mikroökonomie 1 Tausch
Analyse des Energie-Autarkiegrades unterschiedlich großer Bilanzräume mittels integrierter Energiesystemmodellierung Institut für Energiewirtschaft und.
Definition/Allgemeines:
ɣ brain to write Erklärung des Rauschens Experimente
Vorlesung Wasserwirtschaft & Hydrologie I
Algorithmen und Datenstrukturen
Non-Standard-Datenbanken
Experimentelle Untersuchung von Hochvolt FGL-Ansteuerung
Fraktale Maple D =
Christoph Lass, KN-NAS Theorie
Evaluation & Forschungsstrategien
Fraktale D =
Philipp Lindenau, Claudia Behnke Dillingen | 04. –
Allgemein- und Viszeralchirurgie Theresienkrankenhaus und St
Vorlesung Wasserwirtschaft & Hydrologie II
Reihungen Prof. Dr. Christian Böhm In Zusammenarbeit mit Gefei Zhang
Arrays in C Ein Array ist eine Variable, die aus einer Anzahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
 Präsentation transkript:

Lösung 5.1Schleifen 1.while (x < 5)if (x < 5) thenwhile Bif B then { do {{do { x = x + 1; x = x + 1; A A }}}} while (x < 5) while B do {x = x + 1;do {A x = x + 1; while (x < 5) { A while B { } x = x + 1;} A while (x < 5)}while B} 2.1: if x >= 5 goto 21: if !B goto 2 x = x + 1; A goto 1 goto 1 2:...2: : x = x + 1; 1: A if x < 5 goto 1 if B goto 1 2:... 2:...

Lösung 5.2Spiel des Lebens: Aufgabe 1.Überlegen Sie sich Rahmenbedingungen für das Spiel des Lebens (Anhang B) 2.Formalisieren Sie dieses Problem Gegeben ist: Eine zweidimensionales Spielfeld Annahme:die Grenzen werden verbunden. Auch möglich:Unendliche Grenzen, abschneidende Grenzen Anfangszustand: beliebige Nöpelpositionen im Spielfeld Regeln: entsprechend der Spielregeln für Spiel des Lebens Gesucht: Zwischenzustand nach beliebigen Generation (entsprechend der Regeln) Optional: Erkennung von Endzuständen

Lösung 5.2Spiel des Lebens: Ansätze 3.Stellen sie einen umgangssprachlichen Lösungsansatz auf Entwurf der Datenstrukturen - zwei Ansätze: Der Spielfeldzustand wird als zweidimensionales Feld repräsentiert Der Spielfeldzustand wird über die Positionen der Nöpel präsentiert Entwurf des Algorithmus act_state = Startzustand solange kein Endzustand { get_next_state (act_state, next_state); } zwei entsprechende Ansätze: get_next_state (In: act_state, Out: next_state) Der Spielfeldzustand wird als zweidimensionales Feld repräsentiert: { durchlaufe Felder und setze Nöpel entsprechend } Der Spielfeldzustand wird über die Positionen der Nöpel präsentiert: { durchlaufe Nöpelliste und setze Nöpel entsprechend } Vor- / Nachteile ?

Lösung 5.2Spiel des Lebens: Feld 3.a) Der Spielfeldzustand wird als zweidimensionales Feld repräsentiert get_next_state (In: act_state, Out: next_state) { // determine survivors durchlaufe act_state // zweifach-verschachtelte Schleife { falls act_state[act_field] hat 2,3 Nachbarn in act_state setze next_state[act_field] } // determine babies durchlaufe next_state // zweifach-verschachtelte Schleife { falls next_state[act_field] hat 3 Nachbarn in act_state setze next_state[act_field] } } 0,1,4,5,6,7,8 2,3 3

Lösung 5.2Spiel des Lebens: Liste 3.b) Der Spielfeldzustand wird über die Positionen der Nöpel präsentiert get_next_state (In: act_state, Out: next_state) { durchlaufe act_state // einfache Schleife durch Nöpelliste { // determine survivors find_neighbors(act_nöpel, no_of_neighbors) falls no_of_neighbors = 2 oder 3 kopiere act_nöpel nach next_state // determine babies durchlaufe nachbar_nöpel von act_nöpel // max. 8 { find_neighbors(nachbar_nöpel, no_of_neighbors) falls no_of_neighbors = 3 kopiere nachbar_nöpel nach next_state } } } 0,1,4,5,6,7,8 2,3 3

Lösung 5.2Spiel des Lebens: Strukturen 3.Stellen sie einen umgangssprachlichen Lösungsansatz auf Entwurf der Datenstrukturen - zwei Ansätze: Der Spielfeldzustand wird als zweidimensionales Feld repräsentiert act_state: array [1..max_reihen][1..max_spalten] of boolean; Der Spielfeldzustand wird über die Positionen der Nöpel präsentiert typedef struct nöpel {reihe: int; spalte: int ; // next_nöpel: *nöpel } ; act_state: array [1..max_nöpel] of nöpel;

Lösung 5.2Spiel des Lebens: Komplexität 6.Bewerten Sie den Algorithmus bezüglich seine Laufzeit und seines Platzbedarfes get_next_state (In: act_state, Out: next_state) { durchlaufe act_state // einfache Schleife durch Nöpelliste { // determine survivors find_neighbors(act_nöpel, no_of_neighbors) // Durchsuche // alle Nöpel falls no_of_neighbors = 2 oder 3 kopiere act_nöpel nach next_state // determine babies durchlaufe nachbar_nöpel von act_nöpel // max. 8 { find_neighbors(nachbar_nöpel, no_of_neighbors) falls no_of_neighbors = 3 kopiere nachbar_nöpel nach next_state } } // Zeit: Nöpel * ( Nöpel + ( 8 * Nöpel ) ) = 9 * Nöpel 2 } // Platz: 2 * Nöpel

Lösung 5.3Rekursion 1.Programmieren Sie die Fakultätsfunktion fakultaet (IN: n:integer, OUT: result:integer) { if (n == 0) then result = 1; else { fakultaet (n-1, result); result = result * n; } } fakultaet (IN: n:integer, OUT: result:integer) { result; old_result : int; // declaration result = 1; old_result = 1 // initialization for i=1 to n { result = i * old_result; old_result = result } } // Anzahl Multiplikationen in beiden Fällen proportional n

Lösung 5.4Acht Damen Problem 1.siehe Homepage