Ü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.
(b) Hier eine Implementierung zum Verfahren.
# Eingabe
zahl1 = int(input("Zahl 1: "))
zahl2 = int(input("Zahl 2: "))
<h1>Verarbeitung</h1>
<p>produkt = 0<br />
while zahl1 > 0:<br />
if zahl1 % 2 == 1:<br />
produkt = produkt + zahl2<br />
zahl1 = zahl1 / 2<br />
zahl2 = zahl2 * 2</p>
<h1>Ausgabe</h1>
<p>print("Produkt: ", produkt)<br />
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.