Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Potenzberechnung mit Delphi

  Alt 1. Sep 2009, 08:01
Ansonsten kann man sich das ja auch schön in einer kleinen rekursiven Funktion selber bauen.

Delphi-Quellcode:
function TForm1.Hoch(iBasis: Integer; iHoch: Integer) : integer;
begin
  if iHoch > 1 then result := iBasis * Hoch(iBasis, iHoch-1)
  else result := iBasis;
end;
Natürlich sollte man noch den Sonderfall z.B.("Hoch NULL")abfangen werden, dann sieht das ungefair so aus:

Delphi-Quellcode:
function TForm1.Hoch(iBasis: Integer; iHoch: Integer) : double;
begin
  if iHoch = 0 then result := 1
  else
    begin
      if iHoch >0 then
        begin
          if iHoch > 1 then result := iBasis * Hoch(iBasis, iHoch-1)
          else result := iBasis;
        end
      else
        begin
          if iHoch < -1 then result := 1/iBasis * Hoch(iBasis, iHoch+1)
          else result := 1/iBasis;
        end;
    end;
end;
Ist mal schnell geschrieben, hoffe hat sich kein Fehler eingeschlichen.

MfG
BAMatze

Edit: Es wurde dabei auch von ganzzahligen Potenzen ausgegangen. Für reale Potenzen sollte auch der Algorithmus angepasst werden.
2. Account Sero
  Mit Zitat antworten Zitat