Dreistein

 


* Startseite     * Über...     * Archiv     * Gästebuch     * Kontakt



* Themen
     Willkommen
     Allgemeines
     * Variablen
     * Function
     * Procedure
     * String
     * Array
     FormObjekte
     * Button
     * CheckBox
     * Editfeld
     * Label
     * Listbox
     * RadioButton
     * Timer
     * Turtle
     Sortieralgorithmen
     * Arraysort
     * Bubblesort
     * Selection Sort
     * Quicksort
     Schleifen
     * repeat-Schleife
     * while-Schleife
     * for-Schleife
     Rekursion
     * Ackermann
     * Binominalkoeffizent
     * Fibonacci Zahlen
     * Fakultät
     * GGT
     * Kochfunktion
     * Sierpinskifunktion
     Nützliches
     * Hintergrundbild
     * Massenanzeige
     * Massenbenutzung
     * Schreibtischtest






* Fakultät

Quelltext

function fakultaet(a: Integer): Longint;
var fa: Longint;
begin
if a = 0 then
fa := 1
else
fa := a * fakultaet(a-1);
result := fa
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.Text := inttostr(fakultaet(strtoint(edit1.text)));
end;


Dies ist ein sehr sch?nes Beispiel von einer Rekursion. Jede Zahl, die man eingibt, wird solange um eins erniedrigt, bis sie 0 ist. Anschlie?end wird sie wieder multipliziert. Klingt komisch, aber da wir wissen, das eine Rekursion ihre einzelnen Schritte speichert, werden diese nat?rlcih auch wieder r?ckw?rts abgearbeitet und deshalb geht es.
16.11.05 22:19


Erklärung

Die Fakult?t berechnet das Produkt der einzelnen Zahlen. So ist 5! (so schreibt man Fakult?t) 120.

1*2*3*4*5=120

Man kann die Fakult?t sowohl mit Rekursion als auch ohne berechnen, da wir aber die Rekursion lernen wollen, zeige ich wie es damit geht.
16.11.05 17:01





Verantwortlich für die Inhalte ist der Autor. Dein kostenloses Blog bei myblog.de! Datenschutzerklärung
Werbung