Hallo,
ein paar Anmerkungen:
- mehr einrücken
- ab und zu mit Lehrzeilen logische Schritte trennen
- Kommentare
- vor und nach Operatoren ein Leerzeichen
- Zwischenergebnisse nicht mehrfach ausrechnen, sondern speichern
- statt "if a = False" lieber "if not a"
- bei Funktionen/Schlüsselwörtern Groß-/Kleinschreibung beachten
- Variablennamen evtl. aussagekräftiger
Beispiel:
Delphi-Quellcode:
procedure zerlegen(n:int64);
var x:int64;
begin
x:=2;
while (n mod x<>0) do x:=x+1;
if length(form1.Label2.Caption)>0 then form1.Label2.Caption:=form1.Label2.Caption+'*';
form1.Label2.Caption:=form1.Label2.Caption+inttostr(x);
if pruefen(n div x)=false then zerlegen(n div x);
m:=m*x;
end;
Besser:
Delphi-Quellcode:
procedure Zerlegen(n: Int64);
var
x: Int64;
Zwischen: Int64;
begin
x := 2;
while (n mod x <> 0) do
Inc(x);
if Length(Form1.Label2.Caption) > 0 then
Form1.Label2.Caption := form1.Label2.Caption + '*';
Form1.Label2.Caption := Form1.Label2.Caption + IntToStr(x);
Zwischen := n div x;
if not Pruefen(Zwischen) then
Zerlegen(Zwischen);
m := m * x;
end;
Ansonsten schon nicht so schlecht. Insbeondere bei der Einrückung sehe ich Potential, auch wenn das bei Dir teilweise noch schwer lesbar ist.
Gruß
xaromz
//Edit: Wie viele Rechtschreibfehler man so produzieren kann...