Bitte um Hilfe bei Lösung einer Aufgabe

  • Themenstarter Themenstarter 3eu71234567
  • Beginndatum Beginndatum
3

3eu71234567

Gast
Hallo Leute!

Ich habe in meinem Studium eine Aufgabe gestellt bekommen, die ich selbstständig leider nicht lösen kann.
Evtl. kann mir jemand dabei helfen.


Zu programmieren ist eine Klasse Dreieck.

TEILAUFGABE 1:
1. Ausgabe einer Raute (zusammengesetzt aus einem nach oben und nach unten gerichteten Dreieck)
2. Ausgabe eines Tannenbaumes (zusammengesetzt aus mehreren nach oben gerichteten Dreiecken, wobei das erste drei Zeilen besitzt und alle nachfolgenden zwei zusätzliche)

Die Klasse enthält
1. Zwei nach außen sichtbare Methoden (drawDiamond und drawTree)
2. Zwei interne Methoden (drawTriangleTop und drawTriangleBottom)

Über einen Parameter height (der in der Testerklasse übergeben wird) soll die Größe der Zeichnungen geändert werden können.
Der Mittelpunkt aller Zeichnungen liegt bei 20 Zeichen.

Folgende Schleifenarten sollen für die gegeben Methoden verwendet werden:
void drawTriangleTop
void drawTriangleBottom
void drawTree


TEILAUFGABE 2:
Zu programmieren ist einer Testerklasse TriangleTester, in der die Objekte der Klasse Triangle instanziert und deren Methoden getestet werden können.

Letztendlich müsste das folgendermaßen (in der Konsole) aussehen:

Java:
     *
    ***
   *****
  *******
 *********
***********
 *********
  *******
   *****
    ***
     *

und
Java:
     *
    ***
   *****
     *
    ***
   *****
  *******
 *********
     *
    ***
   *****
  *******
 *********
***********

Der Schwerpunkt dieser Aufgabe liegt in Iterationen, sprich Schleifen.

Was ich nun nicht verstehe ist, wie ich die einzelnen Funktionen geschickt miteinander verknüpfen kann, um die Aufgabe lösen zu können.

Ich würde mich sehr freuen, wenn mir jemand einen Tip geben könnte, wie ich anfangen kann.


LG
 
EDIT:
Hab nicht zuende gelesen^^
Hast du die Methoden um nen Dreieck anzeigen zu lassen schon fertig? Auf der Methode aufbauend kannst du den Baum oder die Diamanten ausgeben lassen
 
Anfang mit

Java:
for(int i = 1; i <= ANZAHL_ZEILEN; i +=2) {

}

Ich liebe diese Aufgabe :applaus:
 
Ich würde eher damit anfangen die beiden folgenden Methoden zu implementieren:
Code:
void drawTriangleTop
Code:
void drawTriangleBottom
damit werden die beiden übrigen Methoden sehr leicht zu implementieren sein. Was mir bei so einer Aufgabe auch immer wieder hilft ist eine Art "Skizze". Daraus kann man sich die Eine oder Andere Schleife eventuell leichter überlegen. Vielleicht hilft dir ja die folgende kleine "Skizze":
Code:
     20 Zeichen = Mittelpunkt
<------------------>
 1                 *         1 + (1 - 1) =  1 Stern
 2                ***        2 + (2 - 1) =  3 Sterne
 3               *****       3 + (3 - 1) =  5 Sterne
 4              *******      4 + (4 - 1) =  7 Sterne
 5             *********     5 + (5 - 1) =  9 Sterne
 6            ***********    6 + (6 - 1) = 11 Sterne
 7             *********     5 + (5 - 1) =  9 Sterne
 8              *******      4 + (4 - 1) =  7 Sterne
 9               *****       3 + (3 - 1) =  5 Sterne
10                ***        2 + (2 - 1) =  3 Sterne
11                 *         1 + (1 - 1) =  1 Stern
 ^     ^
 |     |
 |     --- Mittelpunkt - "linke Hälfte" der Sterne für diese Zeile = Anzahl Leerzeichen
 |
Zeilennummer
 
Vielen Dank für die zahlreichen Antworten!

Ich habe in der Aufgabenstellung etwas sehr wichtiges vergessen (was das, meiner Meinung nach, komplizierte an der Aufgabe ist).
Die Schleifenarten sind nämlich vorgegeben.

Für
drawTriangleTop: while
drawTriangleBottom: do-while
drawTree: for
 
Wow - das erhöht ja die Komplexität ins Unendliche 😀

Sorry für den Lacher - wieder im Ernst:
Ich kann dir jedes Problem mit jedem loop lösen - es sieht einfach nicht immer gleich elegant aus.
Mein Angebot: Wenn du es mit einem beliebigen loop gelöst hast, ändere ich dir deinen Code ab und baue die Loops deiner Wünsche ein.

Hm - oder ist genau das, das Ziel der Übung?
 
Zuletzt bearbeitet:
Ich habe in meinem Studium eine Aufgabe gestellt bekommen, die ich selbstständig leider nicht lösen kann.
was studierst du?

Ich möchte doch nochmal darauf hinweisen, dass diese Aufgaben einfache Grundlagenaufgaben sind. Wenn du irgendetwas mit Informatik studierst und das nicht schaffst, kannst du dein Studium vergessen. Ist wie das 1x1 wenn du das in der Volksschule nicht lernst hast du später, wenns um "ernsthafte" Themen geht keine Chance...

Schau dir das nochmal an und spiel dich ein bisschen mit den Schleifen. Falls du es nicht 100%ig hinbekommst helfen wir gerne. Aber ohne Ansatz und mit ich kann nicht und ich will nicht, wird dir hier keine deine Hausübung machen.
 
die Frage is doch eher, wie schnell jemand aufgibt und nachfragt.

Leider, wie du schon gesagt hast, postet der TE nicht mal einen Lösungsansatz oder sonstwas, sondern will ja anscheinend die ganze Aufgabe vorgerechnet bekommen, dafür is das Forum wohl eig. nicht gedacht.

Was ich nun nicht verstehe ist, wie ich die einzelnen Funktionen geschickt miteinander verknüpfen kann, um die Aufgabe lösen zu können.

Dann solltest du mal klein anfangen und dir n paar Beisipelrauten/Dreiecke basteln, vielleicht wirds dann klarer.
 
also es ist doch eig alles in dem link von slawaweis gesagt zu dem thema oder??!
musst nur mal lesen da steht eig alles was du brauchst!!:rtfm:
 
Vielleicht sollte sich der/die eine oder andere reelle Freunde suchen oder überhaupt mal Menschen, die einen wertschätzen. Dann bräuchtet ihr euch vielleicht nicht hinter dem Computer zu verstecken und sinnlose Beiträge zu posten, die meiner Meinung nach reine Zeitverschwendung darstellen.

Ihr könnt wahrscheinlich bereits von Geburt an programmieren und nutzt dieses Forum, um euch gegenseitig den Kopf zu streicheln und zu sagen, wie toll ihr seid.

Dann bin ich hier echt falsch gelandet...
 

Zurück
Oben