Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:snr:informatik:bruehl-2022:funktionen [2022/03/25 10:09] Olaf Schnürer [Bonusaufgabe 2 (leicht), Funktionen mit mehreren Parametern und mit Rückgabewert definieren] |
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 72: | Line 72: | ||
^ ohne Rückgabewert | [[lehrkraefte: | ^ ohne Rückgabewert | [[lehrkraefte: | ||
^ | '' | ^ | '' | ||
- | ^ mit Rückgabewert | [[lehrkraefte: | ||
- | ^ | '' | ||
</ | </ | ||
Line 179: | 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 '' | + | Schreibe nun selbst eine Funktion '' |
{{: | {{: | ||
Line 261: | Line 259: | ||
* Wie unterscheiden sich Funktionsaufruf und Funktionsdefinition? | * Wie unterscheiden sich Funktionsaufruf und Funktionsdefinition? | ||
* Was ist ein Parameter? | * Was ist ein Parameter? | ||
- | * Was ist ein Rückgabewert? | ||
===== Struktur von Programmen ==== | ===== Struktur von Programmen ==== | ||
Line 347: | 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 ''" | + | * <del>Teilweise: Ich weiss, wie man mit Strings rechnet (Addition zweier Strings, Multiplikation eines Strings mit einer Zahl) und was ''" |
- | </ | + | </ |
Line 362: | Line 359: | ||
- | ===== Bonusaufgabe | + | ===== Bonusaufgabe: |
<WRAP center round todo 100%> | <WRAP center round todo 100%> | ||
Line 587: | Line 584: | ||
===== Lösungsvorschläge ===== | ===== Lösungsvorschläge ===== | ||
- | < | + | < |
<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) | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | <hidden Aufgabe 3> | ||
+ | <code python> | ||
+ | from gturtle import * | ||
+ | |||
+ | def vieleck(x): | ||
+ | repeat x: | ||
+ | forward(50) | ||
+ | right(360/ | ||
+ | |||
+ | makeTurtle() | ||
+ | # hideTurtle() | ||
+ | |||
+ | n = 3 | ||
+ | repeat 11: | ||
+ | vieleck(n) | ||
+ | n = n + 1 | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <hidden Aufgabe 4, Lösung von Vanessa (nur '' | ||
+ | <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(" | ||
+ | penWidth(10) | ||
+ | # | ||
+ | repeat 2: | ||
+ | wiederholeOrnament(8) | ||
+ | eckBewegung() | ||
+ | wiederholeOrnament(6) | ||
+ | eckBewegung() | ||
+ | </ | ||
+ | </ | ||
+ | |||
<hidden Kreis aus St. Galler Wappen> | <hidden Kreis aus St. Galler Wappen> |