lehrkraefte:snr:informatik:bruehl-2022:algorithmen

This is an old revision of the document!


Algorithmen und erste Schritte in Tigerjython

Einzel- oder Partnerarbeit: Bearbeite die Aufgabe Haus vom Nikolaus auf dem Arbeitsblatt (pdf).

Der Begriff Algorithmus meint einfach eine Handlungsvorschrift.

Die Anweisungsfolge zum Zeichnen des Hauses vom Nikolaus ist ein Beispiel eines Algorithmus.

Überlege dir weitere Beispiele, bevor du

hier klickst: Weitere Beispiele:

hier klickst: Weitere Beispiele:

  • Rezepte: Wie kocht man Spaghetti mit Tomatensosse? Wie bäckt man einen Schokoladenkuchen?
  • Bastelanleitungen: Wie baut man einen Schrank? Wie strickt man einen Pullover? Wie näht man ein Kleid?
  • Wegbeschreibungen: Wie geht es hier zum Bahnhof?
  • Behandlungsanweisungen: Wie operiert man einen Bänderriss im Knie?
  • Problemlösungen: Wie löst man Rubiks Zauberwürfel?

Algorithmen kann man durch sogenannte Flussdiagramme veranschaulichen:

In der Informatik meint man mit Algorithmen Handlungsanweisungen, die man einem Computer beibringen kann.

Der Name Algorithmus kommt übrigens von dem persischen Gelehrten Al-Chwarizmi, der um 800 in Bagdad gelehrt hat.

Das Diagramm links illustriert grob, womit wir uns beschäftigen: Wir wollen lernen, wie in der Programmiersprache Python Computer-Programme schreibt und so dem Computer beibringt, Algorithmen auszuführen.

In den nächsten Lektionen werden wir die farbig hinterlegten Konstrollstrukturen in Python kennenlernen: In unserem Back-Programm sind die entsprechenden Strukturen farbig markiert und vermitteln so hoffentlich einen ersten Eindruck.

Wir lernen die Programmiersprache Python bzw. genauer deren Variante Tigerjython kennen.

  • Installiere Tigerjython von hier.
  • Öffne Tigerjython.

Ich gebe erste Erklärungen: Editor (kopieren wie üblich), abspeichern.

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 Gehe 100 Meter vorwärts. wird zu forward(100) (und analog für andere Längenangaben). Achtung: Statt 141,1 muss man 141.1 schreiben, also Punkt statt Komma.
  • Der Befehl Drehe dich um 90 Grad nach rechts. wird zu right(90) (und analog für andere Winkel).
  • Der Befehl Drehe dich um 135 Grad nach links. wird zu left(135) (und analog für andere Winkel).

Schreibe die folgenden beiden Zeilen ganz am Anfang in deinen Editor:

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, wenn das Zeichenfenster links aufgeht.
  • 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.

Hier ist ein Python-Programm verlinkt. Ö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 neue Befehle kennen!

Zum leichteren Erinnern von Befehlen wie makeTurtle, penWidth, setPenColor, hideTurtle etc.: Die Befehle starten stets mit einem Kleinbuchstaben und jedes “neue Wort” beginnt dann mit einem Grossbuchstaben.

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 (setPenColor(…)).
  • Mindestens zwei verschiedene Strichbreiten werden verwendet (penWidth(…)).
  • Der Zeichenstift wird mindestens einmal angehoben - die Zeichnung kann also nicht ohne Absetzen gezeichnet werden (penUp() und penDown).
  • Gerne sehe ich es, wenn mindestens eine repeat-Struktur verwendet wird.
  • Gerne sehe ich es, wenn mindestens einmal die Befehle startPath() und fillPath() verwendet werden.
  • Das Programm unterscheidet sich deutlich von deinem Haus-vom-Nikolaus-Programm und von dem obigen Beispielprogramm. (Wenn du genügend viel hinzufügst (Wolken, Bäume, Sonne), darfst du auch die Nikolaus-Zeichnung ausbauen.)
  • Hoffentlich selbstverständlich: Das Programm ist nicht aus dem Internet kopiert.

Abgabe bis spätestens Sonntagabend 23:59 Uhr vor der nächsten Doppellektion über den folgenden Link:

Falls jemand eine Zeichenidee benötigt:

  • irgendeine “Kinderzeichnung” - mit dickem Stift kann man auch Rechtecke etc. zeichnen
  • Drahtmodell eines Würfels
  • eine der Aufgaben am Ende dieser Seite oder von einer anderen Seite dieses Tutorials
  • lehrkraefte/snr/informatik/bruehl-2022/algorithmen.1644760425.txt.gz
  • Last modified: 2022/02/13 14:53
  • by Olaf Schnürer