ich hab keine ahnung wie das mit repeat until geht, aber ich weiß wie es mit ner while-Schleife geht. das kann man ja bestimmt abändern.
Erstmal muss man den ggT bestimmen um dann damit den kgv zu berechenen:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| function ggt(x,y: Integer):Integer; var z: Integer; begin while x<>y do begin z:=x-y; if z>0 then x:=z else y:=-z; end; result:=x; end;
function kgv (zahl1,zahl2,ggt): real; begin result:=zahl1*zahl2/ggt; end;
procedure TForm1.btnRechneClick(Sender: TObject); var zahl1, zahl2: Integer; ggteiler,vielfaches: Real; begin zahl1:=StrToInt(edtZahl1.text); zahl2:=StrToInt(edtZahl2.text); ggteiler:=ggt(zahl1,zahl2); kgvielfaches:=kgv(zahl1,zahl2,ggt); lblausgabe.caption:=Floattostr(kgvielfaches); end; |
Ich hab den Quelltext aus nem Programm von mir entnommen, also musst du die Bezeichnung der Edits und Buttons noch ändern.