lehrkraefte:snr:informatik:bruehl-2022:funktionen

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:snr:informatik:bruehl-2022:funktionen [2022/03/25 10:11]
Olaf Schnürer [Allgemeines zu Funktionen]
lehrkraefte:snr:informatik:bruehl-2022:funktionen [2022/04/02 13:23] (current)
Olaf Schnürer [Zusammenfassung]
Line 8: Line 8:
  
   * Funktionen oder: Wie man grössere Programm übersichtlich gestaltet: modularer Entwurf, Baukastenprinzip.   * Funktionen oder: Wie man grössere Programm übersichtlich gestaltet: modularer Entwurf, Baukastenprinzip.
-  * Nebenbei: Rechnen mit Strings (= Zeichenketten)+
 ===== Aufgabe 1 ===== ===== Aufgabe 1 =====
  
Line 177: Line 177:
 (Für das Folgende kannst du entweder ein neues Programm schreiben oder das obige Programm in eine neues Programmierfenster kopieren und modifizieren.) (Für das Folgende kannst du entweder ein neues Programm schreiben oder das obige Programm in eine neues Programmierfenster kopieren und modifizieren.)
  
-Schreibe nun selbst eine Funktion ''vieleck'', die einen Parameter ''n'' entgegennimmt und ein regelmässiges $n$-Eck der Seitenlänge 50 zeichnet; die Turtle soll am Ende im selben Zustand wie am Anfang sein. Nutze deine Funktion, um die folgende Figur zu zeichnen (ein Dreieck in einem Viereck in einem Fünfeck ... undsoweiter ... in einem 11-Eck).+Schreibe nun selbst eine Funktion ''vieleck'', die einen Parameter ''n'' entgegennimmt und ein regelmässiges $n$-Eck der Seitenlänge 50 zeichnet; die Turtle soll am Ende im selben Zustand wie am Anfang sein. Nutze deine Funktion, um die folgende Figur zu zeichnen (ein Dreieck in einem Viereck in einem Fünfeck ... undsoweiter ... in einem 13-Eck).
  
 {{:lehrkraefte:snr:informatik:bruehl-2022:vielecke.png?200|}} {{:lehrkraefte:snr:informatik:bruehl-2022:vielecke.png?200|}}
Line 344: Line 344:
   * Funktionen dienen der besseren Strukturierung von Programmen.   * Funktionen dienen der besseren Strukturierung von Programmen.
   * Sie sind besonders nützlich, wenn man gewisse Programmteile mehrfach verwenden möchte.   * Sie sind besonders nützlich, wenn man gewisse Programmteile mehrfach verwenden möchte.
-  * Teilweise: Ich weiss, wie man mit Strings rechnet (Addition zweier Strings, Multiplikation eines Strings mit einer Zahl) und was ''"\n"'' bedeutet. +  * <del>Teilweise: Ich weiss, wie man mit Strings rechnet (Addition zweier Strings, Multiplikation eines Strings mit einer Zahl) und was ''"\n"'' bedeutet. 
-</hidden>+</del></hidden>
  
  
Line 584: Line 584:
 ===== Lösungsvorschläge ===== ===== Lösungsvorschläge =====
  
-<hidden zu ergänzen>+<hidden Aufgabe 2>
 <code python> <code python>
 +from gturtle import *
 +
 +# In der folgenden Zeile beginnt die Definition der Funktion
 +def quadrat100():
 +    repeat 4:
 +        forward(100)
 +        right(90)
 +
 +def dreieck100():
 +    repeat 3:
 +        forward(100)
 +        left(120)
 +        
 +# In der folgenden Zeile beginnt das Hauptprogramm
 +makeTurtle()
 +# hideTurtle()
 +
 +# Erstes Muster
 +repeat 6:
 +    dreieck100()
 +    right(60)
 +   
 +# Bewege nach rechts
 +penUp() 
 +right(90)
 +forward(370)
 +left(90)
 +penDown()
 +
 +# Zweites Muster
 +repeat 6:
 +    dreieck100()
 +    quadrat100()
 +    forward(100)
 +    left(360/6)
 </code> </code>
 </hidden> </hidden>
 +
 +<hidden Aufgabe 3>
 +<code python>
 +from gturtle import *
 +
 +def vieleck(x):
 +    repeat x:
 +        forward(50)
 +        right(360/x)
 +
 +makeTurtle()
 +# hideTurtle()
 +
 +n = 3
 +repeat 11:
 +    vieleck(n)
 +    n = n + 1
 +</code>
 +</hidden>
 +
 +<hidden Aufgabe 4, Lösung von Vanessa (nur ''showTurtle()'' auskommentiert)>
 +<code python>
 +from gturtle import*
 +
 +def ornament():
 +    forward(60)
 +    right(90)
 +    forward(40)
 +    right(90)
 +    forward(20)
 +    right(90)
 +    forward(20)
 +    left(90)
 +    forward(20)
 +    left(90)
 +    forward(40)
 +    left(90)
 +    forward(60)
 +    left(90)
 +    forward(60)
 +    right(90)
 +    
 +
 +def wiederholeOrnament(n):
 +    repeat n: 
 +        ornament()
 +
 +def eckBewegung():
 +    left(90)
 +    forward(20)
 +    left(90)
 +    forward(60)
 +    right(90)
 +   
 +makeTurtle()
 +hideTurtle()
 +
 +penUp()
 +backward(230)
 +right(90)
 +backward(310)
 +penDown()
 +setPenColor("black")
 +penWidth(10)
 +#showTurtle()
 +repeat 2:
 +    wiederholeOrnament(8)
 +    eckBewegung()
 +    wiederholeOrnament(6)
 +    eckBewegung()
 +</code>
 +</hidden>
 +
  
 <hidden Kreis aus St. Galler Wappen> <hidden Kreis aus St. Galler Wappen>
  • lehrkraefte/snr/informatik/bruehl-2022/funktionen.1648199490.txt.gz
  • Last modified: 2022/03/25 10:11
  • by Olaf Schnürer