Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Rekursive funktionen (https://www.delphipraxis.net/134762-rekursive-funktionen.html)

mo-noob 28. Mai 2009 12:00


Rekursive funktionen
 
Das Programm soll die Zahlen von 1 bis n mittels einer rekursiven funktion addieren.

Ich bin ratlos wieso folgende Fehlermeldungen auftreten! bitte helft mir ...

[Fehler] Unit1.pas(39): Ausdruck erwartet, aber 'FUNCTION' gefunden
[Fehler] Unit1.pas(39): Fehlender Parametertyp
[Fehler] Unit1.pas(39): Die überladene Prozedur 'summe' muss mit der Direktive 'overload' gekennzeichnet sein



function summe(n:integer): integer;
begin
if n=1 then result:=1
else result:=n+summe(n-1)
end;

procedure TForm1.Button1Click(Sender: TObject);
var n,erg:integer;
begin
n:=strtoint(edit1.text);
erg:=function summe(n);
edit2.text:=inttostr(erg);

end;

danke für die Hilfe schonmal im Vorraus mfg mo

brechi 28. Mai 2009 12:07

Re: Rekursive funktionen
 
mach das function im unteren Teil (Aufruf) raus, dann sollte es klappen

gammatester 28. Mai 2009 12:17

Re: Rekursive funktionen
 
Und schreibe
Delphi-Quellcode:
if n<=1 then result:=1
sonst bekommst Du Probleme, wenn Du die Funktion mit negativem n aufrufst.

ToFaceTeKilla 28. Mai 2009 12:22

Re: Rekursive funktionen
 
Änder am besten den Namen der Function oben in der Unit, sonst musst du sie überladen.
(Natürlich musst du den Namen dann überall ändern, sowohl in der Implementation
Delphi-Quellcode:
function summiere(n:integer): integer;
begin
if n=1 then result:=1
else result:=n+summiere(n-1)
end;
als auch im Aufruf
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var n,erg:integer;
begin
n:=strtoint(edit1.text);
erg:=summiere(n);
edit2.text:=inttostr(erg);

end;
)

edit: verflixtes doitsch :cyclops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:59 Uhr.

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