Autor Beitrag
jule1988
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Do 23.11.06 11:55 
ich hab noch ein großes Problem entdeckt.
Ich soll ein programm entwickeln, dass über Quadratische GLeichungen aus den übergegeben Parametern p und q und der Gleichung x²+px+q die Anzahl der Lösungen ermittelt und diese werte zurückgibt
- struktogramm zu Lösung des Problems
- programmieren des "Rechne" und "Abbrechen" buttons

Danke!!!!!!!!!!
(bin echt hilflos!!)
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Do 23.11.06 12:14 
Nullstellenberechnung?

Was hast du denn schon?
Und was kannst du..wo hängst du?

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
jule1988 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Do 23.11.06 12:33 
ich hänge komplett.
Mein Problem ist, dass ich lange krank war. eigentlich liebe ich info, aber ich hab bei DElphi über 3/4 der stunden verpasst.
Ich bekomms also garnicht hin.
Ich weiß es ist viel verlangt hier lösungen für meine Aufgaben zu bekommen.
Ich bemühe mich ja, aber mir fehlen die voraussetzungen und innerhalb von einer woche konnte ich das nicht schaffen,
morgen ist die KLausur und ich hab jetz vor den Aufgaben Kapituliert und Brauche echt hilfe
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Do 23.11.06 12:45 
zu viel verlangt is nix
und bis morgen wird schwierig würd ich sagen..aber ich will dir keine falschen hoffnungen machen...
versuchen wirs einfach mal...

weißt du was eine Funktion ist?
Rückgabeparameter einer Funktion?
wie du Parameter übergibst?
Variablen?

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
mister_x
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 85

Win 98, WIN 2000, WIN XP PRO
Delphi 2006
BeitragVerfasst: Do 23.11.06 13:32 
user profile iconjule1988 hat folgendes geschrieben:
ich hab noch ein großes Problem entdeckt.
Ich soll ein programm entwickeln, dass über Quadratische GLeichungen aus den übergegeben Parametern p und q und der Gleichung x²+px+q die Anzahl der Lösungen ermittelt und diese werte zurückgibt
- struktogramm zu Lösung des Problems
- programmieren des "Rechne" und "Abbrechen" buttons

Danke!!!!!!!!!!
(bin echt hilflos!!)


scho ma von der "Mitternachtsformel" gehört?? :shock:
X1/2=-p/2 + - sqrt((p/2)²-q).......
also
ausblenden Delphi-Quelltext
1:
2:
X1:=-p/2 + sqrt(p*p/4 - q);//erste Lösung
X2:=-p/2 - sqrt(p*p/4 - q);//zweite Lösung


MIster_X

_________________
Der Computer ist das genialste Produkt der menschlichen Faulheit
DaKirsche
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 187

Win XP Pro, SuSe Linux 7.3 - 10.2, Win 2k3 Server, Win 2000, Win NT 4.0
Delphi 2006 Pro, Java, HTML, SQL, PHP, CSS
BeitragVerfasst: Do 23.11.06 13:36 
Moin...


Also du willst bis morgen Delphi lernen?????aha....^^

Naja...zumindest bei deinem PQ-Formel Problem kann ich dir helfen.

Wie die P-Q-Formel aussieht mussich dir bestimmt nicht erklären....

Schaffst du es denn die Werte für P und Q einzulesen?

