Einzelnen Beitrag anzeigen

Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#5

Re: gutet stil????

  Alt 25. Mär 2006, 23:41
Delphi-Quellcode:
function pruefen(n: int64):boolean;
var x: int64;
begin
  result := true;
  x := round(n/2);
  if n >= 2 then
    begin
      while x > 1 do
        begin
          if (n mod x) = 0 then
            begin
              result := false;
              break;
            end;
         dec(x);
       end;
     end
   else
     result := false;
end;

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 not pruefen(n div x) then
    zerlegen(n div x);
  m := m*x;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  m := 1;
  Label2.Caption := '';
  if pruefen(strtoint(edit1.Text)) then
    Label2.Caption := Edit1.Text + ' ist eine Primzahl!
  else
    begin
      zerlegen(strtoint(edit1.Text));
      Label2.Caption := Label2.Caption + '*' + inttostr(strtoint(edit1.Text) div m);
    end;
end;
So würd ichs machen.
Ich hab mir den Algo an sich nicht angeschaut, wie effektiv und richtig der ist
Was hab ich gemacht: Oben in der zerlegen-Funktion hab ich die Variable p rausgenommen und gleich result verwendet. Dann hab ich alle Einrückungsebenen konsequent durchgezogen, Alle Anfangsbuchstaben von Objekten groß geschrieben, Leerzeichen vor und hinter jedes ":=" gesetzt und auch vor und hinter jedes "+" in den Stringzusammensetzungen.

//edit1: Zusätzlich noch hinter jedem ":" in den Variablendeklarationen und den Parameterangaben ein Leerzeichen eingefügt.
//edit2: Leerzeichen rund um die <, >, <=, >= und <>-Vergleiche eingefügt.
Julian J. Pracht
  Mit Zitat antworten Zitat