DCV 2023 09/Strukturierte Programmierung Uebungen/Methoden & Schleifen: Unterschied zwischen den Versionen
Drlue (Diskussion | Beiträge) Die Seite wurde neu angelegt: „Wähle immer einen '''sinnvollen Methodennamen''' der beschreibt was die Methode macht und überlege dir '''Rückgabewert''' und '''Übergabeparameter''' gut. Teste deine Methoden ausgiebig. Überlege auch immer gut, was du alles in Methoden auslagern kannst. Es macht dir die Übungen leichter. Wenn du es als sinnvoll erachtest, greife auf Methoden von anderen Übungen zu (aber schreib sie zumindest einmal selbst). === Aufgabe: Print Characters === Erst…“ |
Sandro (Diskussion | Beiträge) |
||
| Zeile 179: | Zeile 179: | ||
}} | }} | ||
=== Aufgabe: Print | === Aufgabe: Print Pyramid === | ||
Erstelle eine Methode welche | Erstelle eine Methode welche eine Pyramide von variabler Größe und mit angegebene Zeichen ausgibt. Dabei sollen die angegebene Größe die Höhe der Pyramide sein. Nimm an dass die Zahl immer '''Ungerade''' ist. | ||
'''Aufruf:''' | '''Aufruf:''' | ||
{{JSL| | {{JSL|printPyramid("x", 3);}} | ||
'''Ausgabe:''' | '''Ausgabe:''' | ||
| Zeile 197: | Zeile 197: | ||
'''Aufruf:''' | '''Aufruf:''' | ||
{{JSL| | {{JSL|printPyramid("x", 5);}} | ||
'''Ausgabe:''' | '''Ausgabe:''' | ||
| Zeile 212: | Zeile 212: | ||
'''Aufruf:''' | '''Aufruf:''' | ||
{{JSL| | {{JSL|printPyramid("x", 1);}} | ||
'''Ausgabe:''' | '''Ausgabe:''' | ||
Version vom 11. September 2023, 18:46 Uhr
Wähle immer einen sinnvollen Methodennamen der beschreibt was die Methode macht und überlege dir Rückgabewert und Übergabeparameter gut. Teste deine Methoden ausgiebig. Überlege auch immer gut, was du alles in Methoden auslagern kannst. Es macht dir die Übungen leichter.
Wenn du es als sinnvoll erachtest, greife auf Methoden von anderen Übungen zu (aber schreib sie zumindest einmal selbst).
Aufgabe: Print Characters
Erstelle eine Methode die eine bestimmte Anzahl parameterisierbarer Zeichen einer Zeile ausgibt.
Aufruf:
printChars("x", 10);
Ausgabe:
xxxxxxxxxx
Aufgabe: Print Square
Erstelle eine Methode welche ein Quader mit variabler Größe und mit angegebenem Zeichen ausgibt.
Aufruf:
printSquare("x", 10);
Ausgabe:
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
Aufgabe: Print Rectangle
Erstelle eine Methode welche ein Viereck mit variabler Größe und mit angegebenem Zeichen ausgibt.
Aufruf:
printRect("x", 10, 3);
Ausgabe:
xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxxx
Aufgabe: Print Trinangle (1)
Erstelle eine Methode welche ein Dreieck mit variabler Größe und mit angegebenem Zeichen ausgibt.
Aufruf:
printTriangleBottomLeft("x", 4);
Ausgabe:
x
xx
xxx
xxxx
Aufgabe: Print Trinangle (2)
Erstelle eine Methode welche ein Dreieck mit variabler Größe und mit angegebenem Zeichen ausgibt.
Aufruf:
printTriangleTopLeft("x", 5);
Ausgabe:
xxxxx
xxxx
xxx
xx
x
Aufgabe: Print Trinangle (3)
Erstelle eine Methode welche ein Dreieck mit variabler Größe und mit angegebenem Zeichen ausgibt.
Aufruf:
printTriangleTopRight("x", 5);
Ausgabe:
xxxxx
xxxx
xxx
xx
x
Aufgabe: Print Trinangle (4)
Erstelle eine Methode welche ein Dreieck mit variabler Größe und mit angegebenem Zeichen ausgibt.
Aufruf:
printTriangleBottomRight("x", 5);
Ausgabe:
#Diese Zeile gehört nicht zur Ausgabe! Leider verhaut es mir die Formatierung wenn die erste Zeile mit einem Leerzeichen beginnt :-|
x
xx
xxx
xxxx
xxxxx
Aufgabe: Print Empty Square
Erstelle eine Methode welche ein Quader mit variabler Größe und mit angegebenem Zeichen ausgibt.
Aufruf:
printEmptySquare("x", 10);
Ausgabe:
xxxxxxxxxx
x x
x x
x x
x x
x x
x x
x x
x x
xxxxxxxxxx
Aufruf:
printEmptySquare("A", 3);
Ausgabe:
AAA
A A
AAA
Aufgabe: Print Slash
Erstelle eine Methode welche eine Diagonale von variabler Größe und mit angegebene Zeichen ausgibt, weiters soll der Parameter backslash angegeben werden können. Wenn backslash wahr ist, soll die Diagonale von rechts Unten nach Links Oben gehen, ansonsten umgekehrt.
Aufruf:
printSlash("x", 3, true);
Ausgabe:
x
x
x
Aufruf:
printSlash("y", 4, false);
Ausgabe:
#Diese Zeile gehört nicht zur Ausgabe! Leider verhaut es mir die Formatierung wenn die erste Zeile mit einem Leerzeichen beginnt :-|
y
y
y
y
Aufgabe: Print Pyramid
Erstelle eine Methode welche eine Pyramide von variabler Größe und mit angegebene Zeichen ausgibt. Dabei sollen die angegebene Größe die Höhe der Pyramide sein. Nimm an dass die Zahl immer Ungerade ist.
Aufruf:
printPyramid("x", 3);
Ausgabe:
#Diese Zeile gehört nicht zur Ausgabe! Leider verhaut es mir die Formatierung wenn die erste Zeile mit einem Leerzeichen beginnt :-|
x
x x
xxxxx
Aufruf:
printPyramid("x", 5);
Ausgabe:
#Diese Zeile gehört nicht zur Ausgabe! Leider verhaut es mir die Formatierung wenn die erste Zeile mit einem Leerzeichen beginnt :-|
x
x x
x x
x x
xxxxxxxxx
Aufruf:
printPyramid("x", 1);
Ausgabe:
x
Aufgabe: Print Rhombus
Erstelle eine Methode welche einen Rhombus von variabler Größe und mit angegebene Zeichen ausgibt. Die Größe soll dabei die Höhe des Rhombus sein.
- Löse das Problem wie es dir gefällt
- Löse das Problem mit nur zwei ineinander verschachtelten Schleifen
Aufruf:
printRhombus("x", 7);
#Diese Zeile gehört nicht zur Ausgabe! Leider verhaut es mir die Formatierung wenn die erste Zeile mit einem Leerzeichen beginnt :-|
x
x x
x x
x x
x x
x x
x
Aufgabe: Print X
Erstelle eine Methode welche ein X von variabler Größe und mit angegebene Zeichen ausgibt.
- Löse das Problem wie es dir gefällt
- Löse das Problem mit nur zwei ineinander verschachtelten Schleifen
Aufruf:
printX('x', 5);
Ausgabe:
x x
x x
x
x x
x x
Aufgabe: Print Christmastree
Erstelle eine Methode welche einen Christbaum von variabler Größe ausgibt.
Teile das Problem in kleinere Probleme auf!
Aufruf:
printChristmasTree(9);
Ausgabe:
#Diese Zeile gehört nicht zur Ausgabe! Leider verhaut es mir die Formatierung wenn die erste Zeile mit einem Leerzeichen beginnt :-|
*
***
*****
*******
*********
***********
*************
***************
*****************
O O O O O O O O O
+++++
+++++
Bonusaufgabe: Print circle Pythagoras
Erstelle eine Methode welche einen ausgefüllten Kreis von variabler Größe ausgibt. Der Radius des Kreises soll als Parameter übergeben werden können.
Verwende dazu den Satz des Pythagoras: a2 + b2 = c2
Aufruf:
printCirclePythagoras(10);
Ausgabe:
Eine Zeile des IntelliJ Terminals ist etwa 2.6 * höher als ein Zeichen breit ist, dadurch sieht die Ausgabe verzerrt aus.
#Diese Zeile gehört nicht zur Ausgabe! Leider verhaut es mir die Formatierung wenn die erste Zeile mit einem Leerzeichen beginnt :-|
XXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXXXXXX
XXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXX
XXXXXXXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXX
Bonusaufgabe: Print circle Sinus + Cosinus
Erstelle eine Methode welche einen Kreis von variabler Größe ausgibt. Der Radius des Kreises soll als Parameter übergeben werden können.
Verwende dazuMath.sin(...)undMath.cos(...)um herauszufinden ob ein Punkt gezeichnet werden soll.
Aufruf:
printCircleSinCos(10);
Ausgabe:
Eine Zeile des IntelliJ Terminals ist etwa 2.6 * höher als ein Zeichen breit ist, dadurch sieht die Ausgabe verzerrt aus.
#Diese Zeile gehört nicht zur Ausgabe! Leider verhaut es mir die Formatierung wenn die erste Zeile mit einem Leerzeichen beginnt :-|
**********
** **
** **
* *
* *
** **
* *
* *
* *
* *
* *
* *
* *
* *
** **
* *
* *
** **
** **
**********