Leser: 2
8 Einträge, 1 Seite |
1
2
3
4
5
6
7
8
9
10
11
12
if ($ir eq "R") {
print "Wert eingeben: ";
chomp($wert = <STDIN>);
print "Das Ergebnis lautet: " ,fakrek($wert),"\n";
}
sub fakrek {
my $zahl =shift ;
return undef if $zahl < 0;
return 1 if $zahl == 0;
return ($zahl * rek ($zahl -1));
}
Array+2008-05-27 11:13:01--jaZum Verständnis: Ist es richtig, wenn ich behaupte die Funktion ruft sich in der Funktion immer wieder selbst auf?
QuotejaDer Wert von $zahl wird jeweils um 1 erniedrigt und wieder der Subroutine übergeben.
QuoteIn keiner aus Deinem Programm. Das handelt Perl intern.Das geht solange bis der Wert von $zahl 0 erreicht. Warum gibt er mir dann trotzdem den richtigen Wert aus und nicht 1 (ich meine hierbei die Zeile return 1 if $zahl == 0;)
In welcher Variablen steht denn eigentlich das Ergebnis der Multiplikation??
QuoteRekursion ist für "Rekursions"-Einsteiger immer etwas verwirrend.Irgendwie blicke ich da nicht ganz durch :-)
renee+2008-05-27 11:26:26--Das ist so, als ob Du durch eine Reihe von Räumen gehst. In jedem sitzt ein "Herr Meier", aber das ist nie derselbe. Der Name "Herr Meier" ist zwar gleich, aber es ist dennoch immer eine andere Person.
renee+2008-05-27 11:26:26--QuotejaDer Wert von $zahl wird jeweils um 1 erniedrigt und wieder der Subroutine übergeben.
Array+2008-05-27 11:13:01--[...] ich habe mal versucht die Fakultät iterativ und rekursiv zu berechnen. [...]
murphy+2008-05-27 15:11:19--Und nicht an der Rekursion verzweifeln, schließlich gilt ja der bekannte Spruch "To iterate is human, to recurse, divine" ;-)
8 Einträge, 1 Seite |