Hi,
ich arbeite an einem Programm, mit dem man die Berechnung von Quadratische Funktionen üben kann.
hier ein Ausschnitt:
implementation
{$R *.dfm}
var
p,q:Integer;
x0i,x1i,x2i,Sxi,Syi,x0,x1,x2,Sx,Sy
ouble;
procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
p:=random(20)+1;
q:=random(30);
Panel2.Caption:='x²+'+IntToStr(p)+'x+'+IntToStr(q) ;
x0i:=(-(p/2));
x1i:=x0i+(sqrt(p/2))-(q);
x2i:=x0i-(sqrt(p/2))-(q);
Sxi:=(-(p/2));
Syi:=(-(sqrt(p/2))+(q));
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
x1:=StrToFloat(x1Edit.Text);
x2:=StrToFloat(x2Edit.Text);
Sx:=StrToFloat(SxEdit.Text);
Sy:=StrToFloat(SyEdit.Text);
x0:=-(p/2);
x1:=x0+sqrt(sqr(p/2)-q);
x2:=x0-sqrt(sqr(p/2)-q);
Sy:=-(p/2);
Sx:=-sqr(p/2)+q;
if x1=x1i
then begin
Label6.Caption:='Richtig!';
x1Edit.Color:=clgreen;
end
else begin
Label6.Caption:='Falsch!';
x1Edit.Color:=clred;
end;
if x2=x2i
then begin
Label7.Caption:='Richtig!';
x2Edit.Color:=clgreen;
end
else begin
Label7.Caption:='Falsch!';
x2Edit.Color:=clred;
end;
if Sx=Sxi
then begin
Label8.Caption:='Richtig!';
SxEdit.Color:=clgreen;
end
else begin
Label8.Caption:='Falsch!';
SxEdit.Color:=clred;
end;
if Sy=Syi
then begin
Label9.Caption:='Richtig!';
SyEdit.Color:=clgreen;
end
else begin
Label9.Caption:='Falsch!';
SyEdit.Color:=clred;
end;
end;
Meine Frage ist,wie ich es hinbekomme,dass die Werte von x1i...Syi nur bis auf 2 Stellen nach dem Komma berechnet werden,damit
sie mit der Eingabe Verglichen werden können.(Die 2 Stellen sollten schon sein)
ps:ich hab leider noch nicht viele Kenntnisse,da wir nur 1x in der Woche Info in der Schule haben.
Hoffe ihr könnt mir helfen.