3 Problemlösung in der Informatik
Vorbemerkung
Damit Sie dieses Jupyter Notebook lokal (das heisst, auf Ihrem Computer) verwenden können, klicken Sie auf den Button . Es öffnet sich dann das Jupyter Notebook in Google Colab. Dort können Sie unter dem Menü Datei > Herunterladen > .ipynb herunterladen auswählen. Mit dieser Auswahl öffnet sich der Download Dialog und Sie können das Jupyter Notebook am gewünschen Ort speichern.
3.1 Ausgangslage
Jede Disziplin hat ihre eigene Art, Probleme zu lösen. Das ist in der Informatik nicht anders.
In der Informatik versucht man, grosse Probleme in kleinere Teilprobleme zu zerlegen. Das macht man so lange, bis die Teilprobleme so klein sind, dass sie einfach zu lösen sind.
Dies soll hier anhand von verschidenen Grafiken gezigt werden.
Damit in Python einfach mit Grafiken gearbeitet werden kann, wird das Paket PyTamaro verwendet. Dieses Paket wurde von der Università della Svizzera italiana (USI) extra für die Informatik-Ausbildung entwickelt.
Damit das Paket verwendet werden kann, muss es zuerst in der aktuellen Python Virtual Environment installiert werden.
Dazu öffnen Sie ein Terminal im Ordner, in dem sich dieses Jupyter Notebook befindet. Anschliessend starten Sie die Python Virtual Environment mit dem Befehl:
Danach können Sie PyTamaro mit dem Befehl
installieren.
Um das Paket zu verwenden, muss es importiert werden. Die genauen Zusammenhänge müssen im Moment nicht bekannt sein. Wichtig ist lediglich, dass die folgende Zelle ausgeführt wird.
3.2 Beispiel: Tricolore
Die Vorgehensweise wird anhand der Französischen Nationalflagge (Tricolore) gezigt.
Um die Zeichnung der Tricolore zu planen, wird die Grafik in ihre Einzelteile zerlegt.
Die Tricolore besteht aus drei gleich grossen Rechtecken in den Farben blau, rot und weiss. Diese Rechtecke werden nebeneinander angeordnet.
Das bedeutet, dass die Länge und die Breite der Rechtecke definiert werden muss und basierend auf diesen Werten die drei Rechtecke gezeichnet werden. Anschliessend werden die drei Rechtecke nebeneinander angeordnet.
Der Befehl zum Zeichnen eines Rechtecks lautet
Bevor die Zeichnung tatsächlich erstellt wird, soll hier der Befehl im Detail erklärt werden:
nameist der Name, unter dem das Rechteck gespeichert wird. Dieser Name kann später verwendet werden, um auf das Rechteck zuzugreifen.rechteckist der Befehl, der ein Rechteck zeichnet. In der Klammer hinter dem Befehl werden die sogenannten Argumente angegeben. Diese steuern, wie das Rechteck aussieht.längeundbreitesind die Argumente, die die Grösse des Rechtecks bestimmen. Diese Werte können beliebig gewählt werden.farbeist das Argument, das die Farbe des Rechtecks bestimmt. Aufgrund der Eigenheiten vonPyTamarokönnen ausschliesslich die Farben verwendet werden, welche importiert worden sind.
3.2.1 Rechtecke zeichnen
Als erstes wird hier gezeigt, wie das blaue Rechteck gezeichnetwird.
Damit das Resultat kontrolliert werden kann, wird die Grafik mit dem Befehl
angezeigt.
Nachdem das blaue Rechteck gezeichnet wurde, kann das weisse und das rote Rechteck analog gezeichnet und angzeigt werden.
Als nächstes werden die drei Rechtecke nebeninander angeordnet. Dazu wird der Befehl neben verwendet. Dieser Befehl nimmt zwei Argumente entgegen: das erste Rechteck und das zweite Rechteck. Das erste Rechteck wird links vom zweiten Rechteck gezeichnet.
Analog können Sie nun das rote Rechteck rechts der zwei Drittel anordnen. Nennen Sie das Resultat tricolore und zeigen Sie es an.
3.3 Beispiel: Österreichische Flagge
Zeichnen Sie die Österreichische Flagge. Das Seitenverhältnis der Flagge ist 2:3.
Um Elemente übereinander anzuordnen, wird der Befehl ueber verwendet. Die Syntax dieses Befehls lautet:
3.4 Beispiel: Schweizerfahne
Zeichnen Sie eine korrekt propotionierte Schweizerfahne. Die Dimensionen können Sie der folgenden Grafik entnehmen:
Verwenden Sie dazu die Befehle rechteck, drehe und ueberlagere.
3.5 Beispiel: Tessiner Wappen
Als Referenz an die USI zeichnen Sie als letztes Beispiel das Tessiner Wappen.
Verwenden Sie dazu neben den bereits bekannten Befehlen zusätzlich die Befehle ueber und kreis_sektor.
3.6 Musterlösungen
3.6.1 Trikolore
3.6.2 Österreichische Flagge
3.6.3 Schweizerfahne
3.6.4 Tessiner Wappen
roter_teil = rechteck(160, 240, rot)
blauer_teil = rechteck(160, 240, blau)
roter_sektor = kreis_sektor(160, 90, rot)
roter_sektor = drehe(180, roter_sektor)
blauer_sektor = kreis_sektor(160, 90, blau)
blauer_sektor = drehe(270, blauer_sektor)
ti_unten = neben(roter_sektor, blauer_sektor)
ti_oben = neben(roter_teil, blauer_teil)
tessin = ueber(ti_oben, ti_unten)
zeige_grafik(tessin)
