Geschrieben von Kalka am 29.04.2002 um 20:28:
öhh, und was sollen die x in der Formel? du meinst doch
a+b+c=0;
also soll das ergebnis immer null sein??? naja, jedenfalls musse erstmal 3 var's definieren....
var a,b,c:integer;
so, dann prüfen, ob a=0 ist => wenn ja soll die function/procedure verlassen werden:
...
if a = 0 then exit;
...
und dann? soll das wirklich immer 0 ergeben oder haste dich vertan???
cu Kalka
Geschrieben von LX am 30.04.2002 um 00:48:
Öööhm, das x ist die Variable, nach der aufgelöst werden soll
Es handelt sich um eine quadratische Funktion und a, b und c soll man vorher bestimmen. Mit diesen gegebenen Parametern kann man dann bestimmen ob, wieviele und welche Nullstellen es gibt.
Is' mir jetzt aber'n bisschen zu spät um mir das jetzt genauer anzuschauen.
[EDIT]:
So, nu bin ich wieder wach. Aaalso:
Richtig war schon mal, dass du am Anfang abfragst, ob a=0 ist, wenn ja soll der User gefälligst nochmal eingeben
Dann prüfst du ob b und a 0 sind, wenn ja dann gibt es nur eine Nullstelle, nämlich bei x=0 (Ergebnis).
Wenn a und c einen Wert haben, b aber 0 ist, dann liegen 2 Nullstellen bei
x = +WURZEL(-c/a) und bei
x = -WURZEL(-c/a) (vorher natürlich prüfen, ob -c/a größer als 0 ist, ansonsten gibt es keine Lösung).
Ansonsten nimmst du die quadratische Lösungsformel (
x = - b/2a ± WURZEL[(b/a)²/4 - c/a)). Du prüfst, ob der Term unter der Wurzel
[(b/a)²/4 - c/a] größer oder gleich 0 ist, wenn dem so ist dann ist
x1 = -b/2a + WURZEL[(b/a)²/4 - c/a] und
x2 = -b/2a - WURZEL[(b/a)²/4 - c/a] (2 Lösungen), wenn nicht, dann gibt es keine Lösung.
Der fertige Pseudocode sieht dann etwa so aus:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
|
WENN (a = 0) DANN nochmal eingeben;
SONST WENN (b = 0) UND (c != 0) DANN
WENN (-c/a > 0) DANN
x1 = WURZEL(-c/a);
x2 = -x1;
SONST keine Lösung;
SONST WENN ((b/a)²/4 - c/a) >=0) DANN
x1 = -b/2a + WURZEL((b/a)²/4 - c/a);
x2 = -b/2a - WURZEL((b/a)²/4 - c/a);
|
|
Für Fehler übernehme ich keine Gewähr
Geschrieben von Medusa am 30.04.2002 um 18:21:
wir ham das zeugs grade in mathe
...
die Formel is glaub net ganz richtig, ich weiß zwar net wie man die umformt, aber wahrscheinlich is se umgeformt die selbe
Wie ham gelernt:
x = (-b +- (WURZEL [ b² - 4ac])) / 2a