At My Fingertips

Documentation

Willkommen in einer Welt des Programmierens

In diesem Curriculum - das heisst in dieser Abfolge aus Programmiertheorie und Codebeispielen - wird dir das Programmieren mit Python und der Grafikbibliothek PyTamaro nähergebracht.

Ziele

  • Lerne die Programmiersprache Python in ersten Programmen kennen und nutzen.
  • Tauche gleichzeitig in die farbige Welt aus Grafiken mit PyTamaro ein.
  • Verknüpfe ein Rezept aus dem Alltag eines Kochs mit dem Programm eines Informatikers und erkenne die Gemeisamkeiten.

Das Rezept

alt text

Hast du schon mal einen Tortilla-Teig selber gemacht und Tortillas geformt?

Hat deine Erklärung folgende Anweisungen enthalten?

  1. Mehl, Wasser, Salz und Öl in eine Schüssel geben und mit den Händen mindestens 5 Minuten zu einem glatten Teig verkneten.
  2. Den Teig in Frischhaltefolie wickeln und 20 Minuten in den Kühlschrank stellen.
  3. Den Teig aus dem Kühlschrank nehmen, nochmals gut durchkneten und Teigstücke auf einer bemehlten Fläche zu Fladen von maximal 1mm Dicke ausrollen.
  4. Die Fladen in einer beschichteten Bratpfanne ohne Öl auf beiden Seiten kurz backen.

Schauen wir uns dieses Rezept als Programm an. Drücke auf den 'Ausführen'-Knopf (hellblau) unten am weissen Codeblock. Du wirst gefragt, für wie viele Personen du kochst.

Gib hinter anzahl = anstelle der ... eine Zahl zwischen 2 und 10 ein. Du willst die Tortillas wirklich nicht für mehr als 10 Personen backen!

Loading...

Nun hast du soeben dein erstes Programm gesehen und ausgeführt. Jetzt wollen wir die einzelnen Zeilen vom Programm verstehen. Der Computer liest Zeile für Zeile von oben nach unten:

Zeile 1: Deine eingegebene Zahl wird in der Variablen mit dem Namen anzahl gespeichert.

Zeilen 3 - 6: Die Zutatenmengen für eine Person werden multipliziert mit der zuvor eingegebenen anzahl Personen und unter der Variablen mit dem Namen dieser Zutat gespeichert.

Zeilen 8-11: print bedeutet dem Computer, dass er die berechneten und in Variablen gespeicherten Werte (hier Zahlen) für den Benutzer lesbar ausgibt. Sichtbar werden die Werte in der Ausgabezelle unterhalb der Codezelle.

Programmieren

Eine klare Abfolge von Anweisungen, wie sie z.B. in Kochrezepten üblich ist, wird in der Informatik als Algorithmus (siehe Definition) bezeichnet. Der Vergleich ist aber nicht ganz richtig, denn die Kochrezepte beschreiben einige Schritte nicht präzise genug. Ein Computer oder Kochanfänger kann mit "Salz und Pfeffer nach Belieben" nicht viel anfangen.

Du erinnerst dich hier vielleicht an das Einstiegsbeispiel des Kapla-Gebildes :) Nur eine genaue schrittweise Anleitung führt zum gewünschten Gebilde. alt text

Ein Programmierer muss die Strukturen und Prozesse ganz klar beschreiben. Die Anweisungen müssen eindeutig sein: Es darf nur eine mögliche Interpretation geben. Das heisst, jeder Programm-Ausführende oder jeder Koch muss genau das gleiche Ergebnis erhalten.

Programme werden geschrieben, um zu automatisieren, was wir nicht von Hand ausführen wollen. Wir können Programme schreiben, um Zahlen zu addieren, oder herauszufinden, was der nächstbeste Zug in einem Schachspiel ist, oder ein Flugzeug zu steuern oder um den Überblick über die Schulnoten zu wahren.

Definition Algorithmus

Ein Algorithmus wird über 5 Eigenschaften definiert:

  • endlich Ein Algorithmus muss in einer endlichen Anzahl von Schritten abgeschlossen sein.
  • ausführbar Jeder Schritt muss vom Computer ausführbar sein.
  • determiniert Bei gleichen Eingabewerten liefert der Algorithmus das gleiche vorhersagbare Ergebnis. Z.B. sollte das Waschprogramm "Wolle" bei der Maschine deiner Eltern immer dasselbe tun, egal, wer den Knopf bedient.
  • deterministisch Der Folgeschritt bzw. die Reihenfolge ist eindeutig bestimmt.
  • terminiert Der Algorithmus muss enden, d.h. er muss ein Ergebnis liefern und sich nicht in der Unendlichkeit verlieren.

(Quelle: Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009), Introduction to Algorithms (3rd edition), MIT Press)

Beispielprogramm

Angenommen du gehst auf den Markt, um Zutaten für dein Rezept zu kaufen und du musst rechnen, ob du genügend Geld hast.

Klar, das kannst du im Kopf, aber lass uns nochmal den Computer zuhilfe nehmen:

Das Mehl kostet 1.80 Franken, das Olivenöl 4.95.- und Salz erstehst du für 2.-. Reichen die CHF 9.50.-, die du bei dir hast?

Loading...

Keine Angst, es wird nicht immer mathematisch bleiben!

