Beiträge von teenious

    Wenn da jetzt :

    Rechner rech1 = new Rechner () ;
    Rechner rech2 = new Rechner ();

    rech1.addition () ;
    rech1.multiplikation () ;

    zur Frage : Welcher Wert befindet sich in den Variablen ergebnis nach Abarbeitung des gesamtes Programmes ?

    stehen würde , wäre dann die Antwort einmal = 6 und 5 sein oder ? Oder müsste ich die beiden Zahlen zusammen addieren bzw multiplizieren.

    Naja, ich glaube hier hast du noch ein Verständnisproblem. Zu einem Zeitpunkt kann ja nur ein einzelner Wert in einer Variable stehen. Also kann nach Abarbeitung des gesamten Programmes ergebnis nicht gleichzeitig 6 und 5 sein.
    Zeilenmäßig betrachtet wird es dir glaube ich klar:
    Nach der ersten Zeile ist rech1.ergebnis = 0, da dies der "Standardwert" ist, mit dem die Variable initialisiert wird.
    Nach der Zeile mit der Addition ist rech1.ergebnis = 6, da das Ergebnis der Addition hineingeschrieben wurde.
    Und nach der Zeile mit der Multiplikation ist rech1.ergebnis = 5, da 5*1 hineingeschrieben wurde. Dir muss klar sein, dass beim Zuweisen eines Wertes an eine Variable der alte Wert einfach weg ist.
    (rech2.ergebnis bleibt während des gesamten Ablaufs unverändert auf dem "Standardwert", also rech2.ergebnis = 0)

    Zitat


    Und wenn dann anstatt rech1.multiplikation () ; dann rech2.multiplikation () ; nehmen würde, wäre es im Ergebnis ein Unterschied ?

    Das überlasse ich dir, mit all den bisherigen Erklärungen, jetzt selbst zum Überlegen ;) Wie gesagt: Bedenke, dass bei mehreren Rechner-Objekten die Frage "Welchen Wert hat die Variable ergebnis?" nicht eindeutig ist. In rech1 kann ein anderes ergebnis als in rech2 stehen, und es muss ja auch nicht nur bei zwei Rechnern bleiben... :)

    Zitat


    Sorry für die vielen Fragen und vielen Dank dir nochmal

    Kein Problem.

    lg teenious

    Zitat

    Das heißt einfach das ich die ganzen Rechnungen, die ich gemacht habe umsonst waren , weil es keine Rechnungen gibt oder wie ?

    Also korrekt spricht man davon, dass das Programm nicht kompiliert. Der Compiler, der das Programm vor der Ausführung für den Computer übersetzen muss, weiß nämlich nicht, was "rech2" sein soll. Das heißt, das Programm kann man auch nicht ausführen und es gibt keine Rechnungen.

    Zitat

    Wenn die Aufgabe heißen würde : " Welcher Wert befindet sich in den Variablen x und y nach Arbeitung des gesamtes Programmes ? " wäre die Antwort x=1 und y =5 außer bei der Addition wäre sie 5 und 8 oder hab ich das falsch verstanden ?

    x und y werden im gesamten Ablauf des Programms nicht verändert. Du erkennst das daran, dass nirgends, außer bei der Deklaration dieser Variablen ganz oben, Zuweisungen der Art x = ... oder y = ... stehen. Das heißt (wenn wir einmal die fehlerhafte Zeile mit rech2 rausstreichen), dass nach Ausführung des Programms noch immer x = 1 und y = 5 gilt. Die aufgerufenen Methoden schreiben zwar Werte auf die Variablen "ergebnis" und "plus2", aber eben nicht auf x oder y. Auch bei Aufruf der Addition gilt daher x = 1 und y = 5, außerdem plus2 = 3 und ergebnis = 6, aber das wäre ja dann nicht gefragt.

    Zitat

    Wenn da jetzt "RechnerD rech2= new Rechner() hinzukommen würde, würde erst dann ein Rechnung enstehen ?

    Ganz korrekt müsste da stehen:

    Code
    RechnerD rech2 = new RechnerD();

    Und zwar irgendwo vor dem Aufruf von rech2.division(). Dann könnte man das Programm kompilieren und durchlaufen lassen, und, um es in deinen Worten zu sagen, es würden Rechnungen entstehen.

    lg teenious

    Vorweg: Bitte nicht zur Gewohnheit machen, sich für Hausaufgaben in irgendwelchen Onlineforen anzumelden und sie dort von anderen machen zu lassen. Nachdem die Erklärung eine Sache von drei Minuten ist will ich aber mal nicht so sein...

    Drei Punkte:

    1. Das gezeigte Programm ist kein korrektes Java-Programm. Es würde nicht kompilieren, da das Objekt rech2 nicht deklariert wurde, man aber davon eine Methode aufrufen will.
    2. Die Frage müsste, da die Variable "ergebnis" eine Objektvariable ist, eigentlich spezifieren, von welchem Objekt man diesen Variablenwert wissen möchte. Objektvariable heißt, dass mehrere "RechnerD"-Objekte verschiedene Werte für ergebnis speichern (im Gegensatz zu Klassenvariablen, die ihr wahrscheinlich auch schon einmal irgendwo behandelt habt). Da im gezeigten Code nur rech1 korrekt deklariert und initialisiert wurde, nehme ich einmal an, dass die ergebnis-Variable von rech1 gesucht ist (kurz: rech1.ergebnis).
    3. Von rech1 werden zwei Methoden aufgerufen. Zuerst addition(), dann multiplikation(). Erstere weist ergebnis den Wert x + y zu, und x + y sind gleich 1 und 5. Nach diesem Aufruf hat rech1.ergebnis also den Wert 6. Danach wird jedoch rech1.multiplikation() aufgerufen, und in dieser Methode wird ergebnis ein neuer Wert zugewiesen, nämlich x * y. Und 1 * 5 ist 5. Das ist eigentlich schon alles...

    So, und bitte in Zukunft die Lernunterlagen heranziehen, bevor du mit so einer Frage kommst. 4-5 Stunden für 10 Zeilen Code, naja, ich tu jetzt mal so als hätte ich diese Behauptung überlesen ;)

    Ich bin zwar selber nicht an dem Unternehmen interessiert, aber die Kommentare hier finde ich doch etwas weltfremd.
    So funktioniert eben das Selbstständigwerden - man steckt Geld und Arbeit hinein und ob je etwas dafür zurückkommt, also ob es dann "25% von nichts" oder gute Einkünfte werden, ist die große Frage. Wenn's einen also interessiert, kann er sich ja mit den WUlern zusammensetzen und sich die Idee dann (hoffentlich) auch anhören. Wenn nicht - ja, wieso verschwendet man hier noch länger seine Zeit in diesem Thread? :P

    Hallo allerseits,

    ich missbrauche ungern das schöne Informatik-Forum für eine solche Anfrage, aber vielleicht kann mir jemand mit der notwendigen Theorie ein bisschen auf die Sprünge helfen, um ein bestimmtes Extremwertbeispiel zu lösen, das ich mit einem Nachhilfeschüler lösen soll.

    Gegeben ist eine Parabel in erster Hauptlage, und diese Parabel soll man um die x-Achse rotieren lassen und dann den volumsgrößten koaxialen Drehkegel einschreiben, der seine Spitze auf einer bestimmten Gerade (nach der Rotation Ebene) hat, nämlich x = 9.

    Wie kann ich nun, wenn die konkrete Parabelgleichung vorhanden ist, die Extremwertaufgabe lösen? Zu maximieren ist die Volumsfunktion des Drehkegels r^2*pi*h/3, aber was ist die Nebenbedingung?

    Würde mich über kleine Hilfen schon sehr freuen :)

    Grüße


    edit: So, ich denke mittlerweile, dass ich einen kleinen Ansatz habe.

    Und zwar gilt ja in der Parabel y^2 = 2px . In einer Skizze des Kegels sehe ich dass ich den Radius des einzuzeichnenden Kegels als y nehmen kann und daher 2p*(9-h) einsetzen kann. Könnte das stimmen, was sagt ihr?

    edit 2: Obiger Ansatz wurde durchgerechnet und scheint richtig zu sein. :) Es ergibt sich, dass der maximale Kegel der mit der Höhe 9/2 ist.