Die P-Q-Formel in Delphi:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
Procedure TForm1.PQFormelBerechnenClick(Sender: TObject);
var x1,x2,Term1,Term2:Real;
//var P,Q:Real;
Loesungen:Integer;
begin
//Zunächst musst du P und Q einlesen
Term1:= -p/2//1. Teil der P-Q-Formel
Term2:= ((P*P)/4)-q; //2.Teil der P-Q-Formel
//Testen, ob keine Lösung:
If (Term2<0then Loesungen:=0 else
if (Term2=0then Loesungen:=1 else
Loesungen:=2//Prüfen, ob Wurzelinhalt negativ,0 oder größer ist

If Loesungen=2 then begin //wenn 2 Lösungen
x1:=Term1+sqrt(Term2); //X1 berechnen
x2:=Term1-sqrt(Term2); //X2 berechnen
end;
//Und hier halt dann die Ausgabe von den Lösungen und Ergebnissen
end;


Also ich denke so irgendwie würde ich es lösen...

//Edit: Quelltext erweitert...danke mister_x^^

_________________
Die simpelsten Fehler sind meist die Schwersten...


Zuletzt bearbeitet von DaKirsche am Do 23.11.06 16:24, insgesamt 2-mal bearbeitet
mister_x
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 85

Win 98, WIN 2000, WIN XP PRO
Delphi 2006
BeitragVerfasst: Do 23.11.06 13:44 
user profile iconDaKirsche hat folgendes geschrieben:
Moin...


Also du willst bis morgen Delphi lernen?????aha....^^

Naja...zumindest bei deinem PQ-Formel Problem kann ich dir helfen.

Wie die P-Q-Formel aussieht mussich dir bestimmt nicht erklären....

Schaffst du es denn die Werte für P und Q einzulesen?

Die P-Q-Formel in Delphi:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
Procedure TForm1.PQFormelBerechnenClick(Sender: TObject);
var x1,x2,Term1,Term2:Real;
//var P,Q:Real;
Loesungen:=0;
begin
//Zunächst musst du P und Q einlesen
Term1:= -p/2//1. Teil der P-Q-Formel
Term2:= ((P*P)/4)-q; //2.Teil der P-Q-Formel
//Testen, ob keine Lösung:
If (Term2<0then Loesungen:=0 else Loesungen:=2//Prüfen, ob Wurzelinhalt negativ
//Wie man jetzt prüft, ob eine oder 2 Lösungen ist mir entfallen...Schule ist schon etwas her :)
If Loesungen=2 then begin //wenn 2 Lösungen
x1:=Term1+sqrt(Term2); //X1 berechnen
x2:=Term1-sqrt(Term2); //X2 berechnen
end;
//Und hier halt dann die Ausgabe von den Lösungen und Ergebnissen
end;


Also ich denke so irgendwie würde ich es lösen...


na wenn unter der wurzel 0 steht gibt es nur eine lösung :lol:

_________________
Der Computer ist das genialste Produkt der menschlichen Faulheit
jule1988 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Do 23.11.06 15:36 
Danke leute!!!!
Ohne euch wär ich aufgechmissen
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Do 23.11.06 15:39 
es gibt in einer quadratischen gleichung doch immer nur zwei nullstellen ? wieso willst du die anzahl der lösung bestimmen, es gibt entweder keine nullstelle (negative zahl unter der wurzel), es gibt eine (sonderfall von 2), oder zwei.

mfg
jule1988 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Do 23.11.06 15:49 
sorry, wenn ich mich zu dumm stellen, aber
"//Und hier halt dann die Ausgabe von den Lösungen und Ergebnissen
end;"
was genau muss ich da machen...
(bitte haltet mich nich für bescheuert)
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Do 23.11.06 15:56 
am einfachsten mit ShowMessage("Die Werte");

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
DaKirsche
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 187

Win XP Pro, SuSe Linux 7.3 - 10.2, Win 2k3 Server, Win 2000, Win NT 4.0
Delphi 2006 Pro, Java, HTML, SQL, PHP, CSS
BeitragVerfasst: Do 23.11.06 16:22 
da kommt dann z.B. folgendes hin:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
//Ausgabe in Editfeldern:
Edit1.Text:=FloatToStr(x1);
Edit2.Text:=FloatToStr(x2);
Edit3.Text:=IntToStr(Loesungen);

//Ausgabe als Showmessage:
Showmessage('Anzahl der Lösungen: ' + IntToStr(Loesungen) + ' X1: ' + FloatToStr(X1) + ' X2: ' + FloatToStr(X2));

//Die Ausgabe kannst du in unzählbar vielen Formen programmieren....es wird hierfür zu viel

_________________
Die simpelsten Fehler sind meist die Schwersten...
Dragonclaw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 196

Windows Vista
Delphi 7 Prof.
BeitragVerfasst: Do 23.11.06 16:24 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
If (Term2<0then Loesungen:=0 else Loesungen:=2//Prüfen, ob Wurzelinhalt negativ
//Wie man jetzt prüft, ob eine oder 2 Lösungen ist mir entfallen...Schule ist schon etwas her :)
If Loesungen=2 then begin //wenn 2 Lösungen
x1:=Term1+sqrt(Term2); //X1 berechnen
x2:=Term1-sqrt(Term2); //X2 berechnen
end;
//Und hier halt dann die Ausgabe von den Lösungen und Ergebnissen
end;


würde ich in
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
if (Term2 < 0 ) then Loesungen := 0;
if (Term2 = 0 ) then Loesungen := 1;
if (Term2 > 0 ) then Loesungen := 2;

if Lösung = 1 then 
 begin
  x1 := Term1;
  x2 := Term1; // x1 und x2 sind gleich also gibt es nur eine lösung
 end;

if Lösung = 0 then
 begin
  x1 := '';
  x2 := ''//Wenn er dir nach her ein leeres Message Feld anzeigt gibts keine Lösung
 end;

If Loesungen = 2 then 
 begin 
  x1:=Term1+sqrt(Term2); 
  x2:=Term1-sqrt(Term2); 
 end;
DaKirsche
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 187

Win XP Pro, SuSe Linux 7.3 - 10.2, Win 2k3 Server, Win 2000, Win NT 4.0
Delphi 2006 Pro, Java, HTML, SQL, PHP, CSS
BeitragVerfasst: Do 23.11.06 16:33 
Warum willst du denn dem Programm mehr arbeit aufdrücken, als nötig?
Du lässt ihn ja jede Schleife durchlaufen, selbst wenn dies nicht mehr nötig wäre....
Bei dir werden jetzt ja immer alle 6 IF-Schleifen druchlaufen....selbst wenn z.B. er nach der 1. Schleife eigentlich schon abbrechen könnte....;)

_________________
Die simpelsten Fehler sind meist die Schwersten...
Dragonclaw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 196

Windows Vista
Delphi 7 Prof.
BeitragVerfasst: Do 23.11.06 16:44 
Naja, ich wollte halt der er versteht was da passiert

Geht natürlich kürzer

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.Button1Click(Sender: TObject);
var p,q :real;
x1,x2: string;
begin
if (((P*P)/4)-q < 0 ) then
ShowMessage('Das Problem hat keine reale Lösung!');
else
ShowMessage('X1:' + floattostr(-p/2+sqrt(((P*P)/4)-q)) + 'X2:' +floattostr(-p/2-sqrt(((P*P)/4)-q)));
end;
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Do 23.11.06 16:56 
wobei die variablen x1 und x2 überflüssig sind ;) wenn es ein ergebnis gibt sind eben x1 und x2 identisch, falls du das noch extra handlen willst, musst du das eben noch einmal gesonders abfragen ;)

mfg
mister_x
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 85

Win 98, WIN 2000, WIN XP PRO
Delphi 2006
BeitragVerfasst: Do 23.11.06 16:59 
user profile iconF34r0fTh3D4rk hat folgendes geschrieben:
es gibt in einer quadratischen gleichung doch immer nur zwei nullstellen ? wieso willst du die anzahl der lösung bestimmen, es gibt entweder keine nullstelle (negative zahl unter der wurzel), es gibt eine (sonderfall von 2), oder zwei.

mfg


warum nich..........

_________________
Der Computer ist das genialste Produkt der menschlichen Faulheit
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Do 23.11.06 17:02 
weils im grunde immer 2 gibt oder keine, bei polynomen n-ten grades wäre das wieder was anderes.
DaKirsche
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 187

Win XP Pro, SuSe Linux 7.3 - 10.2, Win 2k3 Server, Win 2000, Win NT 4.0
Delphi 2006 Pro, Java, HTML, SQL, PHP, CSS
BeitragVerfasst: Do 23.11.06 17:07 
Das will er, da es bestimmt Bestandteil der Aufgabe ist.
Außerdem mag es das Programm nicht, wenn du ihn einfach rechnen lässt....dann die Wurzel aus einer Negativen und schon haste ne Fehlermeldung


Also musst du irgendwo abfragen, ob der Inhalt der Wurzel negativ ist --> Schon prüfst du die Anzahl der Lösungen^^

_________________
Die simpelsten Fehler sind meist die Schwersten...
Dragonclaw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 196

Windows Vista
Delphi 7 Prof.
BeitragVerfasst: Do 23.11.06 17:08 
user profile iconF34r0fTh3D4rk hat folgendes geschrieben:
weils im grunde immer 2 gibt oder keine, bei polynomen n-ten grades wäre das wieder was anderes.


Das ist falsch. Es gibt auch Fälle wo eine Parabel nur eine Nullstelle hat, nämlich wenn der Sattelpunkt, genau auf der X-Achse liegt z. B. Hat f(x) = x^2 nur genau eine Nullstelle, nämlich 0. Das selbe gilt für f(x) = (x+1)^2, da ist die nullstelle bei -1.