Entwickler-Ecke
Algorithmen, Optimierung und Assembler - nullstellen berechnen
110022 - Sa 08.03.08 23:50
Titel: nullstellen berechnen
Ich will n Programm schreiben mitdem ich die Nullstellen einer parabel berechnen kann.
halt son zeuch mit der p q Formel.
nur hab ich keine Ahnung wie ich das machen machen soll.
was soll ich machen?
sowas wie:
7x²+27x-89=0 oder
2x²=57x-3
ps: is bestimmt im falschen bereich gepostet :D
110022
Moderiert von
Christian S.: Topic aus VisualCLX (Component Library for Cross Platform) verschoben am So 09.03.2008 um 00:05
Calculon - So 09.03.08 00:00
Schonmal was von der Mitternachtsformel gehört?
110022 - So 09.03.08 00:01
ka was das is
Hidden - So 09.03.08 00:01
Hi,
In diesem Fall hilft dir sicherlich die Suche:
NULLSTELLENBERECHNUNG.
(Ansonsten setze doch einfach mal in deine Formel 0 ein!!!^^)
y = aX² + bX + c
X-Achse: aX² + bX + c = 0;
Y-Achse: Y = a*0² + b*0 + c
Y = c;
mfG,
110022 - So 09.03.08 00:03
ich weiß wie man die berechnet aber wie mache ich das bei delphi?
habs schon versucht aber der Versuch ging in die Hose...
Hidden - So 09.03.08 00:52
Hidden hat folgendes geschrieben: |
Hi,
In diesem Fall hilft dir sicherlich die Suche:
NULLSTELLENBERECHNUNG.
(Ansonsten setze doch einfach mal in deine Formel 0 ein!!!^^)
y = aX² + bX + c
X-Achse: aX² + bX + c = 0;
Y-Achse: Y = a*0² + b*0 + c
Y = c;
mfG, |
110022 hat folgendes geschrieben: |
ich weiß wie man die berechnet aber wie mache ich das bei delphi?
habs schon versucht aber der Versuch ging in die Hose... |
Woran hapert es denn? Am Umgang mit Variablen?
http://www.christian-stelzmann.de/artikel/crashkurs.htm
Ich gehe es jetzt mal durch:
Quelltext
1: 2: 3: 4:
| aX² + bX + c = 0 X² + bX / a + c / a = 0 X = -b/2a +- sqrt(b*b/(4*a*a) - c/a) X = -b/2a + sqrt(b*b/(4*a*a) - c/a) v. X = -b/2a - sqrt(b*b/(4*a*a) - c/a) |
Womit du die zwei Nullstellen deiner Parabel hättest.
Diskriminante(Zahl unter der Wurzel) < 0 heißt keine Nullstellen
D = 0: eine
D > 0: zwei
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure Nullstellen(a,b,c: Extended); var D: Extended; begin D := b*b/(4*a*a) - c/a if D < 0 then else begin Ausgabe(-b/2a + sqrt(D), -b/2a + sqrt(D)); end; end; |
mfG,
110022 - So 09.03.08 14:12
mein problem ist der Aufbauder Variablen
ich weiß einfch nicht wie ich das aufbauen soll.
und wie ich die einzelnen rechenschritte in ner listbox zeigen lasse weiß ich auch nich.
das soll auch so simpel wie möglich werden.
Xion - So 09.03.08 14:30
erstmal durch einen Mini-Parser. Du zerschneidest erstmal den Eingabestring.
5x²+3x-100=0
5x² | +3x | -100
dann schneidest du die Werte für a, b, c ab:
a=5 b=3 c=-100;
und ab damit in die Mitternachtsformel von oben => 2 Ergebnisse
anderes Beispiel:
5x²=3x-100
alles nach dem = wird mit einem - versehen
5x² | -3x | +100
a=5 b=-3 c=100
Hidden - So 09.03.08 17:10
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!