Übungen
Aufgabe 1: Testen
Wir betrachten den folgenden Algorithmus zum Primzahltesten.
Beschreibe zunächst das gewünschte Verhalten mit Hilfe einer Spezifikation.
Überlege dir anschließend geeignete Testfälle. Dokumentiere diese Testfälle einschließlich der erzielten Ergebnisse. Du kannst auch eine geeignete Python-Implementierung mit integrierten Tests benutzen.
Aufgabe 2: Verifizieren
Wenn du mathematisch interessiert bist, kannst du versuchen, die Korrektheit des Algorithmus zur ägyptischen Multiplikation nachzuweisen.
Folgendes Verhalten soll der Algorithmus haben:
vorher: zahl1 = a; zahl2 = b; a, b sind beliebige natürliche Zahlen nachher: produkt = a * b
Tipp: Zeige, dass vor und nach jedem Schleifendurchlauf die folgende Bedingung erfüllt ist:
zahl1 * zahl2 + produkt = a * b