DCV 2023 03/Strukturierte Programmierung Uebungen/Methoden & Schleifen: Unterschied zwischen den Versionen
Sandro (Diskussion | Beiträge) |
Drlue (Diskussion | Beiträge) K Drlue verschob die Seite DCV 2023 03 01/Strukturierte Programmierung Uebungen/Methoden & Schleifen nach DCV 2023 03/Strukturierte Programmierung Uebungen/Methoden & Schleifen, ohne dabei eine Weiterleitung anzulegen |
||
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
(kein Unterschied)
| |||
Aktuelle Version vom 28. September 2023, 18:01 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 Triangle
Erstelle eine Methode welche ein Dreick von variabler Größe und mit angegebene Zeichen ausgibt. Dabei sollen die angegebene Größe die Höhe des Dreicks sein. Nimm an dass die Zahl immer Ungerade ist.
Aufruf:
printTriangle("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:
printTriangle("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:
printTriangle("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 :-|
**********
** **
** **
* *
* *
** **
* *
* *
* *
* *
* *
* *
* *
* *
** **
* *
* *
** **
** **
**********