![]() |
Re: Potenzberechnung mit Hilfe einer Rekursion
@ Wolfgang
Soweit hab ich das jetzt auch verstanden, aber ich steuper immer noch über die Bedingung Rekursion(Wiederholung durch Selbstaufruf eines Algorithmus). Wahrscheinlich iset zu einfach um das ichs umsetzen kann... |
Re: Potenzberechnung mit Hilfe einer Rekursion
Zitat:
aber ich versteh nicht, was du uns sagen willst... :gruebel: |
Re: Potenzberechnung mit Hilfe einer Rekursion
@ Daniel G
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; . . [edit=MrSpock]Code Tags eingefügt. Mfg, MrSpock[/edit] |
Re: Potenzberechnung mit Hilfe einer Rekursion
@Xbe
Delphi-Quellcode:
Was ist denn hier grundlegend anders?
function Potenz(Basis, Exponent: Integer): Int64;
begin if Exponent = 0 then Exit else Result := Basis * Potenz(Basis, Exponent - 1); end; Du kennst schon den Unterschied zwischen Procedure und Function? Gruß Wolfgang |
Re: Potenzberechnung mit Hilfe einer Rekursion
@wolfgang
nee deshalb hab ich ja vorhin gefragt, weil wenn das der Kopf wäre ok aber weiterhin muss man ja zb die Variablen wie Exponent auch vorher bestimmen |
Re: Potenzberechnung mit Hilfe einer Rekursion
@Xbe
Ich habe den Code aus dem angegebenen Link einmal ausprobiert, hier der Quälkot:
Delphi-Quellcode:
Funzt hier soweit
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} function Potenz(Basis, Exponent: Integer): Int64; begin if Exponent = 0 then result:=1 else Result := Basis * Potenz(Basis, Exponent - 1); end; procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text:=IntToStr(Potenz(2,3)); end; end. Gruß Wolgang |
Re: Potenzberechnung mit Hilfe einer Rekursion
Zitat:
Delphi-Quellcode:
oder Basis und Exponent als cardinal deklarieren.
function Potenz(Basis, Exponent: Integer): Int64;
begin if Exponent<0 then Result := 0 else if Exponent = 0 then Result := 1 else Result := Basis * Potenz(Basis, Exponent-1); end; Gruß Gammatester |
Re: Potenzberechnung mit Hilfe einer Rekursion
@Gammatester - Warum?
x^-y = 1/(x^y) ;)
Delphi-Quellcode:
function Power( Base, Exponent: Integer ): Double;
begin if Exponent < 0 then Result := 1 / Power( Base, Abs( Exponent ) ) else case Exponent of 0: Result := 1; 1: Result := Base; else Result := Base * Power( Base, Exponent - 1 ); end; end; |
Re: Potenzberechnung mit Hilfe einer Rekursion
Perfekt, jetzt muss man nur noch 0 hoch 0 abfangen.
Gruß Wolfgang |
Re: Potenzberechnung mit Hilfe einer Rekursion
Zitat:
Dein Vorschlag ändert unter der Hand die bisher diskutierte Funktionsdeklaration. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz