Zur Hauptnavigation springen [Alt]+[0] Zum Seiteninhalt springen [Alt]+[1]

Hilfekarten zu Bild 1

Tipp 1

Da der Hintergrund weiß ist, müssen nur die schwarzen Quadrate gezeichnet werden.

Überlege dir zunächst, wie du eine Reihe der Quadrate zeichnen kannst.

Tipp 2

In einer Reihe werden sieben gleiche Quadrate gezeichnet. Du kannst hier eine Zählschleife verwenden.

Versuche, die Zählschleife für die erste Reihe der Quadrate zu schreiben.

Tipp 3

Hat es geklappt? Dann schreibe jetzt die Zählschleife für die zweite Reihe. (Nächster Tipp: 6)

Es hat nicht geklappt? Dann lies hier weiter:

Die Veränderung ist nur die Position der linken oberen Ecke der Quadrate.

Und hier bleibt die y-Koordinate gleich, nur die x-Koordinate verändert sich um die Seitenlänge eines Quadrates und den Abstand zwischen zwei Quadraten.

Tipp 4

y ist ein fester Wert, z.B. 30

x berechnet sich durch den Startwert (z.B. auch 30) + i * (seitenlaenge + abstand)

Ersetze dabei „seitenlaenge“ und „abstand“ durch den Namen deiner Variablen, die du eingeführt hast.

Tipp 5

for (int i=0; i<=6; i++) {

rect(30 + i*(s + a), 30, s, s);

}

(s ist hier die Variable für die Seitenlänge, a für den Abstand)

Schreibe jetzt die Zählschleife für die zweite Reihe.

Tipp 6

Hast du es geschafft? Dann schreibe die Zählschleife für die dritte Reihe und überlege dir dabei, wie man alle Reihen mit einer weiteren Zählschleife programmieren könnte. (Nächster Tipp: 9)

Hat es noch nicht geklappt? Dann lies hier weiter:

Was verändert sich in der zweiten Reihe im Vergleich zur ersten?

Was bleibt gleich?

Tipp 7

Es bleibt alles gleich bis auf die y-Koordinate.

Hier wird zum Startwert (30) einmal die Seitenlänge und einmal der Abstand addiert.

Tipp 8

Die Schleife für die zweite Reihe sieht folgendermaßen aus:

for (int i=0; i<=6; i++) {

rect(30 + i*(s + a), 30 + s + a, s, s);

}

Schreibe jetzt die Zählschleife für die dritte Reihe und überlege dir dabei, wie man alle Reihen in einer weiteren Zählschleife programmieren könnte.

Tipp 9

Mögliche Lösung für die dritte Reihe:

for (int i=0; i<=6; i++) {

rect(30 + i*(s + a), 30 + 2* (s + a), s, s);

}

Tipp 10

Hast du herausgefunden, was sich von Reihe zu Reihe ändert und wie du das mit einer weiteren Zählschleife realisieren kannst? - Dann vergleiche dein Ergebnis mit der Lösung.

Du hast es noch nicht geschafft? Dann schau dir mal die y-Koordinaten an:

30 30 + s + a 30 + 2 * (s + a) 30 + 3 * (s + a), usw.

Wie könnte man das allgemein mit einer neuen Zählvariable j beschreiben?

Tipp 11

Hast du herausgefunden, was sich von Reihe zu Reihe ändert und wie du das mit einer weiteren Zählschleife realisieren kannst? - Dann vergleiche dein Ergebnis mit der Lösung.

Startet j bei 0, dann kann man die y-Koordinate durch 30 + j * (s + a) beschreiben.

Schreibe jetzt die zweite Zählschleife um die erste herum und vergleiche dein Ergebnis mit der Lösung.

Lösung
Lösung 1

 

 

Optische Täuschen: Übungen: Herunterladen [odt][142 KB]

Optische Täuschen: Übungen: Herunterladen [pdf][155 KB]

 

Weiter zu Hilfekarten 2