Informatik S4
Das Unmögliche möglich machen. Für jeden.

Vorabitur

Übungsaufgaben zum Vorabitur:

1. Erläutere den Entwurf, beschreibe den Unterschied zum Unterrichts-Raumplaner

Ein kleines Problem: Das Bild entspricht nicht dem tatsächlichen, in der Dropbox verfügbaren, Raumplaner. Dort kommen weitere Verbindungen hinzu. 
Ich gehe im Folgenden auf den Planer in der Dropbox ein, weil hier sonst vieles für mich unverständlich bleibt.

Der Entwurf hat einen grundlegenden Unterschied zum im Unterricht benutzten Raumplaner.
Während in unserem Planer Die Klasse Kreis und Rechteck schlichtweg nicht vorhanden sind, sind sie hier Bestandteil einer Komposition, während unser Projekt von Aggregationen gelebt hat. Tisch und Stuhl sind unvollständige Klassen, die nur durch Kreis- bzw. Rechteck Delegationen bestehen können. 
Dies könnte weiter erläutert werden, reicht aber denke ich, um das Verständnis aufzuzeigen.

2. Objekt "RaumNeu" soll einen Tisch zwischen 4 Stühlen zeichnen.
Erläutere die Kommunikation und implementiere eine solche Klasse.

public class RaumNeu{
    
    private ArrayList<Moebel> moebel;
    private Stuhl s1;
    private Stuhl s4; 
    private Stuhl s3;   
    private Stuhl s2;
    private Tisch t1;
 
    public RaumNeu(){
        liste = new ArrayList<Moebel>();
        
        Stuhl s1 = new Stuhl();
        liste.add(s1);
        s1.setzePosition(10, 10);
       
        Stuhl s2 = new Stuhl();
        liste.add(s2);
        s2.setzePosition(200, 10);
 
        Stuhl s3 = new Stuhl();
        liste.add(s3);
        s3.setzePosition(10, 200);
 
        Stuhl s4 = new Stuhl();
        liste.add(s4);
        s4.setzePosition(200, 200);
        
        Tisch t1 = new Tisch();
        liste.add(t1);
        t1.setzePosition(100, 100);      
    }
 
            
    public void zeichne() {
        for (Iterator<Moebel> iter = this.list.iterator(); iter.hasNext(); ){
            iter.next().zeichne();
        }
    }
}

Kommunikation:

Durch die Delegationen an Stühlen und Tischen können diese eingebunden bzw. "erstellt" werden. Dies wird getan, woraufhin jedes Objekt einzeln gezeichnet wird.

3. Bei Erstellung sollen Farbe und Positio eingestellt werden

Durch den bisherigen Code muss nur noch die Farbe geändert werden:

[..]
 

        Stuhl s1 = new Stuhl();
        liste.add(s1);
        s1.setzePosition(10, 10);
        s1.aendereFarbe("red");
        Stuhl s2 = new Stuhl();
        liste.add(s2);
        s2.setzePosition(200, 10);
        s2.aendereFarbe("red");
        Stuhl s3 = new Stuhl();
        liste.add(s3);
        s3.setzePosition(10, 200);
        s3.aendereFarbe("red");
        Stuhl s4 = new Stuhl();
        liste.add(s4);
        s4.setzePosition(200, 200);
        s4.aendereFarbe("red");
        Tisch t1 = new Tisch();
        liste.add(t1);
        t1.setzePosition(100, 100);      

[..]

4. Ein gleichseitiges Dreieck:

[..]

public class DreiEck extends GrafikElement

[..]
 
  public GeneralPath gibAktuelleFigur() {
    GeneralPath qualle = new GeneralPath();  
    qualle.moveTo(0,0);
    qualle.lineTo(40,0);
    qualle.lineTo(20,35);
    qualle.lineTo(0,0);
    return qualle;
  }
  
  [...]

Die 35 ergibt sich durch ein wenig Mathematik, der Rest ist relativ einfach.
 
Diese Webseite wurde kostenlos mit Homepage-Baukasten.de erstellt. Willst du auch eine eigene Webseite?
Gratis anmelden