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:algorithmen [2022/02/19 15:28] – [Erste Schritte in Tigerjython] Olaf Schnürer | lehrkraefte:snr:informatik:bruehl-2022:algorithmen [2022/04/10 13:28] (current) – [Algorithmen und erste Schritte in Tigerjython] Olaf Schnürer | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ~~NOTOC~~ | ||
| + | |||
| + | ====== Algorithmen und erste Schritte in Python (und Tigerjython) ====== | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | Einzel- oder Partnerarbeit: | ||
| + | Bearbeite die Aufgabe **Haus vom Nikolaus** auf dem {{ : | ||
| + | </ | ||
| + | |||
| + | ===== Algorithmen ===== | ||
| + | <WRAP center round info 100%> | ||
| + | Der Begriff **Algorithmus** meint einfach eine Folge von Anweisungen, | ||
| + | </ | ||
| + | |||
| + | |||
| + | <WRAP center round box 100%> | ||
| + | Die Anweisungsfolge zum Zeichnen des Hauses vom Nikolaus ist ein Beispiel eines Algorithmus. | ||
| + | |||
| + | Überlege dir weitere Beispiele, bevor du | ||
| + | <hidden hier klickst: Weitere Beispiele:> | ||
| + | * Rezepte: Wie kocht man Spaghetti mit Tomatensosse? | ||
| + | * Bastelanleitungen: | ||
| + | * Wegbeschreibungen: | ||
| + | * Behandlungsanweisungen: | ||
| + | * Problemlösungen: | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ==== Flussdiagramm ==== | ||
| + | |||
| + | <WRAP center round box 100%> | ||
| + | Algorithmen kann man durch sogenannte **Flussdiagramme** veranschaulichen: | ||
| + | |||
| + | {{: | ||
| + | </ | ||
| + | |||
| + | |||
| + | In der Informatik meint man mit Algorithmen Handlungsanweisungen, | ||
| + | |||
| + | Der Name // | ||
| + | |||
| + | |||
| + | ===== Grober Überblick über die Themen bis Ostern ===== | ||
| + | Das Diagramm links illustriert grob, womit wir uns beschäftigen: | ||
| + | |||
| + | In den nächsten Lektionen werden wir die farbig hinterlegten Konstrollstrukturen in Python kennenlernen: | ||
| + | |||
| + | <WRAP center round box 100%> | ||
| + | {{: | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== Erste Schritte in Tigerjython ===== | ||
| + | |||
| + | Wir lernen die Programmiersprache [[https:// | ||
| + | Programmieren schreiben wir in der IDE **Tigerjython**. Eine IDE ist ein Editor mit Zusatzfunktionen, | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | * Installiere Tigerjython von [[https:// | ||
| + | * Öffne Tigerjython. | ||
| + | </ | ||
| + | |||
| + | Ich gebe erste Erklärungen: | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | Nimm deine Lösung der Haus-vom-Nikolaus-Aufgabe. | ||
| + | |||
| + | Übersetze deine Befehle der Reihe nach wie folgt in Python und schreibe sie in den Editor (jeder neue Befehl kommt in eine neue Zeile, ohne Leerzeichen am Zeilenbeginn): | ||
| + | * Der Befehl '' | ||
| + | * Der Befehl '' | ||
| + | * Der Befehl '' | ||
| + | |||
| + | Schreibe die folgenden beiden Zeilen ganz am Anfang in deinen Editor: | ||
| + | <code python> | ||
| + | from gturtle import * | ||
| + | makeTurtle() | ||
| + | </ | ||
| + | |||
| + | Lass das Programm laufen (Button mit dem grünen Dreieck). | ||
| + | |||
| + | Sobald es fehlerfrei läuft, speichere es unter einem geeigneten Namen ab. (Erläuterungen zur Fehlersuche gebe ich gleich.) | ||
| + | </ | ||
| + | |||
| + | * Wähle vernünftige Fensteranordnung auf Bildschirm: Etwa Tigerjython-Editor rechte Bildschirmhälfte, | ||
| + | * Ihr dürft euch gerne gegenseitig helfen. Mein Tipp: **Selbst tippen bzw. Maus verwenden** - dann lernt man deutlich mehr, als wenn jemand anderes alles erledigt. | ||
| + | * Erklärung, wie man ein Programm schrittweise ablaufen lassen kann. | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | {{ : | ||
| + | Öffne es in deinem Editor (per Copy-and-Paste oder per Abspeichern auf deinem Rechner und dann Datei -> Öffnen im Menü des Editors). | ||
| + | |||
| + | Lass das Programm (schrittweise) laufen und lerne so die folgenden neuen Befehle kennen: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * die '' | ||
| + | |||
| + | Du darfst gerne Herumspielen: | ||
| + | |||
| + | Zum leichteren Erinnern von Befehlen wie '' | ||
| + | </ | ||
| + | |||
| + | Freiwillig: Wenn jemand eigenständig mehr Turtle-Befehle lernen will: [[https:// | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | **Hausaufgabe (die eventuell schon während der Lektion erledigt werden kann)** | ||
| + | |||
| + | Schreibe ein Programm, das eine **schöne** Zeichnung deiner Wahl erstellt. Das Programm muss die folgenden Bedingungen erfüllen: | ||
| + | * Mindestens zwei verschiedene Farben werden verwendet ('' | ||
| + | * Mindestens zwei verschiedene Strichbreiten werden verwendet ('' | ||
| + | * Der Zeichenstift wird mindestens einmal angehoben - die Zeichnung kann also nicht ohne Absetzen gezeichnet werden ('' | ||
| + | * Gerne sehe ich es, wenn mindestens eine '' | ||
| + | * Das Programm unterscheidet sich deutlich von deinem Haus-vom-Nikolaus-Programm und von dem obigen Beispielprogramm. Du darfst aber dein Haus-vom-Nikolaus-Programm ausbauen (Wolken, Bäume, Segelboot, ...). | ||
| + | * Hoffentlich selbstverständlich: | ||
| + | |||
| + | Abgabe bis **spätestens Sonntagabend 23:59 Uhr** vor der nächsten Doppellektion über den folgenden Link: | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | Falls jemand eine Zeichenidee benötigt: | ||
| + | * irgendeine " | ||
| + | * irgendeine abstrakte Zeichnung, beispielsweise [[https:// | ||
| + | * Drahtmodell eines Würfels | ||
| + | * [[https:// | ||
| + | * eine der Aufgaben am Ende [[https:// | ||
| + | </ | ||
| + | |||
| + | ===== Lösungsvorschläge ===== | ||
| + | |||
| + | <hidden Python-Programm zum Haus des Nikolaus> | ||
| + | <code python> | ||
| + | from gturtle import * | ||
| + | makeTurtle() | ||
| + | |||
| + | right(90) | ||
| + | forward(50) | ||
| + | left(90) | ||
| + | forward(100) | ||
| + | right(45) | ||
| + | forward(70.7) | ||
| + | right(90) | ||
| + | forward(70.7) | ||
| + | right(135) | ||
| + | forward(100) | ||
| + | left(135) | ||
| + | forward(141.4) | ||
| + | left(135) | ||
| + | forward(100) | ||
| + | left(135) | ||
| + | forward(141.4) | ||
| + | left(135) | ||
| + | forward(150) | ||
| + | left(90) | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== Link zur Kursseite ===== | ||
| + | |||
| + | [[lehrkraefte: | ||