Testaufgabe 1 Informatik 2 ITE/MT, SS 2011: Klasse Planet Benötigte Größen und Formeln r(Erde) = 6371221 m (mittlerer Radius) Dichte(Erde) = 5517 kg/m3 (mittlere Dichte) Volumen(Kugel) = 4/3*pi*r³ gGravitaion= GM/r2 mit G = 6,67428·10-11 m3/(kg s2) Grundaufgabe (Note 4) Schreiben Sie ein Programm, das die Masse und die Gravitationsbeschleunigung eines Planeten berechnet. Entwickeln Sie dazu eine Klasse Planet mit den privateInstanzvariablen: double r // Radius double d // Dichte double v // Volumen double m // Masse double g // Schwerebeschleunigung double G // Gravitationskonstante sowie den public-Methoden: void read_rd() zum Einlesen von Radius und Dichte des Planeten void volumen() zur Berechnung des Planeten-Volumens void masse() zur Berechnung der Masse (= Dichte x Volumen) des Planeten void schwere() zur Berechnung der Schwerebeschleunigung (letzte Formel oben) des Planeten void out_ms() zur Ausgabe von Masse und Schwerebeschleunigung. Die main()-Funktion deklariert ein Objekt erde, liest die entsprechenden Werte (siehe oben) für Radius und Dichte ein und berechnet die Masse m und Schwerebeschleunigung g der Erde. Diese werden zum Schluss ausgegeben. Erweiterung (Note 3) Ersetzen Sie die Methode read_rd() durch einen Standardkonstruktor, der G auf 6.67428 e-11 setzt und einen Konstruktor für die Erde, der r, d und G setzt. r und d sollen dabei übergeben, G auf den festen Wert 6,67428·10-11 gesetzt werden. Realisieren Sie die Klassenmethoden (außer Standardkonstruktor) außerhalb der Klassendefinition unterhalb der main()-Funktion. Alle Programmzeilen müssen übersichtlich und sinnvoll eingerückt sein. Erweiterung (Note 2) Überladen Sie die Methode volumen() mit dem unären Operator „*“. Ändern Sie die main()-Funktion entsprechend ab. Erweiterung (Note 1) Überladen Sie zusätzlich die Methoden out_ms() mit dem Operator „<<“. Ändern Sie die main()-Funktion entsprechend ab. Ergebnisse: Masse = 5.97667 +024 kg, Schwerebeschleunigung = 9.82695 m/s^2