L Lyrnify

Flussdiagramm: Spaghetti & Spaghetti Napoletana

lock
Bevorstehend

Zwei Flussdiagramme zum Besprechen: Spaghetti kochen mit Schleife — und Spaghetti Napoletana mit Unterprogramm-Aufruf. Symbole erkennen, Schleife erklären, Wiederverwendung verstehen.

Ziele dieses Moduls
  • 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).

Flussdiagramm: links Spaghetti kochen mit Al-dente-Schleife, rechts Spaghetti Napoletana mit Unterprogramm-Aufruf Spaghetti (n)

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:

  1. Welche Symbole erkennt ihr — und wofür stehen sie?
  2. Wo läuft das Programm in einer Schleife? Wie endet sie?
  3. 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 Aufruf spaghetti(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.