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

Zähl­schlei­fen in Java

Aus Scratch oder dem MIT App In­ven­tor kennt ihr Kon­troll­struk­tu­ren, die ein Pro­gramm ein­fa­cher ma­chen. Na­tür­lich gibt es diese auch in der Pro­gram­mier­spra­che Java und wir kön­nen sie in un­se­ren Pro­gram­men nut­zen.

Wird eine An­wei­sung wie­der­holt, nut­zen wir eine Schlei­fe. Wis­sen wir, wie oft wie­der­holt wer­den soll, so bie­tet sich eine Zähl­schlei­fe an.

Zähl­schlei­fe
Zählschleife

In der Pro­gram­mier­spra­che Java sieht der Rah­men einer Zähl­schlei­fe fol­gen­der­ma­ßen aus:

Es gibt dort eine Zähl­va­ria­ble i, für die man einen Start­wert, einen End­wert und eine Schritt­wei­te an­ge­ben kann. Zwi­schen den ge­schweif­ten Klam­mern steht das, was wie­der­holt wer­den soll. Die Zähl­va­ria­ble darf dabei ge­nutzt wer­den.

In Klam­mern wird zu­erst die Va­ria­ble i de­kla­riert (be­kannt ge­macht) und in­itia­li­siert (sie be­kommt den Wert 0 zu­ge­wie­sen). Das int gibt an, dass i nur ganze Zah­len als Wert an­neh­men kann.

Dann wird mit i <=2 die Be­din­gung vor­ge­ge­ben, dass die Schlei­fe nur durch­lau­fen wird, wenn i höchs­tens 2 ist.

Das i++ könn­te auch i = i + 1 hei­ßen und be­deu­tet, dass i nach jedem Schlei­fen­durch­lauf um 1 er­höht wird. Also nimmt die Va­ria­ble i die Werte 0, 1 und 2 in un­se­rem Bei­spiel an.

 

Auf­trä­ge:

  1. Er­gän­ze in der Vor­la­ge fi­gurC_­mit­Schlei­fe aus dem Tausch­ver­zeich­nis die Me­tho­de zeich­ne­BildC() so, dass zu­nächst die drei Krei­se in das Qua­drat ge­zeich­net wer­den. Nutze dazu eine Zähl­schlei­fe.

  2. Für die drei Qua­dra­te in dem an­de­ren Kreis kannst du auch eine Schlei­fe ver­wen­den. Suche wie­der nach den Re­gel­mä­ßig­kei­ten für den Start­punkt der Qua­dra­te und für die Sei­ten­län­ge (bzw. Brei­te) und schrei­be dein Pro­gramm um. (Bei dei­ner Leh­re­rin gibt es Hil­fe­kar­ten, wenn du Hilfe brauchst!)

Wei­te­re Übun­gen

Bild Übungen

Nutze für die wei­te­ren Übun­gen eine neue Datei, in der du die ei­ge­nen Me­tho­den schreibst und in der setup()-Me­tho­de auf­rufst.

  1. Schrei­be eine Me­tho­de zeich­ne­Qua­dra­te(), die 10 Qua­dra­te glei­cher Größe di­rekt ne­ben­ein­an­der zeich­net.

  2. Schrei­be eine Me­tho­de zeich­ne­Krei­se(), die 20 Krei­se in­ein­an­der, die immer klei­ner wer­den, zeich­net.

    Bild Übungen

    Bil­der: Screen­shots von Aus­füh­rung des Pro­gramms „zehn_qua­dra­te“ (Ei­sen­mann - ZPG IMP)

*** Schrei­be die bei­den Me­tho­den aus 3. und 4. so, dass man ihnen die An­zahl der Qua­dra­te bzw. Krei­se über­ge­ben kann. Hol dir dazu das In­fo­blatt zu Me­tho­den in Java.

 

Hil­fe­kar­ten zu Auf­ga­be 2

Tipp 1

Bei den Qua­dra­ten än­dert sich so­wohl der Start­punkt als auch die Sei­ten­län­ge.

Ver­su­che zu­erst, x- und y-Ko­or­di­na­te des Eck­punk­tes zu be­schrei­ben.

Tipp 2

Beim ers­ten Qua­drat ist x = 30 und y = 140.

Beim zwei­ten Qua­drat ist x = 40 und y = 150.

Über­le­ge dir auch die Ko­or­di­na­ten beim drit­ten Qua­drat und suche nach der Ver­än­de­rung.

Tipp 3

Die Ver­än­de­rung ist 10 bei bei­den Ko­or­di­na­ten.

In der Schlei­fe bei i = 0 bleibt es bei 30 und 140, bei i = 1, wird je­weils 1 * 10 ad­diert, bei i = 2, wird 2 * 10 ad­diert, usw.

Ver­su­che, die bei­den Ko­or­di­na­ten mit i aus­zu­drü­cken.

Tipp 4

x be­rech­net sich durch 30 + i * 10

y be­rech­net sich durch 140 + i * 10

Über­le­ge dir jetzt, wie du auf die bei­den rest­li­chen Werte (die Brei­te und Höhe der Qua­dra­te) kommst.

Tipp 5

Die bei­den Werte sind gleich, da es sich um Qua­dra­te han­delt.

Beim ers­ten Qua­drat ist der Wert 60, dann 40, dann 20.

Be­schrei­be den Wert wie­der mit­hil­fe der Schlei­fen­va­ria­ble i.

Tipp 6

Brei­te und Höhe las­sen sich durch 60 – i * 20 be­rech­nen.

Lö­sung

rect(30+i*10, 140+i*10, 60–i*20, 60–i*20);

Soll­test du den Weg nicht ver­stan­den haben, sieh dir das Video „Zähl­schlei­fe Qua­drat“ an.

 

Folie für die Ple­nums­pha­se zu Be­ginn

Folie Plenumsphase

 

 

Zähl­schlei­fen in Java: Her­un­ter­la­den [odt][125 KB]

Zähl­schlei­fen in Java: Her­un­ter­la­den [pdf][152 KB]

 

Wei­ter zu Zähl­schlei­fen-Puz­zle