![]() |
Rest einer Division durch Rekursion
Hallo,
wir sollten in unserer letzten Informatikstunde eine rekursive Funktion machen, durch die bei einer Division der Restbetrag angegeben wird. also zum beispiel bei 25:4 die zahl 1 da 25:4=6 rest1 mein ansatz ist jetzt so:
Delphi-Quellcode:
das klappt dann aber leider irgendwie nicht...
function reku_div(divident,divisor:integer):integer;
var ergebnis: integer; begin if divident>=divisor then reku_div(divident-divisor,divident) else ergebnis:=divident; end; procedure TForm1.Button1Click(Sender: TObject); var divident,divisor:integer; begin divident:=StrToInt(edit1.text); divisor:=StrToInt(edit2.Text); edit3.Text:=IntToStr(reku_div(divident,divisor)); end; kann mir hier vielleicht einer weiterhelfen??? VIELEN DANK! achso und noch eine frage: woher weiß ich welche programmiersprache ich benutze? also ich arbeite mit delphi sieben aber bei der programmiersprache bin ich mir nicht ganz sicher.... [edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit] |
Re: Rest einer Division durch Rekursion
Willkommen in der DP.
Zitat:
Delphi-Quellcode:
Eine function soll ja auch einen Wert zurückliefern :wink: und das hattest du nicht gemacht.
function Test : integer;
begin Result := 1; end;
Delphi-Quellcode:
Wenn ich dein Beispiel jetzt aufnehme, dann wird ja durch die Rekursion das wie folgt aufgerufen:
function reku_div( divident, divisor : integer ) : integer;
//var ergebnis: integer; <-- unnötig begin if divident >= divisor then Result := reku_div( divident - divisor, divisor ) // edit - thanx to Uwe Raabe ;-) else Result := divident; end; procedure TForm1.Button1Click(Sender: TObject); var divident, divisor : integer; begin divident := StrToInt( Edit1.Text ); divisor := StrToInt( Edit2.Text ); Edit3.Text := IntToStr( reku_div( divident, divisor ) ); end;
Delphi-Quellcode:
function( 25, 4) =
function( 21, 4 ) = function( 17, 4 ) = function( 13, 4 ) = function( 9, 4 ) = function( 5, 4 ) = function( 1, 4 ) = 1 Zitat:
cu Oliver |
Re: Rest einer Division durch Rekursion
Zitat:
Die meisten haben jedoch keine neue Version und nutzen auch diese Sprachelemente nicht, deswegen brauchst Du Dir da keine Sorgen machen. |
Re: Rest einer Division durch Rekursion
Aber auch dann ist es Delphi
|
Re: Rest einer Division durch Rekursion
Zitat:
Delphi-Quellcode:
if divident>=divisor
then reku_div(divident-divisor,divisor) else ergebnis:=divident; |
Re: Rest einer Division durch Rekursion
Zitat:
Im allgemeinen Sprachgebrauch wird das zwar Synonym verwendet, aber wenn wir schon so nett drüber sprechen... ;) Hui, und doch sehe ich gerade, daß dat Dingen offiziell Delphi-Language heisst. Und das auch noch seit 2003. :shock: ![]() Sherlock |
Re: Rest einer Division durch Rekursion
CG ist sich da nicht so sicher, einmal meinen sie die IDE ( jetzt BDS), einmal das Konzept ( D4PHP) und manchmal die Sprache (welche früher ObjektPascal hiess)
|
Re: Rest einer Division durch Rekursion
Wird das nicht auch manchmal DelphiLanguage genannt?
Edit: Sorry, ist ja OT. |
Re: Rest einer Division durch Rekursion
Zitat:
Zitat:
cu Oliver |
Re: Rest einer Division durch Rekursion
ok vielen dank!
und mit der programmiersprache, das hatte mich nur irritiert, weil ich das angeben musste, um einen beitrag zu schreiben... :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 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