Hausübung 1 Aufgabe 8

kechler
Mausschubser
Mausschubser
Beiträge: 46
Registriert: 21. Nov 2004 22:33
Wohnort: Darmstadt

Hausübung 1 Aufgabe 8

Beitrag von kechler »

N'abend,

ich habe ein Problem bei der PQ-Formel Aufgabe. Ich war auch schon in der Sprechstunde, habe aber das Problem aber leider immer noch nicht lösen können:

In der quad-equation-Prozedur frage ich erst ab, ob das übergebene symbol x1 oder x2 ist und dann will ich mithilfe der discriminant-Prozedur den dazugehörigen Wert ausrechnen. Danach frage ich erst ab, ob die discriminant-Prozedur das Symbol 'negative_squareroot zurückgegebn hat, falls die Diskriminante<0 ist.

Jetzt habe ich das Problem, dass wenn ich in der discriminant-Prozedur p=0 oder p^2/4 < q abfrage, die Prozedur mir das Symbol 'negative_sqaureroot zurückgibt, womit ich einen Fehler in meiner ersten Abfrage in der quad-equation bekomme, da discriminant ja eigentlich nen Wert und kein Symbol zum berechnen des entsprechenden x1 oder x2 - Wertes braucht.

Ich habe quasi ein Problem in meiner Abfrage drin, ob discriminant ein Symbol oder eine number zurückgibt. Vielleicht hat ja einer nen Tipp!

Ich hoffe, ich habe es nicht zu schwierig formuliert, wollte aber keinen Code psoten, da das sonst immer Ärger bringt...

rick
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 105
Registriert: 17. Jan 2006 23:20

Beitrag von rick »

also wenn ich's richtig verstanden habe, bekommste nen fehler in quad-equation, wenn discriminant 'negative_squareroot zurückgibt und quad-equation dann damit versucht, eine der beiden lösungen zu berechnen.

Warum fragst Du dann nicht ZUERST, ob discriminant 'negative_squareroot zurückgibt und berechnest eine der beiden Lösungen nur, wenn das nicht der Fall ist?

Can
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 223
Registriert: 17. Okt 2006 15:14
Kontaktdaten:

Beitrag von Can »

ja, genau, du musst deine quad-equation erst überprüfen lassen, ob es sich bei der Auswertung aus deinem discriminant um ein Symbol handelt,
falls ja, lässt du gleich die Fehlermeldung ausgeben, wenn nicht, dann lässt du
die Berechnung durchführen ;)
Cogito ergo sum

kechler
Mausschubser
Mausschubser
Beiträge: 46
Registriert: 21. Nov 2004 22:33
Wohnort: Darmstadt

Beitrag von kechler »

Danke für die schnellen Antworten, jetzt ist bei mir der Groschen gefallen und alles läuft so wie es soll :wink:

Benutzeravatar
marlic
Computerversteher
Computerversteher
Beiträge: 365
Registriert: 5. Okt 2006 11:09
Wohnort: Dietesheim

Beitrag von marlic »

In der Aufgabenstellung sind meiner Meinung nach widersprüchliche Aussagen über den Fall, dass:

Das eingegebene Symbol nicht 'x1 oder 'x2 ist

UND

Die Diskriminante nicht reell ist.

Was sagt ihr dazu?
'InvalidInput oder 'NoRealSolution ausgeben?

Sinnvoller wäre wohl 'InvalidInput ... Aber leichter zu realisieren ist bei mir 'NoRealSolution, weil ich zuerst die Diskriminante überprüfe.
"Copy & Passed"

Wahlspruch der Plagiatoren

banshee
Nerd
Nerd
Beiträge: 684
Registriert: 22. Okt 2006 18:46

Beitrag von banshee »

ich denke mal wenn du 'no_real_solution ausgibst muss man davon ausgehen, dass für den eingegebenen wert kein ergebnis ermittelt werden konnte, die eingabe aber korrekt war. und wenn man dann zum beispiel 'eiernacken eingibt...

:D

kechler
Mausschubser
Mausschubser
Beiträge: 46
Registriert: 21. Nov 2004 22:33
Wohnort: Darmstadt

Beitrag von kechler »

Genau dasselbe Problem hatte ich auch, aber du darfst nicht nach dem speziellen symbol 'negative_solution nachfragen, sondern ob dir die Prozedur discriminant überhaupt ein symbol zurückgibt. Also einfach ein "=" und ein "'negative_solution" weniger und es sollte laufen...

Antworten

Zurück zu „Archiv“