Aufgabe 6.2


Soweit ist das ja klar, aber ich komme nicht darauf WIE Polynom weiss, wie das Array in PolynomLoeser heisst…

Ich tu mich mit dem ganzen Objektorientierten noch etwas schwer, tut mir leid :frowning:


Wer lesen kann, ist klar im Vorteil:

[quote=Aufgabenblatt]Der Konstruktor der Klasse soll ein int-Feld akzeptieren, in dem an der Stelle i der i-te Koeffizient
des Polynoms gespeichert ist.[/quote]


Sagtmal ist es eigentlich schlimm wenn ich das erste “Feld” im String, also das für den Grad, überhaupt nicht auswerte? Der Grad ergibt sich ja sowieso aus den Koeffizienten und Polynom rechnet sich seinen MaxGrad auch noch mal selber aus. Ist doch eigentlich nur zum Fehler erkennen da, dieser Wert im String oder?


So seh ich das auch. Ich hab den Wert auch einfach verworfen. Den Grad errechnet die Polynom-Klasse eh neu.

Von einer Fehlererkennung steht allerdings nichts in der Aufgabenstellung.


Theoretisch könnte der Wert wichtig sein, wenn man davon aussgeht, dass nicht alle Koeffizienten angegeben sein müssen, sondern nur beliebig viele (<=maxGrad+1) vom höchsten Grad abfallend.


Steht aber nirgends, dass das so funktioniert…


Bei der 6.2 steht auch nirgends dabei, dass es ohne Binomialkoeffizienten gemacht werden soll, genau das habe ich aber schon von mehreren Seiten gehört.

Ich werte den übergebenen Grad auch nicht aus, er ist ja eh unzuverlässig (siehe Beispiel 3).


Stimmt, deswegen auch mein „theoretisch“. Tatsächlich ist es wohl nur redundant.


Ich kenne zwar die Aufgabe nicht, aber wenn in Java eine .class Datei im selben Verzeichnis liegt dann ist das drinstehende dort überall „bekannt“.


nicht wenn int polynomarray private ist!


Ja, das ist klar, aber ich dachte sein Problem wäre vielleicht woher er das Interface (allgemein, nicht unbedingt Java-Interface…) der Klasse in der anderen kennt. Aber wie gesagt, ich kenne die Aufgabe nicht und wollte nur helfen.


hat schon mal wer die berechneHorner(int x, int i) mit i<maxGrad ausgeführt

und kann hier referencen geben
ich hab leider nicht viel auspribiert

bisher nur:
übergeben array: int[] koeff = {15, 12, 4, -2, -2, 4}

P(x) = 15x^0 + 12x^1 +4x^2 -2x^3 -2x^4 + 4x^5

Für x=8 und i=0 P(x) = 4
Für x=8 und i=1 P(x) = 30
Für x=8 und i=2 P(x) = 238
Für x=8 und i=3 P(x) = 1908
Für x=8 und i=4 P(x) = 15276
Für x=8 und i=5 P(x) = 122223

also das entergebnis stimmt auf jeden fall :slight_smile:

über mehr test wäre ich nicht sauer
oder über eine bestätigung


Das hab ich auch raus. Ist auch logisch wenn du die einzelnen P_i(x) nachrechnest.


In der berechne-Methode vom PolynomLoeser wird bei einer richtigen Lösung der Aufgabe am Schluss wohl immer sowas stehen:

... Polynom p = new Polynom(koeff); return p.berechne(x);