Zur Haupt­na­vi­ga­ti­on sprin­gen [Alt]+[0] Zum Sei­ten­in­halt sprin­gen [Alt]+[1]

Hil­fe­kar­ten zu Bild 1

Tipp 1

Da der Hin­ter­grund weiß ist, müs­sen nur die schwar­zen Qua­dra­te ge­zeich­net wer­den.

Über­le­ge dir zu­nächst, wie du eine Reihe der Qua­dra­te zeich­nen kannst.

Tipp 2

In einer Reihe wer­den sie­ben glei­che Qua­dra­te ge­zeich­net. Du kannst hier eine Zähl­schlei­fe ver­wen­den.

Ver­su­che, die Zähl­schlei­fe für die erste Reihe der Qua­dra­te zu schrei­ben.

Tipp 3

Hat es ge­klappt? Dann schrei­be jetzt die Zähl­schlei­fe für die zwei­te Reihe. (Nächs­ter Tipp: 6)

Es hat nicht ge­klappt? Dann lies hier wei­ter:

Die Ver­än­de­rung ist nur die Po­si­ti­on der lin­ken obe­ren Ecke der Qua­dra­te.

Und hier bleibt die y-Ko­or­di­na­te gleich, nur die x-Ko­or­di­na­te ver­än­dert sich um die Sei­ten­län­ge eines Qua­dra­tes und den Ab­stand zwi­schen zwei Qua­dra­ten.

Tipp 4

y ist ein fes­ter Wert, z.B. 30

x be­rech­net sich durch den Start­wert (z.B. auch 30) + i * (sei­ten­la­en­ge + ab­stand)

Er­set­ze dabei „sei­ten­la­en­ge“ und „ab­stand“ durch den Namen dei­ner Va­ria­blen, die du ein­ge­führt hast.

Tipp 5

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

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

}

(s ist hier die Va­ria­ble für die Sei­ten­län­ge, a für den Ab­stand)

Schrei­be jetzt die Zähl­schlei­fe für die zwei­te Reihe.

Tipp 6

Hast du es ge­schafft? Dann schrei­be die Zähl­schlei­fe für die drit­te Reihe und über­le­ge dir dabei, wie man alle Rei­hen mit einer wei­te­ren Zähl­schlei­fe pro­gram­mie­ren könn­te. (Nächs­ter Tipp: 9)

Hat es noch nicht ge­klappt? Dann lies hier wei­ter:

Was ver­än­dert sich in der zwei­ten Reihe im Ver­gleich zur ers­ten?

Was bleibt gleich?

Tipp 7

Es bleibt alles gleich bis auf die y-Ko­or­di­na­te.

Hier wird zum Start­wert (30) ein­mal die Sei­ten­län­ge und ein­mal der Ab­stand ad­diert.

Tipp 8

Die Schlei­fe für die zwei­te Reihe sieht fol­gen­der­ma­ßen aus:

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

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

}

Schrei­be jetzt die Zähl­schlei­fe für die drit­te Reihe und über­le­ge dir dabei, wie man alle Rei­hen in einer wei­te­ren Zähl­schlei­fe pro­gram­mie­ren könn­te.

Tipp 9

Mög­li­che Lö­sung für die drit­te Reihe:

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

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

}

Tipp 10

Hast du her­aus­ge­fun­den, was sich von Reihe zu Reihe än­dert und wie du das mit einer wei­te­ren Zähl­schlei­fe rea­li­sie­ren kannst? - Dann ver­glei­che dein Er­geb­nis mit der Lö­sung.

Du hast es noch nicht ge­schafft? Dann schau dir mal die y-Ko­or­di­na­ten an:

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

Wie könn­te man das all­ge­mein mit einer neuen Zähl­va­ria­ble j be­schrei­ben?

Tipp 11

Hast du her­aus­ge­fun­den, was sich von Reihe zu Reihe än­dert und wie du das mit einer wei­te­ren Zähl­schlei­fe rea­li­sie­ren kannst? - Dann ver­glei­che dein Er­geb­nis mit der Lö­sung.

Star­tet j bei 0, dann kann man die y-Ko­or­di­na­te durch 30 + j * (s + a) be­schrei­ben.

Schrei­be jetzt die zwei­te Zähl­schlei­fe um die erste herum und ver­glei­che dein Er­geb­nis mit der Lö­sung.

Lö­sung
Lösung 1

 

 

Op­ti­sche Täu­schen: Übun­gen: Her­un­ter­la­den [odt][142 KB]

Op­ti­sche Täu­schen: Übun­gen: Her­un­ter­la­den [pdf][155 KB]

 

Wei­ter zu Hil­fe­kar­ten 2