Rätsel: Fakultät

❤️ Dein Beitrag für delphi-lernen.de: Das Projekt unterstützen

Offenburg, den 13. November 2025

Liebe Leserin, lieber Leser, liebe Delphi-Community,

die Inhalte von delphi-lernen.de stehen Ihnen seit 2006 kostenlos zur Verfügung. Über die Jahre sind dabei nicht nur unzählige Stunden Arbeit, sondern auch Kosten von über 4.500 Euro (allein für das Hosting) aufgelaufen. Wenn Dir diese Seite geholfen hat und Du die Arbeit wertschätzt, freue ich mich riesig über eine kleine oder große Spende, um die weiteren laufenden Kosten zu decken und die Zukunft des Projekts zu sichern.



Gerne biete ich Dir / Euch auch eine persönliche Beratung oder Schulung auf Grundlage meiner nun jahrzehntelangen Erfahrung, unter anderem als Software-Entwickler, Projektmanager und Lösungen-Entwickler an. Details und Verfügbarkeit klären wir gerne persönlich.

Kontaktaufnahme bitte über LinkedIn - hier stehen auch viel mehr Informationen: Mein LinkedIn-Profil.



Herzliche Grüße
Marco Hetzel


Wir nehmen an, wir sind in der achten Klasse und können etwas Delphi. Wir werden nun vom Mathelehrer beauftragt ein Programm zu schreiben, welches uns einfach die Fakultät einer Zahl.

Für alle, die an dem Tag, als "Fakultät" erklärt wurde, womöglich gerade nicht anwesend waren: Fakultät bedeutet, dass die angegebene Zahl immer wieder weiter mit dem Vorgänger der Zahl multipliziert wird, bis zur Zahl 1. Man schreibt das, indem man die Zahl mit einem Ausrufezeichen dahinter darstellt.
Also
x := 5!
bedeutet das gleiche, wie
x := 5*4*3*2*1;

Und es geht weiter... Bei den ersten Tests funktioniert alles. Damals wissen wir noch nichts von Planung und so kommt es, dass wir - schließlich haben unsere letzten Tests funktioniert - ganz unvorhergesehen von unseren Eltern gerufen werden, dass wir doch endlich den Abwasch machen!
Jeder der auf sich gestellt ist, weiß nun was passiert. Schnell ändert man noch etwas, was einem selbst aufgefallen ist, und dann verlässt man den PC.
Wir kommen zurück, in Erinnerung, dass ja alles funktioniert hat, schauen wir nochmal ob es compiliert... PRIMA! Werfen das Programm auf den USB-Stick (naja, früher hat man das noch so gemacht) für morgen und gehen an die übrigen Hausaufgaben.
Am Nächsten Tag, Beamer eingeschaltet, Schul-PC hochgefahren, wir starten das Programm Fakultaet.exe, doch egal welche Zahl wir eingeben, es kommt genau die Zahl wieder als Ergebnis.
Was ist hier passiert?
Zuhause sitzen wir nun vor dem Source, ignorieren unsere Eltern, die uns zum Essen rufen, und suchen den Fehler...
procedure TfmHomework.BtnCalcFacClick( Sender: TObject);
var
  i, f, res : Integer;
begin
  f := StrToInt( edFAK.Text);
  res := 1;
  for i:=1 to f do;
  begin
    res := res*i;
  end;
  ShowMessage( 'Fakultät von ' + IntToStr( f) + 'Fakultät von '' = ' + IntToStr( res));
end;
Habt ihr den Fehler gefunden?