lehrkraefte:blc:informatik:glf19:oxocard:repefunktionen

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
lehrkraefte:blc:informatik:glf19:oxocard:repefunktionen [2019/10/31 07:23] Ivo Blöchligerlehrkraefte:blc:informatik:glf19:oxocard:repefunktionen [2019/10/31 07:23] (current) Ivo Blöchliger
Line 1: Line 1:
 +====== Funktionen in Python ======
 +Ein Grundprinzip des Programmierens ist es, einfache Problemlösungen in Einheiten zusammenzufassen und diese dann zu verwenden, um komplizierte Problemlösungen wieder "einfach" zu machen.
  
 +===== Funktionen ohne Parameter und ohne Rückgabewert =====
 +
 +<code python>
 +# Definition der Funktion
 +def hallo():
 +  print("Die Funktion hallo() sagt HALLO...")
 +  print("  ... und tschüss!")
 +  
 +hallo()   # Aufruf der Funktion
 +hallo()   # und gleich nochmals
 +</code>
 +
 +
 +===== Funktionen mit Parameter ohne Rückgabewert =====
 +<code python>
 +# Definition der Funktion
 +from gturtle import *
 +
 +makeTurtle()
 +hideTurtle()
 +
 +# Zeichnet ein Quadrat
 +# Achtung: Die Variable i lebt hier nur in dieser Funktion
 +# und hat nichts mit anderen Variablen i zu tun, die in diesem Code vorkommmen
 +def quadrat(s):
 +    for i in range(4):
 +        forward(s)
 +        left(90)
 +        
 +def mandala(n):        
 +    for i in range(n):
 +        quadrat(50)
 +        left(360/n)
 +
 +right(90)
 +backward(300)
 +for i in range(4):
 +    mandala(i*10+10)
 +    forward(150)
 +</code>
 +
 +<hidden Funktionen mit Rückgabewert (optional)>
 +
 +<code python>
 +from gpanel import *
 +
 +# Bereich in dem die Funktion
 +# gezeichnet werden soll
 +xmin=-2
 +xmax=2
 +step = 0.02
 +
 +ymin = -(xmax-xmin)/2;
 +ymax = -ymin
 +
 +makeGPanel(xmin, xmax, ymin, ymax);
 +
 +# Hier die Funktion eingeben, die gezeichnet werden soll.
 +def f(x):
 +    return (x+1)*(x-1)
 +
 +
 +# Startwert für x
 +x = xmin
 +# Koordinatenachsen
 +line(xmin,0,xmax,0)
 +line(0,ymin,0,ymax)
 +# Erster Punkt auf dem Graph von f
 +move(x,f(x))
 +# Alles zeichnen
 +while (x<xmax):
 +    lineTo(x,f(x));
 +    x+=step
 +    
 +    
 +</code>
 +</hidden>