Donnerstag, 7. Juli 2011

HA PRG

 Blatt 6
Bennen Sie die Klassen der letzten Stunde um.
Kreis Circle
Punkt Point
a)
Ergänzen Sie Ihre Circle-Klasse, in dem Sie neben den Radius auf einen Mittelpunkt
definieren (x,y) 2D reicht!
Ergänzen Sie die Klasse Circle um eine Methode IsOutside(...), die die x- und y-
Koordinaten eines Punktes übergeben bekommt und testet, ob der Punkt außerhalb des
Kreises liegt und in diesem Falle true zurückgibt (false sonst). Ergänzen Sie den
Konstruktor um eine einzeilige Kontrollausgabe „Kreis erzeugt“.
Hinweis: Um diese Aufgabe zu lösen, müssen Sie ausrechnen können, wie groß der Abstand
d zweier Punkte (x1, y1) und (x2, y2) ist. Verwenden Sie hierzu die Formel (sog.
Euklidischer Abstand):
d = Math.Sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) );
Ihre Ausgabe könnte z.B. so aussehen:
Kreis erzeugt: M = (0, 0), Radius: 3.0
Kreis erzeugt: M = (3, 0), Radius: 4.0
Kreis erzeugt: M = (0, 3), Radius: 5.0
-Punkt- -Kreis1- -Kreis2- -Kreis3-
(2, 0) INNEN INNEN INNEN
(2, 7) AUSSEN AUSSEN INNEN
(2, 9) AUSSEN AUSSEN AUSSEN
Schreiben Sie die Methoden Grow() und Move() für die Klasse Circle, die einen Kries
wachsen und bewegen lässt.
b)
Schreiben Sie eine Klasse Point, die einen einzelnen Punkt (x, y) des
Koordinatensystems beschreibt. Ein Objekt dieser Klasse besitze die privaten int-Variablen
x und y, Properties zum Setzen bzw. Lesen von x und y. Außerdem habe Point einen
Konstruktor, dem unmittelbar Werte zum Festlegen von x und y übergeben werden. Ergänzen
Sie den Konstruktor ebenfalls um eine einzeilige Kontrollausgabe (siehe a).
Erzeugen Sie in einem Hauptprogramm mindestens die drei Punkte mit den Koordinaten (2,
0), (2, 7) und (2, 9).
Die Ausgabe könnte nun etwa wie folgt aussehen:
Punkt (2, 0) erzeugt
Punkt (2, 7) erzeugt
Punkt (2, 9) erzeugt
c) Modifizieren Sie die Klasse Circle aus a) so, dass sie statt der Angabe (x, y) für einen
Punkt den Objekttyp Point verwendet:
· Speichern Sie den Mittelpunkt als Point-Objekt
· Ändern Sie den Konstruktor entsprechend
· Ändern Sie die IsOutside(..)-Methode entsprechend.
Führen Sie anschließend mindestens die gleichen Tests wie bei a) durch.
Mögliche Ausgabe:
Punkt (0, 0) erzeugt
Kreis erzeugt: M = (0, 0), Radius: 3.0
Punkt (3, 0) erzeugt
Kreis erzeugt: M = (3, 0), Radius: 4.0
Punkt (0, 3) erzeugt
Kreis erzeugt: M = (0, 3), Radius: 5.0
-Punkt- -Kreis1- -Kreis2- -Kreis3-
Punkt (2, 0) erzeugt
(2, 0) INNEN INNEN INNEN
Punkt (2, 7) erzeugt
(2, 7) AUSSEN AUSSEN INNEN
Punkt (2, 9) erzeugt
(2, 9) AUSSEN AUSSEN AUSSEN
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Geometrie
{
    class Point
    {
        int x, y;

        public Point(int x, int y)
        {
            xkoord = x;
            ykoord = y;
            durchmesser = radius * 2;

            Console.WriteLine("Punkt wurde erstellt.");
        }
        public int X
        {
            get { return x; }
            set { x = value; }
        }
        public int Y
        {
            get { return y; }
            set { y = value; }
        }

    }
}


____________________

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication19
{
    class Circle
    {
       public int x;
       public int y;

       public string isOutside(int x_, int y_) {
          
   //   d = Math.Sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) );
           return "LOL";
       }

        public Circle(int circle_x, int circle_y)
        {
            x= circle_x; y=circle_y;
        }
        public int Durchmesser()
        {


        }
        static void Main(string[] args)
        {
           int temp_x;
           int temp_y;

            Console.WriteLine("Neuen Kreis erstellen \n");
            Console.WriteLine("X eingeben :");
            temp_x = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Y eingeben :");
            temp_y = Convert.ToInt32(Console.ReadLine());
            Circle kreis = new Circle(temp_x, temp_y);


        }

        public int X {
          get { return x;}
           set { x = value;}
        }

        public int Y {
          get { return y;}
           set { y = value;}
        }


    }
}

Keine Kommentare:

Kommentar veröffentlichen