Flussdiagramm: Spaghetti & Spaghetti Napoletana
Zwei Flussdiagramme zum Besprechen: Spaghetti kochen mit Schleife — und Spaghetti Napoletana mit Unterprogramm-Aufruf. Symbole erkennen, Schleife erklären, Wiederverwendung verstehen.
- Sie können den Ablauf eines Programms anhand seines Flussdiagramms Schritt für Schritt beschreiben.Verstehen
- Sie können in einem Flussdiagramm Hauptprogramm, Unterprogramm, Parameter, Wiederholung, Sequenz und Verzweigung identifizieren.Analysieren
Das Flussdiagramm unten zeigt zwei Programme: Links, wie man Spaghetti kocht — rechts, wie man Spaghetti Napoletana zubereitet. Dabei wird der Spaghetti-Algorithmus rechts einfach wiederverwendet: Der rote Block ist ein Unterprogramm-Aufruf.
Erinnere dich an die Symbole: Start/Ende (blau), Aktion (grün), Verzweigung (gelb, mit Ja/Nein beschriftet), Unterprogramm-Aufruf (rot, doppelt umrandet).
Zwei Flussdiagramme: «Spaghetti (n)» und «Spaghetti Napoletana (n)» — der rote Block ruft das linke Programm als Unterprogramm auf. Quelle: in.mygymer.ch (Gymnasium Kirchenfeld, FS Informatik), CC BY-SA 4.0
Challenge
Besprecht zu zweit:
- Welche Symbole erkennt ihr — und wofür stehen sie?
- Wo läuft das Programm in einer Schleife? Wie endet sie?
- Was macht der rote Block «Spaghetti (n)» — und warum ist das praktisch?
Note
Zum Vergleichen (erst selbst diskutieren!):
- Symbole: Start/Ende = abgerundete Blöcke (blau) · Aktionen = Rechtecke (grün) · Verzweigungen «Al dente?» / «Mit Sosse?» = Rauten (gelb) mit Ja/Nein · Unterprogramm-Aufruf = doppelt umrandetes Rechteck (rot).
- Schleife: Nach «1 min kochen» prüft «Al dente?» — bei Nein geht es zurück zum Kochen, bei Ja zum Abgiessen. Die Schleife läuft, bis die Spaghetti al dente sind.
- Unterprogramm: Der rote Block ruft das komplette linke Programm auf. «n» ist ein Parameter (Portionen: n×100 g). Statt den Koch-Ablauf zu kopieren, ruft man ihn auf — in Python:
def spaghetti(n):und später der Aufrufspaghetti(anzahl).
Reflection
Weitergedacht: Wie würde das linke Flussdiagramm als Python-Funktion aussehen? Skizziert grob: def spaghetti(n): — welche Befehle gehören hinein, wo läuft die while-Schleife?
Genau diese Übersetzung übt ihr in den heutigen Aufgaben.