Ω | Programmierhilfen-Forum.org

Startseite

Neuigkeiten

About us

Lizenzvereinbarung

Impressum

 

Src: netflix.com

Erstellt am 26.06. von User: Ciel

Hallo Leute!

Ich versuche mit Xlogo eine Figur zu programmieren, die ich im Informatikunterricht abgeben muss. Ich habe aber Probleme dabei und hoffe ihr könnt mir helfen!

Unser Lehrer hat uns gesagt, dass wir folgende Figur programmieren sollen.

Dabei soll man die Fahnen auch mit anderen Farben zeichnen lassen können und es können auch mehr als drei Fahnen sein.

Ich habe mir jetzt schon mal überlegt, dass es gut wäre, wenn ich ein Rechteck zeichnen kann:

to rechteck
  setpw 3
  fd 100
  rt 90
  fd 6
  rt 90
  fd 100
  rt 90
  fd 6
  rt 90
end

 

Kann man das so machen?

 

 

Avatar ID: 188493

Src: avatars.alphacoders.com

Erstellt am 26.06. von User: CuteLion

Ja, ich denke, das kann man so machen! Sinnvoller wäre hier aber eine Schleife:

 

to rechteck
  setpw 3
  repeat 2 [
    fd 100
    rt 90
    fd 6
    rt 90
  ]
end

 

Avatar ID: 79295

Src:avatars.alphacoders.com

Erstellt am 26.06. von User: Langohr83

Außerdem solltest Du dem Programm zwei Parameter für die Länge und die Farbe des Rechtecks übergeben. Das ist dann später einfacher für die Fahnen.

 

Src: netflix.com

Erstellt am 26.06. von User: Ciel

Danke schon mal für die Antworten, aber ich bin noch nicht so vertraut mit dem Umgang mit Parametern. Kannst du mir sagen, was mir das bringen soll?

 

Avatar ID: 79295

Src:avatars.alphacoders.com

Erstellt am 26.06. von User: Langohr83

Damit musst du später viel weniger Programmcode schreiben. Du kannst damit direkt beim Aufruf des Programms Rechteck direkt festlegen welches Größe und Farbe dieses haben soll. Bei Dir würde das wie folgt aussehen:

 

to rechteck :f :l
  setpc f
  setpw 3
  repeat 2 [
    fd :l
    rt 90
    fd 6
    rt 90
  ]
end

 

:f steht dabei für die Farbe und :l für die Länge.

 

 

Src: netflix.com

Erstellt am 26.06.2019 von User: Ciel

Ah okay, das ist wirklich praktisch. Ich habe jetzt viel herumrobiert und was hinbekommen:

 

to fahne
  rechteck 0 100
  pu 
  fd 100
  pd
  rt 90
  rechteck 1 50
  pu
  rt 90
  fd 12
  lt 90
  pd
  rechteck 2 50
  pu
  rt 90
  fd 12
  lt 90
  pd
  rechteck 3 50
end

 

 

Jetzt fehlen noch die anderen zwei Fahnen. Kann man das irgendwie mit einer Wiederholungsschleife machen?

 

 

Avatar ID: 188493

Src: avatars.alphacoders.com

Erstellt am 26.06. von User: CuteLion

Eine Wiederholung könntest Du nur gebrauchen, wenn Du dreimal die gleiche Fahne zeichnen möchtest. Hier sollen aber ja alle drei anders aussehen. Aber auch hier können Dir die Parameter wieder hilfreich sein:

 

to naechstes

  pu

  rt 90

  fd 12

  lt 90

  pd

end

 

to fahne :f1 :f2 :f3

  rechteck 0 100

  pu

  fd 100

  pd

  rt 90

  rechteck :f1 50

  naechstes

  rechteck :f2 50

  naechstes

  rechteck :f3 50

  lt 90

  pu

  bk 76

  pd

 

P.S.: Habe noch ein Programm naechster hinzugefügt. Das fand ich schöner, muss man aber nicht unbedingt machen. Außerdem geht die Schildkröte am Schluss wieder zum Anfang des Fahnenmastes zurück.

 

 

 

Src: netflix.com

Erstellt am 26.06. von User: Ciel

Vielen Dank für die Hilfe!

 

Src: netflix.com

Erstellt am 27.06. von User: Ciel

Puh, so richtig komme ich aber doch noch nicht weiter. Was genau muss ich für :f1, :f2 und :f3 eingeben?

 

Avatar ID: 188493

Src: avatars.alphacoders.com

Erstellt am 27.06. von User: CuteLion

Das sind die Farben der einzelnen Fahnen. Du musst die jetzt nur noch zeichnen lassen:

 

to fahnen

  fahne 1 2 3

  weiter

  fahne 4 5 6

  weiter

  fahne 8 10 11

  weiter

end

 

Das Programm weiter sorgt dafür, dass die Schildkröte etwas nach rechts geht, damit man die nächste Fahne zeichnen kann. Das schaffst Du aber sicher selbst zu programmieren 😉.

 

 

Src: netflix.com

Erstellt am 28.06. von User: Ciel

Wow!!!!!! Danke für die schnelle Hilfe! Funktioniert perfekt!

Hier für alle, die es gebrauchen können auch das Programm für weiter:

 

to weiter

  rt 90

  pu

  fd 100

  lt 90

  pd

end

 


Copyright by M. Weber, adaptiert von N. van den Boom