Einzelnen Beitrag anzeigen

pete_knightde

Registriert seit: 15. Mär 2005
11 Beiträge
 
#1

programm fehler (pq-formel) - numerische datentypen

  Alt 15. Mär 2005, 20:56
hi, muss für die schule ein programm machen, womit ich durch hilfe der pq-formel auf die lösung komme
jedoch habe ich folgende fehlermeldung (bei dem berechnungsteil): "Zeigertyp erwartet"


procedure TForm1.BtBerechnenClick(Sender: TObject);
//Deklaration
var p, q, x1, x2 : real;

begin
//Umwandlung der Eingaben
p:=strtofloat (Edp.text);
q:=strtofloat (Edq.text);

//Berechnungsteil
x1 := -1*p / 2 + sqrt(p^2/4-q);
x2 := -1*p / 2 - sqrt(p^2/4-q);

if sqrt((p^2/4)-q)<0
then begin
EdKommentar.text:='Keine Lösung';
end
else if sqrt((p^2/4)-q)=0
then begin
EdKommentar.text:='Nur Eine Lösung';
end else begin
EdKommentar.text:='Zwei verschiedene Lösungen';

//Formatierung
Edx1.text:=floatt ostrF(x1,ffgeneral,10,3);
Edx2.text:=floattostrF(x2,ffgeneral,10,3 );
end;

wenn ich die aufgabe streiche p zu quadrieren, dann klappt zwar das programm, aber stürzt mit einer fehlermeldung bei 2 positiven zahlen ab ("ungültige gleitkommaoperation")
und wenn p negativ ist klappt es auch nicht
woran liegt das??

ich kann zwar statt p^2, p*p eingeben, aber ich würde es gerne anders machen


wäre nett, wenn ihr helfen würdet, ich benutze delphi 5 von borland, falls das hilft
  Mit Zitat antworten Zitat