Übungen
Aufgabe 1: Ägyptische Multiplikation
Die Abbildung zeigt, wie die Ägypter Zahlen multipliziert haben. Mehr hierüber findest du im Abschnitt Einstieg - Ägyptische Multiplikation.
Das folgenden Struktogramm zeigt, wie man diese Multiplikation automatisiert ausführen kann:
(a) Teste das Verfahren mit der Multiplikationsaufgabe 11 * 23 = ...
.
Überprüfe den zugehörigen Algorithmus mit einer Trace-Tabelle.
# Eingabe
zahl1 = int(input("Zahl 1: "))
zahl2 = int(input("Zahl 2: "))
# Verarbeitung
produkt = 0
while zahl1 > 0:
if zahl1 % 2 == 1:
produkt = produkt + zahl2
zahl1 = zahl1 / 2
zahl2 = zahl2 * 2
# Ausgabe
print("Produkt: ", produkt)
Teste, ob sich das Programm so verhält wie gewünscht.
(c) Das Programm liefert merkwürdige Ausgaben. Suche den Fehler mit zusätzlichen Ausgabeanweisungen. Korrigiere den Fehler und teste das Programm erneut.
(d) Zeichne ein Flussdiagramm zum Algorithmus.