Hallo,
Zitat:
Allerdings hätte ich gern, dass Delphi auch die Schnittpunkte ausgibt, wenn ich kein n eingegeben habe. Bis jetzt ist es so, dass ich für beide Variablen einen Wert eingeben muss
Du kannst Delphi schon dazu "überreden" in einem solchen Fall (fehlende Ordinate) Schnittpunkte auszugeben - dazu musst Du nur Dein Programm entsprechend implementieren.
Eine fehlende Ordinate (Variable n = 0) in Deiner Polynomfunktion ersten Grades heißt doch letztlich nichts anderes als: Es gibt definitiv keine Verschiebung in Y-Richtung - oder: Die Gerade geht sicher durch den Ursprung.
Zitat:
[...] Ich weiß nicht, was bei dem Programm noch alles auf mich zukommen wird [...]
Naja, dass kann ich Dir jetzt auch nicht wirklich (vorher)sagen, aber: Wenn sich die Problemstellung nicht grundlegend ändern sollte - urplötzlich Polynome höheren Grades oder gar andere Funktionen (e^x, ln (x), sin (x), cos (x) etc.) "diskutiert" werden sollen -, dann wird wohl nicht viel mehr dazu kommen, und dann heißt das:
Zitat:
[...] Natürlich möchte ich möglichst viel selbst machen, sodass ich es letztlich vielleicht doch verstehe [...]
Da ist Dein Ansatz wirklich mehr als löblich ist(!) und es ließe sich letztlich alles recht einfach auflösen mit (Pseudocode, ich lass die Code-Tags mal bewusst weg [
oh, Bob, was für ein gepfriemel]):
Steigung = LeseSteigung;
Ordinate = LeseOrdinate;
wenn Steigung nicht definiert
oder Null
und Ordinate nicht angeben
oder Null
dann
ZeigeNachricht: "f (x) = 0! Das ist jetzt aber nicht wirklich Ihr Ernst oder?"
ansonsten
wenn Steigung nicht definiert
oder Null
dann
ZeigeNachricht: "Schnittpunkte: Keine Nullstelle, mit der Y-Achse bei Ordinate (0; Ordinate)"
ansonsten
wenn Ordinate nicht definiert
oder Null
dann
ZeigeNachricht: "Schnittpunkte: Nullstelle bei (0; 0), keine mit der Y-Achse"
ansonsten
ZeigeNachricht: "Schnittpunkte: Nullstelle bei (-Berechne (Ordinate geteilt durch Steigung); 0) und mit der Y-Achse bei (0; Ordinate)")
Jetzt noch alles in ein Delphi-Äquivalent gegossen, fertig.
Sollten sich doch noch Fragen ergeben, dann helfen die Kollegen - auch ich - gerne weiter
Gruß