Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:snr:altes-material [2022/03/05 09:16] Olaf Schnürer [Ideen] |
lehrkraefte:snr:altes-material [2023/01/17 09:25] (current) Olaf Schnürer |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | |||
+ | Animation: Federpendel - Sinus - Kreisbewegung: | ||
+ | |||
+ | Fadenpendel - Kreisbewegung: | ||
+ | |||
+ | Beides in einem (etwas seltsam präsentiert): | ||
+ | |||
+ | https:// | ||
+ | |||
+ | evtl. auch https:// | ||
+ | |||
+ | harmonische Schwingung zum Ausprobieren verschiedener Parameter: https:// | ||
+ | |||
+ | |||
+ | |||
+ | ===== Ideensammlung ===== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Eventuell bisschen allgemeines erklären: Sprache (Python), Programm, Interpreter (heisst ebenfalls Python). | ||
+ | |||
+ | Ideen: Erst mit Python-Shell (auch REPL (= read-eval-print loop, vgl. https:// | ||
+ | |||
+ | Python-Shell meist zum Ausprobieren kleiner Sachen. | ||
+ | |||
+ | Python ist eine Programmiersprache. Die App " | ||
+ | |||
+ | Mehrere Möglichkeiten, | ||
+ | * Öffne App " | ||
+ | * Öffne die Python-Shell in VS-Code: Zwei Möglichkeiten | ||
+ | - per '' | ||
+ | - öffne das Terminal in VS-Code (über das Menü View-> | ||
+ | * Öffne App " | ||
+ | |||
+ | print(" | ||
+ | |||
+ | < | ||
+ | Arithmetische Ausdrücke - Rechnen mit Zahlen: '' | ||
+ | |||
+ | Aufgabe: Was bedeuten ''//'', | ||
+ | |||
+ | 2 hoch 100 | ||
+ | |||
+ | (Wurzel?): import math, math.sqrt(3) | ||
+ | |||
+ | oder | ||
+ | |||
+ | from math import * | ||
+ | |||
+ | sqrt(3) | ||
+ | |||
+ | oder | ||
+ | |||
+ | 3**0.5 | ||
+ | |||
+ | Strings und Rechnen mit Strings: '' | ||
+ | |||
+ | " als Begrenzungszeichen? | ||
+ | |||
+ | Zahl mal String. | ||
+ | |||
+ | Beispiele: | ||
+ | * print(n* " | ||
+ | * dasselbe mit Leerzeichen, | ||
+ | * oder print(10 * "eat, sleep, bike, repeat!" | ||
+ | |||
+ | * Mops | ||
+ | * | ||
+ | * print(10*" | ||
+ | * print(10*(10*" | ||
+ | |||
+ | * print(2+3) | ||
+ | * print(" | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | wo?: Datentypen und Variablen | ||
+ | |||
+ | Zuweisung | ||
+ | * x = 2+5 | ||
+ | * s = " | ||
+ | * type(s) | ||
+ | |||
+ | * unterscheide '' | ||
+ | |||
+ | * erkläre: x = x + 5 | ||
+ | * Initialisierung notwendig. | ||
+ | |||
+ | |||
+ | * gedicht = 'Ein Mops kam in die Küche, und stahl dem Koch ein Ei. Da nahm der Koch die Kelle, und schlug den Mops zu Brei\n\n Da kamen viele Möpse und gruben ihm ein Grab und setzen ihm ein\' Grabstein, worauf geschrieben stand: | ||
+ | * print(10 * gedicht) | ||
+ | |||
+ | Erkläre, was Python-Shell ausgibt. | ||
+ | |||
+ | exit() oder '' | ||
+ | |||
+ | Erkläre, wie man das in einem Programm macht. | ||
+ | Nun brauche '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | Aufgabe: Lies Namen ein, begrüsse namentlich. | ||
+ | |||
+ | Aufgabe: Lies zwei Zahlen ein, gib Summe und Produkt aus. | ||
+ | |||
+ | Aufgabe: Gib " | ||
+ | |||
+ | |||
+ | '' | ||
+ | |||
+ | f-strings: | ||
+ | |||
+ | Aufgaben 1 - 5 auf https:// | ||
+ | |||
+ | </ | ||
+ | ==== Derselbe Code als pdf (eventuell für handschriftliche Eintragungen bzw. Markierungen nützlich) ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Chaos-Spiel als Flussdiagramm (= flow chart) ===== | ||
+ | |||
+ | Ich zeichne zugehöriges [[https:// | ||
+ | |||
+ | ===== Erster Versuch Koordinatengrafik mit Python ===== | ||
+ | |||
+ | ====== Koordinatengrafik mit Python ====== | ||
+ | |||
+ | <WRAP center round todo> | ||
+ | Speichere die folgende Grafik-Bibliothek unter dem Namen '' | ||
+ | |||
+ | Neue Version vom 01.12.2022: | ||
+ | |||
+ | {{ : | ||
+ | </ | ||
+ | |||
+ | <WRAP center round todo> | ||
+ | Versuche anhand des folgenden Programms die wesentlichen Funktionen der Bibliothek '' | ||
+ | |||
+ | {{ : | ||
+ | </ | ||
+ | |||
+ | <WRAP center round todo> | ||
+ | (1) Ergänze das **unten stehende** Python-Programm so, dass ein rechtwinkliges Dreieck gezeichnet wird, dessen Katheten parallel zu den Koordinatenachsen sind und Länge '' | ||
+ | |||
+ | Eine Skizze auf einem Blatt Papier mag helfen. | ||
+ | |||
+ | <hidden Hinweis:> | ||
+ | Nimm als Eckpunkte des Dreiecks den Ursprung $(0,0)$ und den Punkt $(a,0)$ und als dritten Punkt ... (bitte selbst überlegen, etwa per Skizze). </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | (2) Zeichne zusätzlich den Umkreis dieses rechtwinkligen Dreiecks. | ||
+ | |||
+ | Beachte: Ändert man die Werte der Variablen '' | ||
+ | |||
+ | <hidden Hinweis:> | ||
+ | Denke an einen griechischen Mathematiker, | ||
+ | </ | ||
+ | |||
+ | <code python rechtwinkliges-dreieck-mit-umkreis.py> | ||
+ | from kantigrafik import * | ||
+ | zeichenfenster(-4, | ||
+ | a = 4 | ||
+ | b = 3 | ||
+ | |||
+ | # Hier deinen Code ergänzen! | ||
+ | |||
+ | zeige() | ||
+ | warte_auf_klick() | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Die Befehle der Bibliothek '' | ||
+ | |||
+ | <WRAP center round info> | ||
+ | Die wichtigsten Befehle der Bibliothek '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | <WRAP center round important> | ||
+ | Zum Anzeigen des bereits Gezeichneten muss man den Befehl '' | ||
+ | </ | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== Link zur Kursseite ====== | ||
+ | |||
+ | Link zur Seite [[lehrkraefte: | ||
+ | |||
+ | ====== Template für Brühl ====== | ||
+ | |||
+ | [[lehrkraefte: | ||
+ | |||
+ | ====== Videolektion, | ||
+ | |||
+ | [[lehrkraefte: | ||
+ | ====== Gutes Zeug, das ich für Brühl erstellt hatte (jedoch "too advanced/ | ||
+ | |||
+ | * [[lehrkraefte: | ||
+ | |||
+ | * [[lehrkraefte: | ||
+ | |||
====== Ideen ====== | ====== Ideen ====== | ||
+ | |||
+ | * WIEDER PER Problem, dann FLUSSDIAGRAMM? | ||
+ | * Rasenmäh-Roboter? | ||
+ | * Turtle: zeichnet was nettes und erhöht Stiftdicke jeweils um Eins, jedoch wird sie zurückgesetzt, | ||
+ | * Zwei Schildkröten? | ||
+ | * if keyPressed ...: Turtle-Fernsteuerung mit Tastatur! | ||
+ | * Billard | ||
* Spass mit Robotern; Sensoren? | * Spass mit Robotern; Sensoren? | ||
Line 104: | Line 330: | ||
* Ich kann den Roboter in Betrieb nehmen und kenne grundlegende Befehle zur Steuerung des Roboters. | * Ich kann den Roboter in Betrieb nehmen und kenne grundlegende Befehle zur Steuerung des Roboters. | ||
</ | </ | ||
+ | |||
+ | === Alter Anfang if-Selektion === | ||
+ | |||
+ | |||
+ | Oft sollen gewisse Programmteile nur unter gewissen Bedingungen ausgeführt werden. | ||
+ | |||
+ | In unserem | ||
+ | [[lehrkraefte: | ||
+ | wird im grünen Bereich abgefragt, ob der Kuchen schmeckt: Abhängig von der Antwort geht es weiter im Flussdiagramm. | ||
+ | |||
+ | Das geht in Python durch '' | ||
+ | |||
+ | ===== Aufgabe 5, Funktionen ohne Parameter und mit Rückgabewert definieren ===== | ||
+ | |||
+ | <WRAP center round todo 100%> | ||
+ | **Einzelarbeit, | ||
+ | |||
+ | Der folgende Code definiert eine Funktion '' | ||
+ | <code python> | ||
+ | from gturtle import * | ||
+ | |||
+ | # In der folgenden Zeile beginnt die Definition der Funktion | ||
+ | def richtung(): | ||
+ | w = heading() | ||
+ | while r < 0: | ||
+ | w = w + 360 | ||
+ | while r >= 360: | ||
+ | w = w - 360 | ||
+ | return w | ||
+ | | ||
+ | # In der folgenden Zeile beginnt das Hauptprogramm | ||
+ | makeTurtle() | ||
+ | repeat 10: | ||
+ | print(richtung()) | ||
+ | right(100) | ||
+ | </ | ||
+ | |||
+ | Besser? | ||
+ | <code python> | ||
+ | import datetime | ||
+ | |||
+ | def zeitInMinuten(): | ||
+ | jetzt = datetime.datetime.now() | ||
+ | minute = jetzt.minute | ||
+ | return minute | ||
+ | |||
+ | print(zeitInMinuten()) | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Aufgabe 5, Funktionen ohne Parameter und mit Rückgabewert definieren ===== | ||
+ | |||
+ | <WRAP center round todo 100%> | ||
+ | **Einzelarbeit, | ||
+ | |||
+ | Der folgende Code definiert eine Funktion '' | ||
+ | |||
+ | Beachte: | ||
+ | * Mit '' | ||
+ | * Die Zeichenkombination " | ||
+ | <code python> | ||
+ | # In der folgenden Zeile beginnt die Definition der Funktion | ||
+ | def spielfeld(): | ||
+ | s1 = " | ||
+ | s2 = "| | | |\n" | ||
+ | s3 = " | ||
+ | s4 = "| | | |\n" | ||
+ | s5 = " | ||
+ | s6 = "| | | |\n" | ||
+ | s7 = " | ||
+ | |||
+ | return s1 + s2 + s3 + s4 + s5 + s6 + s7 | ||
+ | |||
+ | # In der folgenden Zeile beginnt das Hauptprogramm | ||
+ | b = spielfeld() | ||
+ | print(spielfeld()) | ||
+ | </ | ||
+ | Schreibe eine Funktion, die den Anfangsbuchstaben deines Vornamens als "Bild aus Buchstaben" | ||
+ | |||
+ | <hidden Für die Experten: Man kann die Funktion '' | ||
+ | <code python> | ||
+ | # In der folgenden Zeile beginnt die Definition der Funktion | ||
+ | def brett(): | ||
+ | s = 3 * " | ||
+ | t = 3 * "| " + " | ||
+ | return 3 * (s + t) + s | ||
+ | |||
+ | # In der folgenden Zeile beginnt das Hauptprogramm | ||
+ | b = brett() | ||
+ | print(brett()) | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== Erster Versuch: Polynomdivision ====== | ||
+ | |||
+ | [[lehrkraefte: | ||
+ | |||
+ | ====== Erster Versuch: Funktionen ====== | ||
+ | |||
+ | [[lehrkraefte: | ||
+ | |||
+ | ====== Ausgelagert: | ||
+ | |||
+ | [[lehrkraefte: | ||
+ | |||