Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Berechnung am Dreieck (Schulaufgabe) Wurzelproblem

  Alt 24. Okt 2008, 16:50
Willkommen in der DP!

Die Fehlermeldung lässt darauf schließen, dass du mit negativen Werten in die Wurzel kommst, weshalb man das u.U. nicht sofort an den eingegebenen falschen Werten erkennen kann. Ich würde die Rechnung etwas auseinander ziehen, um noch eine weitere Bedingung einzubauen:

Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
VAR
  a , b , c , s , flaeche , umfang, tmp: real;
begin
  a:=StrToFloat(Edit1.Text);
  b:=StrToFloat(Edit2.Text);
  c:=StrToFloat(Edit3.Text);
  s:=(a + b + c)*0.5;
  tmp := s*(s - a)*(s - b)*(s - c);
  if tmp < 0 then
  begin
    ShowMessage('Ungültiges Dreieck oder Eingabe fehlerhaft!')
  end
  else
  begin
    flaeche:=sqrt(tmp);
    umfang:=(a + b + c);
    Edit4.Text:=FloatToStr(flaeche);
    Edit5.Text:=FloatToStr(umfang);

    IF a+b<c THEN
    begin
      label7.Caption:='Dieses Dreieck existiert nicht!';
    end;
  end;
end;

end.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat