1 / 5

Übung 6.2 Einfache Verifikation

Übung 6.2 Einfache Verifikation. Gegeben ist folgender Algorithmus {a<0, b>0, c>0} // Vorbedingung P(a,b,c) a=b; d=b-a; if (c == 0) then d=5; else d=d+1; Geben Sie eine Nachbedingung Q(d) für die Variable d an

flint
Download Presentation

Übung 6.2 Einfache Verifikation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Übung 6.2 Einfache Verifikation • Gegeben ist folgender Algorithmus {a<0, b>0, c>0} // Vorbedingung P(a,b,c) a=b; d=b-a; if (c == 0) thend=5; else d=d+1; • Geben Sie eine Nachbedingung Q(d) für die Variable d an • Beweisen Sie dass sich durch den Algorithmus aus P(a,b,c) diese Nachbedingung Q(d) ableiten lässt • Schreiben Sie einen zweiten Algorithmus, der ebenfalls die Nachbedingung Q(d) aus P(a,b,c) ableiten kann • Verifizieren Sie Ihren Algorithmus

  2.   Übung 6.3 Denksportaufgabe • Gegeben sei folgendes Verfahren In einem Topf seien s schwarze und w weiße Kugeln - insgesamt mindestens eine. Solange mindestens zwei Kugeln im Topf sind, nimm zwei beliebige Kugeln heraus. Falls Sie gleiche Farbe haben, wirf beide weg und lege eine neue schwarze Kugel in den Topf. Falls sie verschiedene Farben haben, wirf die schwarze weg und lege die weiße zurück in den Topf. • Welche Farbe hat die letzte Kugel • Welche Aussage - die einen Hinweis auf die Antwort gibt - gilt vor, in und nach der Schleife (Invariante) • Terminiert die Schleife ? Begründen Sie ihre Antwort.

  3. Übung 6.4 Invariante • Betrachten Sie nochmals das Verfahren aus der vorgegangenen Übung: In einem Topf seien s schwarze und w weiße Kugeln - insgesamt mindestens eine. Solange mindestens zwei Kugeln im Topf sind, nimm zwei beliebige Kugeln heraus. Falls Sie gleiche Farbe haben, wirf beide weg und lege eine neue schwarze Kugel in den Topf. Falls sie verschiedene Farben haben, wirf die schwarze weg und lege die weiße zurück in den Topf. • Beschreiben Sie das Verfahren als Algorithmus • Das „Nehmen“ dürfen Sie als Block voraussetzen. • Entwerfen Sie den Kopf dieses Blocks, • Beschreiben Sie seine Parameter • beschreiben Sie sein Verhalten in Form einer Vor- und Nachbedingung • Bestimmen Sie die Invariante • Beweisen Sie die Korrektheit Ihrer Nachbedingung

  4. Übung 6.6 Schranken • Angenommen, Ihr Algorithmus habe einen Aufwand vong(n) = 5n3 + n + 1000 für alle n • Geben sie eine obere Schranke O(g(n)) an. • Beweisen Sie, dass ihre Schranke tatsächlich eine obere Schranke ist. • Konstruieren Sie einen Graphen fü die beiden Funktionen g(n) O(g(n) so, dass der Schnittpunkt deutlich wird. • Geben Sie eine untere Schranke an • Sie haben zusätzlich einen Algorithmus mit O(2n) Aufwand. Vergleichen Sie diesen Algorithmus mit dem Algorithmus aus 1. • Welches ist der „schnellere“ Algorithmus ? • Begründen Sie Ihre Antwort quantitativ

  5. Übung 6.8 Aufwand • Gegeben ist folgender Algorithmus: do (list:*liste) {i:integer;for i=1 to no_of_elements(list) { remove_last_element(list); do (list) // call list with one element less} • Geben Sie den Aufwand an. • Belegen Sie Ihre Antwort rechnerisch • Gegeben ist folgender Algorithmus for i=1 to n { j=1; while (j<i) { j = j+2; }} • Geben Sie den Aufwand an. • Belegen Sie Ihre Antwort rechnerisch

More Related