Sie sind auf Seite 1von 7

Programmieren 1

Projekt WS23/24
Wichtige Hinweise zum Projekt
(in Übereinstimmung mit dem Modulhandbuch)
 Abgabe + Bestehen des Projekts ist Voraussetzung für die
Teilnahme an der Prüfung (siehe Modulhandbuch)

 Achtung: das Projekt wird erst wieder im WS24/25 angeboten, d.h.


falls Sie das Projekt „schieben“, können Sie im kommenden
Semester nicht an der Prüfung teilnehmen.

 Projekt bestehen und Prüfung schieben ist möglich (aber nicht


empfehlenswert). Sie müssen das Projekt dann nicht erneut
abgeben.

 Falls Sie nicht abgeben können oder möchten, müssen Sie sich
selbst fristgerecht von der Prüfung abmelden – es erfolgt keine
automatische Abmeldung.
 d.h. falls Sie nicht abgeben und sich nicht von der Prüfung abmelden,
muss die Prüfung als „nicht bestanden“ bewertet werden

Prof. Dr. Andreas Theissler 2


Projekt: Schleifen, Fallunterscheidungen, Rekursion, etc.

1. Schleifen:
 Schreiben Sie ein Programm, welches drei unterschiedliche Muster am Bildschirm anzeigt.
Diese Muster sollen durch kleine, ausgefüllt Quadrate gezeichnet werden.
 Als Beispiel ist hier eines der Muster dargestellt: eine Sinuskurve, bestehend aus blauen und
gelben Quadraten:

 Nutzen Sie hierzu den mitgelieferten Programmcode und erweitern diesen, d.h. nutzen Sie die
Klasse Quadrat. Der Programmcode entspricht der Vorlage aus den ersten beiden
Laborübungen.
 Teilen Sie die Lösung sinnvoll in Methoden auf, d.h. nicht alles in einer Methode programmieren.
Nutzen Sie Schleifen, Fallunterscheidungen, etc.
 Sie müssen Ihre Lösung erklären können, d.h. es muss eine selbst programmierte Lösung
abgegeben werden.

Prof. Dr. Andreas Theissler 3


Projekt

 Eine Auswahl folgender Muster soll gezeichnet werden


(Muster A…E, die Buchstaben selbst sollen nicht dargestellt werden)

Prof. Dr. Andreas Theissler 4


Projekt

Um von allen Studierenden leicht unterschiedliche Lösungen zu erhalten, erfolgt die Auswahl
der Muster auf Basis Ihrer Matrikelnummer.
Nehmen Sie die letzten beiden Ziffern Ihrer Matrikelnummer.
Beispiel: Matrikelnummer 12345 (siehe Tabelle fett markiert)

Vorletzte Formen Letzte Ziffer Farben Perioden


Ziffer (Reihenfolge) (abwechselnde (Wiederholungen)
Farben, für jedes
0 ABE
Quadrat)
1 DEA
0 rot, pink 3
2 ECB
1 grün, orange 5
3 ADE
2 blau, pink 7
4 BEC
3 rot, orange 3
5 ECD
4 grün, pink 5
6 CAE
5 blau, orange 7
7 AEB
6 rot, pink 3
8 EDB
7 grün, orange 5
9 ACE
8 blau, pink 7
9 rot, orange 3

Prof. Dr. Andreas Theissler 5


Projekt: Schleifen, Fallunterscheidungen, Rekursion, etc.

2. Rekursion:
 Erweitern Sie das Programm um 5 Quadrate der Größe 10.
 Dies soll über eine Rekursion erfolgen, d.h. bei jedem Methodenaufruf soll ein Quadrat gezeichnet
werden. Das rekursive Aufrufen der Methode soll die Position des Quadrats verändern.

 Tipp: Die Methode könnte z.B. so aussehen:

public void zeichne_Quadrat_Rek(Graphics g, int numberQuadrat){

Zeichenblatt zeichenblatt = new Zeichenblatt(g);

if(numberQuadrat >= 1) {
… TODO …

zeichenblatt.zeichne(quad);
zeichne_Quadrat_Rek(g, TODO ) ;

Prof. Dr. Andreas Theissler 6


Projekt

 Abgabe:

 Auf Canvas (nicht per email!). Es wird eine „Aufgabe“ in Canvas erstellt.

 Abgabe: Mi. 10.01.2024, 23:59 Uhr

Abzugeben:
1) Ihre .java-Datei mit Dateiname 12345_prog1_projekt.java
(Umbenennung der Datei erst für die Abgabe, da in Java die Klasse und der
Dateiname identisch sein müssen!)

2) Screenshot der Zeichnungen Ihres Programms


 Dateiname 12345_screenshot.png oder 12345_screenshot.jpg,
wobei Sie 12345 durch Ihre Matrikelnummer ersetzen.

Prof. Dr. Andreas Theissler 7

Das könnte Ihnen auch gefallen