Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Potenzberechnung mit Hilfe einer Rekursion (https://www.delphipraxis.net/141293-potenzberechnung-mit-hilfe-einer-rekursion.html)

gammatester 7. Okt 2009 08:25

Re: Potenzberechnung mit Hilfe einer Rekursion
 
Zitat:

Zitat von Wolfgang Mix
Perfekt, jetzt muss man nur noch 0 hoch 0 abfangen.

Gruß

Wolfgang

:?: :?:
Wieso? Aphtons Code macht's doch schon, und zwar völlig korrekt als 0^0=1!

Wolfgang Mix 7. Okt 2009 08:30

Re: Potenzberechnung mit Hilfe einer Rekursion
 
Leider nein,
Null hoch null ist nicht definiert,
ergibt auch keinen Sinn

[Edit]Die Funktion f1 mit y = f1(x) = x^0 hat an der Stelle x = 0 den Grenzwert 1
Die Funktion f2 mit y = f2(x) = 0^x hat an der Stelle x = 0 den Grenzwert 0 [/Edit]


Gruß

Wolfgang

gammatester 7. Okt 2009 09:17

Re: Potenzberechnung mit Hilfe einer Rekursion
 
Zitat:

Zitat von Wolfgang Mix
Leider nein,
Null hoch null ist nicht definiert,
ergibt auch keinen Sinn

Das ist Deine persönliche Meinung, ich halte es lieber mit Euler und Knuth (siehe zB Knuths Two notes on notation). Weitere Infos What is 0 to the 0 power?

Gruß Gammatester

Sherlock 7. Okt 2009 09:19

Re: Potenzberechnung mit Hilfe einer Rekursion
 
Die Wikipedia hat da auch eine Meinung zu: http://de.wikipedia.org/wiki/Potenz_..._null.E2.80.9C

Sherlock

Lannes 7. Okt 2009 09:25

Re: Potenzberechnung mit Hilfe einer Rekursion
 
Hallo,

Zitat:

Zitat von Xbe
...hier mal nen Bsp für eine funktionierende Rekursion:

Delphi-Quellcode:
procedureTForm1.umkehren(Sender:TObject);
   var i,j:integer;
   prodedure umkehr(zeichen:char);
      begin
         i:=i+1;
         zeichen:=wort[i];
         if i<length(wort) then umkehr(wort[i]);
         stringgrid1.cells[j,0]:=zeichen;
         j=j+1;
      end;
   begin
      wort:=edit1.text;
      i:=0;
      j:=1;
      umkehr(wort[i]);
   end;

die wird nicht funktionieren :wink: in j=j+1 da wird der Vergleichsoperator bemängelt werden.

Der Code nutzt zur Rekursion eine nested-Prozedur(verschachtelt), hab die Prozedur mal etwas formatiert, damit es ersichtlich wird:
Delphi-Quellcode:
procedureTForm1.umkehren(Sender:TObject);
var i, j: integer;

  //**** nested **************
  {}prodedure umkehr(zeichen: char);
  {}begin
  {}  i := i +1;
  {}  zeichen := wort[i];
  {}  if i < length(wort) then
  {}    umkehr(wort[i]);//                <--- rekursiver Aufruf
  {}  stringgrid1.cells[j,0] := zeichen;
  {}  j := j +1;
  {}end;
  //**** ENDE nested **************

begin
  wort := edit1.text;
  i := 0;
  j := 1;
  umkehr(wort[i]);//                      <--- Rekursion starten
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:18 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz