Lösung 6.3 Denksportaufgabe

Slides:



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

Abschluss Gegeben Menge F von funktionalen Abhängigkeiten.
Rekursion vs. Iteration
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Kapitel 6 Algorithmentheorie
Übung 6.6Schranken 1.Angenommen, Ihr Algorithmus habe einen Aufwand von g(n) = 5n 3 + n für alle n a)Geben sie eine obere Schranke O(g(n)) an. b)Beweisen.
Beispielklausur In diesem Kapitel wird ein Beispiel für eine Klausur vorgestellt. Dabei sind jeweils die Aufgaben und die Lösungen gegeben. Beachten Sie.
Kapitel 6 Algorithmentheorie
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.
Objektorientierter Entwurf
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
Übung 6.1Turing-Maschine 1.Machen Sie sich mit der Funktionsweise des Busy Beaver-Programms vertraut Vollziehen sie die 11 Schritte der ersten Turing-Tabelle.
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Bestimmung des Next-Arrays im KMP-Algorithmus
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Eduard Sauerbrei Formale Techniken Eduard Sauerbrei
DVG Ablaufsteuerung
Urnenmodelle. Die Normalverteilung (Gauß-Verteilung) (Gaußsche Glockenkurve)
Statistische Methoden I WS 2002/2003 Probeklausur Freitag, 13. Dezember statt Vorlesung - Nächsten Freitag!!!
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Einführung in die Programmierung Datensammlung
Grundsätzliche Resultate Theorem: Für jeden Relationstyp R(A 1,...,A n ) und jede Menge von FDs über {A 1,...,A n } gibt es: –eine verlustlose (aber nicht.
Algorithmus zur Zerlegung in 3NF (1)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Effiziente Algorithmen
2. Die rekursive Datenstruktur Baum 2
Chromatische Zahl.

Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Einführung in die Programmierung
DIE FARBEN.
Informatik 1 Übung 4.
Limited Local Search And Restart Nähere Betrachtungen.
Wahrscheinlichkeitsrechnung
Erklärung der „Lottoformel“ P =
Writing Correct Programs (Programme korrekt erstellen) Vortrag zum Oberseminar Softwareentwicklung von Jörg Winkler (01IN-PI)
Algorithmen und Datenstrukturen Übungsmodul 3

Gleichungen lösen RS „Oswin Weiser“.
1 Tagesüberblick 2 Lösung Hausaufgabe/Fragen Datei- ein- und ausgabe Schleifen Vergleiche Wahrheit.
Komplexität von Algorithmen
Hochschule Fulda – FB ET Sommersemester 2014
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
Korrektheit von Programmen – Testen
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Üungen.
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
Informatik Beschreibung von Abläufen durch Algorithmen 3.3 Wiederholugnsanweisungen 3. Beschreibung von Abläufen durch Algorithmen 3.3 Wiederholungsanweisungen.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
MATLAB Control Statements.
Korrektheit von Programmen – Testen
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Prüfungsbesprechung Barbara Scheuner Vorlesung: Programmieren und Problemlösen Prof. Hans Hinterberger.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Aufgaben zu Laplace-Wahrscheinlichkeiten
Statistik II Statistik II Maße der zentralen Tendenz (Mittelwerte)
Dr. Wolfram Amme, Verifikation imperativer Programme, Informatik II, FSU Jena, SS Verifikation von imperativen Programmen.
Foto-Schneekugeln sind die einfachste und schnellste Möglichkeit, eine individuelle Schneekugel zu erstellen. Sie nehmen dazu einfach den Sockel der Schneekugel.
Kombinatorik: Mathematik des Zählens
Struktogramme.
Statistik II Statistik II Maße der zentralen Tendenz (Mittelwerte)
Unterschiedliche Kontrollstrukturen
Peppex shirts Modell Farbe Layout für druck – peppex raglan two weiss-schwarz-gelb.
Writing Correct Programs
Unterschiedliche Arten von Kontrollstrukturen
Peppex shirts Modell Farbe Layout für druck – peppex raglan two weiss-schwarz-gelb.
 Präsentation transkript:

Lösung 6.3 Denksportaufgabe  Denksportaufgabe Welche Farbe hat die letzte Kugel ? Die Farbe der letzten Kugel ist abhängig von der Anzahl der weißen Kugeln: Ist die Anzahl gerade, so ist die letzte Kugel schwarz Ist die Anzahl ungerade, so ist die letzte Kugel weiß Welche Aussage gilt vor, in und nach der Schleife (Invariante) Ist die Anzahl der weißen Kugeln gerade, so bleibt sie gerade Ist die Anzahl der weißen Kugel ungerade, so bleibt sie ungerade Es werden entweder 2 weiße Kugeln entfernt oder keine. Terminiert die Schleife ? Begründen Sie ihre Antwort. JA. Die Anzahl der Kugeln vermindert sich bei jedem Zug um genau eine (nach Algorithmus: 2 nehmen, eine geben). Beim Erreichen von 2 Kugeln wird die Schleife noch einmal durchlaufen und terminiert mit einer Kugel.

Lösung 6.4 Invariante {s+w >= 1}  x=s; y=w; {x=s, y=w, x+y  1} {INV: ( (odd(w)odd(y))  (even(w)even(y)) )  x+y1 } while (x+y>1) { {INV  x+y>1} // Vorbedingung für „take“: x+y>1 take(a,b) // OUT: a no. black, b no white (drawn) {a+b=2, a,b0} // = Nachbedingung für „take“ switch a: { // a = no of black bullets drawn case 0: {x=x+1; y=y-2}; {INV} // add black, remove two w. case 1; (x=x-1); {INV} // remove black case 2; (x=x-1); {INV} // remove black } {INV} {INV   x+y>1  ( ((odd(w)odd(y))  (even(w)even(y)) )  x+y1  x+y1  ( ((odd(w)odd(y))  (even(w)even(y)) )  x+y=1) }

Lösung 6.5 Vollständige Verifikation // Vorbedingung P(V): a>0  b0 x = a; y = b; z = 1; // x=a  y=b  z=1  x>0  b0 { INV: zxy=ab  y0 } while y > 0 { {INV  y>0  (z*x/x)*xy=ab  y>0 } if odd(y) then z = z*x; { odd(y)  z/x*xy=ab  y>0  z*xy-1=ab  y>0 } // else { even(y)  z*xy =ab  y>0 }  { ( odd(y)  z*x(2(y div 2)+1)-1=ab  2(y div 2)+1>0 )  ( even(y)  z*x2(y div 2) =ab  2(y div 2) >0 ) } y = y div 2; // Ganzzahldivision { ( odd(y)  z*x(2y+1)-1=ab  2y+1>0  z*x2y=ab  2y0 )  ( even(y)  z*x2y =ab  2y >0  z*x2y=ab  2y>0 ) } x = x*x; { (odd(y)  z*xy=ab  2y0)  (even(y)  z*xy=ab  2y>0)  z*xy=ab  ((odd(y)2y0)  (even(y)2y0))  z*xy=ab  y0 } } { INV  (y0)  (z*xy=a*b)  (y=0)  z*x0=ab = Q(V) }