HSG

Aktuelle Seite: HSG/Fächer/Informatik/Algorithmus/Standard-Algorithmen

Folgender Algorithmus in Pascal-Notation (D.Herrmann, Algorithmen Arbeitsbuch, S. 31) liefert die Potenz ab für reelles a>0 und natürliche Zahlen b:

x := a; y := b; z := 1;
while y > 0 do
begin
  if odd(y) then z := z*x;
  y := y div 2;
  x := x*x;
end;

Aufgaben

  • Implementiere und teste den Algorithmus.
  • Finde Vorbedingung, Schleifeninvariante (Vorschlag {z*xy = ab}) und Nachbedingung und führe einen formalen Korrektheitsbeweis.
  • Zeichne ein Struktogramm mit Zusicherungen.
  • Implementiere den 'naiven' Potenzierungsalgorithmus (for-Schleife) und vergleiche die beiden Algorithmen durch Zeitmessungen ( Delphi, Python). Dokumentiere deine Tests.

Lösung in Delphi

GUI zu Potenz potenz.zip

Valid XHTML 1.0!