Übung 3
In der Vorlesung vom 15.10.2014 entstandene Programme. - Bitte beachten Sie die zusätzlich eingefügten Beispiele string/Text.cpp und string/Text.java für die nachfolgende Übung!


Grundlage der folgenden Übung sind auch die in der Vorlesung entwickelten Programme

Grundlage der folgenden Übung sind auch die in der Vorlesung entwickelten Programme

Aufgabe 1
Schreiben Sie das Programm aus Kapitel 2.3 in Java um.
Hinweis: Benutzen Sie die API (Desktop Referenzen ... Java7), um passende String-Objektmethoden in Java zu identifizieren.
Aufgabe 2

Bild 0-1: UML-Klassendiagramm der Klasse Fahrzeug.
|
Aufgabe 3
Postscript ist eine Skriptsprache, die von Druckern verarbeitet werden kann. Schon die Kenntnis weniger Befehle reicht aus, um damit Vektorgrafiken zu generieren. Typischerweise kommen in einer Befehlszeile erst ein paar Parameter und dann ein Schlüsselwort. Der Koordinatenursprung ist auf einem Blatt unten links. Die typische Dateiendung ist .ps, Beispiele:
Schlüsselwort | Bedeutung | Beispiels-Befehlszeile | Erläuterung |
---|---|---|---|
setregcolor | Stiftfarbe setzen | 1.0 0.0 0.0 setrgbcolor | Stiftfarbe auf rot |
newpath | Beginn eines neuen Linienzugs | newpath | - |
moveto | Stift ohne zu zeichnen zu Koordinate bewegen | 200 100 moveto | zu Position x=200, y=100 bewegen |
lineto | Gerade zu neuer Position ziehen | 200 300 lineto | Gerade zu x=200 y=300 |
stroke | Linienzug ausführen | stroke | erst jetzt wird gezeichnet |
fill | Umschlossene Fläche füllen | fill | - |
Tabelle 0-1: Elementare Befehle in Postskript.
%!PS-Adobe-3.0 0.0 1.0 0.0 setrgbcolor newpath 100 100 moveto 200 100 lineto 200 200 lineto 100 200 lineto 100 100 lineto fill 1.0 0.0 0.0 setrgbcolor newpath 100 100 moveto 200 100 lineto 200 200 lineto 100 200 lineto 100 100 lineto stroke showpage
Code 0-1: Skriptbeispiel mit Postscript, Datei beispiel.ps

Bild 0-1: Sicht auf das Resultat von beispiel.ps (z.B. mit Ghostview geöffnet).
Das folgende Programm erzeugt ein Postscriptfile mit farbigen Dreiecken, wenn man es folgendermassen aufruft: postscript > datei.ps, oder unter Linux: ./postscript > datei.ps Ergänzen Sie eine Klasse Dreieck, mit der sich farbige gleichschenklige Dreiecke erzeugen lassen, die die gleiche Basisbreite haben wie die Quadrate halb so hoch sind und versehen Sie im Ausgabe dokument alle Quadrate mit einem farbigen "Dach".
Schreiben Sie das ganze Programm in Java um.
#include<iostream> using namespace std; class Quadrat { public: double rot, gruen, blau; void setzeFarbe(double r, double g, double b) { rot = r; gruen = g; blau = b; } void lieferQuadrat(double x_pos, double y_pos) { cout<<rot<<" "<<gruen<<" "<<blau<<" setrgbcolor"<<endl; cout<<"newpath"<<endl; cout<<100.0+x_pos<<" "<<100.0+y_pos<<" moveto"<<endl; cout<<200.0+x_pos<<" "<<100.0+y_pos<<" lineto"<<endl; cout<<200.0+x_pos<<" "<<200.0+y_pos<<" lineto"<<endl; cout<<100.0+x_pos<<" "<<200.0+y_pos<<" lineto"<<endl; cout<<100.0+x_pos<<" "<<100.0+y_pos<<" lineto"<<endl; cout<<"fill"<<endl; } }; int main() { Quadrat quadrat[4]; quadrat[0].setzeFarbe(1.0,0.0,0.0); quadrat[1].setzeFarbe(0.0,1.0,0.0); quadrat[2].setzeFarbe(0.0,0.0,1.0); quadrat[3].setzeFarbe(0.2,0.2,0.2); cout<<"%!PS-Adobe-3.0"<<endl; quadrat[0].lieferQuadrat(10.0,10.0); quadrat[1].lieferQuadrat(210.0,10.0); quadrat[1].lieferQuadrat(210.0,210.0); quadrat[2].lieferQuadrat(410.0,210.0); quadrat[2].lieferQuadrat(410.0,410.0); quadrat[3].lieferQuadrat(10.0,410.0); cout<<"showpage"<<endl; }
Code 0-2: Programm postscript.cpp zur Generierung folgenden Bildes:

Bild 0-2: Grafische Ausgabe der Datei datei.ps