Entwickler-Ecke
Sonstiges (Delphi) - pq Formel Fehler, nur wo?
trewtrew - Mo 28.09.09 21:05
Titel: pq Formel Fehler, nur wo?
Hallo,
ich bin gerade dabei für eine Klassenarbeit zu lernen,
als Übungsaufgabe wurde uns gesagt ein Programm zu schreiben
das die Unbekannten berechnen kann.
Meiner Meinung nach ist das Programm richtig geschrieben!
Doch Delphi ist nicht ganz damit einverstanden ;-)
Schon mal vielen Dank für Antworeten
Dies sind meine Fehlermeldungen:
[Fehler] Unit1.pas(33): ',' oder ':' erwartet, aber 'BEGIN' gefunden
[Warnung] Unit1.pas(40): Vorzeichenbehaftete und -lose Typen werden verglichen - beide Operanden werden erweitert
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
Delphi-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: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TEdq = class(TForm) Edp: TEdit; Ed: TEdit; EdLoes1: TEdit; EdLoes2: TEdit; EdKomm: TEdit; btBerechnen: TButton; procedure btBerechnenClick(Sender: TObject); private
public
end;
var Edq: TEdq;
implementation
{$R *.dfm}
procedure TEdq.btBerechnenClick(Sender: TObject); var d,p,q,x1,x2 begin edLoes1.Text := ''; edLoes2.Text := ''; EdKomm.Text := ''; p := StrToFloat (Edp.Text); q := StrToFloat (Edq.Text); d := -(p/2) * -(p/2); if d < 0 then begin edKomm.text := '1 Lösung'; x1 := -(p/2); EdLoes1.Text := FloatToStr (x1); end else Begin edkomm.Text := '2 Lösungen'; x1 := -(p/2) + d; x2 := -(p/2) - d; EdLoes1.Text := FloatToStr (x1); EdLoes2.Text := FloatToStr (x2); End;
end;
end. |
Moderiert von
Gausi: Delphi-Tags hinzugefügt
ub60 - Mo 28.09.09 21:16
Du berechnest die Diskriminante falsch. Schau Dir noch mal die Formel an.
ub60
trewtrew - Mo 28.09.09 21:17
ub60 hat folgendes geschrieben : |
Du berechnest die Diskriminante falsch. Schau Dir noch mal die Formel an.
ub60 |
hab ich jetzt verbessert, aber ich habe immer noch kein Lauffähiges Programm?
d := (-p/2) * (-p/2);
Tryer - Mo 28.09.09 21:18
.. und die Deklaration der lokalen Variablen
trewtrew - Mo 28.09.09 21:19
Tryer hat folgendes geschrieben : |
| .. und die Deklaration der lokalen Variablen |
danke....
jetzt klappts
var d,p,q,x1,x2 :real;
das mit dem real hab ich iwie ganz vergessen!
der organist - Mo 28.09.09 22:39
sollte es nicht d := SQR(p/2)-q; sein??
Und des weiteren, du erhälst eine Lösung, wenn d=0, wenn d<0, dann gibbet keine Lösung und bei d>0 zwei stück ....
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!