klassen1:eigene:aufgaben:aufgabe3:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | klassen1:eigene:aufgaben:aufgabe3:start [2024/08/31 10:03] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== Lösung zu Aufgabe 3: Zeichne ein X in Ascii-Art ===== | ||
+ | {{ : | ||
+ | Erweitere die Klasse '' | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | AsciiArt art = new AsciiArt(); | ||
+ | |||
+ | // 10 Zeichen breites X mit Linienstärke 2 Zeichen | ||
+ | art.zeichneX(10, | ||
+ | |||
+ | class AsciiArt { | ||
+ | |||
+ | void zeichneX(int breite, int linienstärke, | ||
+ | int von1 = 1; | ||
+ | int bis1 = von1 + linienstärke - 1; | ||
+ | int bis2 = breite; | ||
+ | int von2 = breite - linienstärke + 1; | ||
+ | |||
+ | while(von1 <= breite - linienstärke + 1) { | ||
+ | |||
+ | | ||
+ | | ||
+ | if(spalte >= von1 && spalte <= bis1 || spalte >= von2 && spalte <= bis2) { | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Erklärung ==== | ||
+ | {{ : | ||
+ | Es gibt verschiedene (gleich gute!) Möglichkeiten, | ||
+ | $$von1 = 1$$ | ||
+ | $$bis1 = 1 + 3 - 1 = 3$$ | ||
+ | $$von2 = 20 - 3 + 1 = 18$$ | ||
+ | $$bis2 = 20$$ | ||
+ | Für jede Zeile durchläuft die Variable '' | ||
+ | < | ||
+ | Falls (spalte >= von1 und spalte <= bis2) ODER (spalte >= von2 und spalte <= bis2) wird ein X ausgegeben, ansonsten ein Leerzeichen. | ||
+ | </ | ||
+ | Die X werden also - einfach gesagt - für die Spaltenbereichen von '' | ||
+ | Nach Beendigung jeder Zeile werden '' | ||
+ | |||
+ | |||
klassen1/eigene/aufgaben/aufgabe3/start.txt · Zuletzt geändert: 2024/08/31 10:03 von 127.0.0.1