Übungen
Aufgabe 1: Testen
Wir betrachten den folgenden Algorithmus zum Primzahltesten.
![Struktogramm zum Primzahltest](https://dev.inf-schule.de/content/2_algorithmen/1_grundlagen/3_eigenschaften/1_korrektheit/8_uebungen/struktogramm_primzahltest_1.png)
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.
![Struktogramm zur ägyptischen Multiplikation](https://dev.inf-schule.de/content/2_algorithmen/1_grundlagen/3_eigenschaften/1_korrektheit/8_uebungen/struktogramm_multiplikation.png)
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