Das Wasser für das Tortilla-Rezept musst du nicht auf dem Markt erstehen, sondern kannst es gleich beim Kochen aus dem Wasserhahn lassen. Also ziehen wir die geringen Wasserkosten für dieses Rezept nicht vom Gesamtwasserpreis ab, sondern zeigen den Wassertropfen grafisch auf.

Loading...

Es ist mit Sicherheit nicht der schönste Wassertropfen. Vielleicht kannst du ihn im Verlaufe des Informatikunterrichts mal tropfenähnlicher gestalten.

Im Moment gehen wir nicht näher auf den import und die Zeile des Wassertropfens ein. Aber wie du wahrscheinlich richtig vermutet hast, generiert ellipse mit den Angaben 100, 100 einen Kreis mit Durchmesser 100. In der Variablen (auf diesen Begriff kommen wir im informatischen Sinne demächst genauer zu sprechen) hütchen wird ein gleichseitiges Dreieck mit Seitenlänge 100 und Winkel 60° abgespeichert.

Kreis und Hütchen erhalten je noch die Farbe blau und werden zum Wassertropfen vereint. Der soll zum Schluss über den Befehl zeige_grafik als Ausgabe gezeigt werden. Diese Anweisung oder dieser Befehl entspricht dem print-Befehl des oberen Beispielprogramms.

Code und Programm?

Programmierer programmieren. Sie schreiben Programme.

Andersherum kannst du auch sagen:

Coders coden. Sie schreiben Code.

Der Ausdruck "Code" stammt aus Zeiten, als Programme noch in einer Sprache geschrieben wurden, die für Menschen unverständlich war - die sogenannte Maschinensprache. Heutzutage werden Programme in einer Weise geschrieben, die viel leichter zu verstehen ist.

Python

Während Python für die meisten Personen eine Schlange ist, ist dies für die Programmierer eine Sprache.

Und tatsächlich wurde die Sprache nicht nach der Schlange benannt, der Name geht auf die britische Komikergruppe "Monty Python" zurück. Guido van Rossum hat die Programmiersprache 1990 entwickelt.

alt text

Python ist laut Statista (Stand 2024) die beliebteste Programmiersprache, gefolgt von Java, Javascript, C# (sprich: Si sharp) und C bzw. C++.

(Quelle: https://de.statista.com/statistik/daten/studie/678732/umfrage/beliebteste-programmiersprachen-weltweit-laut-pypl-index/)

PyTamaro

Python ist eine Sprache, PyTamaro hingegen ist eine Bibliothek. Für eine natürliche Sprache (z.B. Englisch, Deutsch, Italienisch, Spanisch, ...) enthält eine Bibliothek viele tausende Bücher voller Text in der jeweiligen Sprache.

Für Programmiersprachen enthält eine Bibliothek sogenannte "Module", zusätzliche Bauteile in ebendieser Sprache.

alt text

PyTamaro ist eine Bibliothek für Python. Dies indiziert das "Py-". Tamaro bezieht sich auf den Berg Monte Tamaro, der sich in der Nähe der Università svizzera italiana (USI) Lugano befindet, wo die Grafikbibliothek entwickelt wurde.

PyTamaro spielt mit Grafiken. Die Bibliothek enthält Python-Code, der eindeutig beschreibt, wie gewünschte Grafikmodule generiert werden. Das heisst also, dass man PyTamaro-Code Menschen mit Pythonkenntnissen zeigen kann und sie wären in der Lage den Anweisungen zu folgen und die Grafik zu reproduzieren. Diese Reproduktion kann dabei auch über das effektive Ausschneiden und Anordnen von farbigem Papier geschehen.

Die PyTamaro-Bibliothek wird definiert durch verschiedene Dinge, die mit Grafiken zu tun haben:

  • Sie kennt Farben
  • Sie kennt grundlegende geometrische Formen
  • Und sie kennt Wege, wie man Grundlagengrafiken zu weit komplexeren Grafiken arrangieren kann.
Loading...

Kommentare

Etwas Wichtiges zum Schluss: Notizen bzw. Kommentare fürs spätere Verstehen des Programms, kann man mittels # angeben.

  • Hashzeichen (#) bedeuten, dass alles hinter dem Hashzeichen ein Kommentar ist und vom Computer nicht als Code gelesen wird. Ein Hashzeichen erlaubt jedoch nur einzeilige Kommentare.

Was du gelernt hast

  • Du hast gelernt, dass Programmieren das eindeutige, präzise Schreiben von Anweisungen ist.

  • Mehrere solcher Anweisungen in Folge beschreiben einen Algorithmus.

  • Du kennst die Eigenschaften eines Algorithmus.

  • Du hast einige Pythonprogramme angetroffen, die Konzepte wie Variablen, Ausgabe und Funktionen enthalten. Die Konzepte werden in Verlauf des Programmierunterrichts aufgegriffen. Zur Ausgabe: du wirst sie später häufig als output antreffen.

  • Du weisst, dass Python Zugriff auf verschiedene Bibliotheken hat, unter anderem auf PyTamaro.

  • Du kannst eigene Kommentare in ein Programm schreiben.


This activity has been created by Bernhard and is licensed under CC BY-SA 4.0.

It is derived from this activity, this activity, this activity, and this activity.

Einführung

Logo of PyTamaro

PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI

Privacy PolicyPlatform Version c08406b (Wed, 20 Nov 2024 12:30:00 GMT)