Struktogramme



Hinter dem Programmieren steht eine bestimmte Logik, aber das dachtest du dir wohl schon. Diese Logik, man sagt dazu "Programmfluß", kannst du dir durch Struktogramme veranschaulichen. Zuvor überlegst du dir ganz schnell (5 Sekunden Bedenkzeit), welche drei Klassen von Anweisungen -sprich Befehlen- du kennst:

  1. ______________________________________________

  2. ______________________________________________

  3. ______________________________________________

Richtig, sehr gut, es sind Verzweigungen, Schleifen und -der einfachste Fall- "eine Anweisung nach der anderen". Für das letztere hat man den schönen Namen "linearer Programmfluß" gewählt, auf das einen auch ja niemand versteht! Und zur Belohnung hier gleich das Beispiel:

Struktogramm Python-Programm
Ein Struktogramm!
zaehler = 1
eingabe = ''
while (zaehler <= 3 and eingabe != 'MIEHEG'):
   # Einrückungen beachten!
   print('Passwortabfrage')
   eingabe = input('Passwort: ')
   if (eingabe == 'MIEHEG'):
       print('Hallo')
   else:
      print('sträwkcür gehts!')
   zaehler = zaehler + 1

Erklärungen zum Beispiel:

Struktogramm Erklärung
Anweisungen . . . Struktogramme sind ineinander verschachtelte Rechtecke. Willst du ein Struktogramm verfeinern, so zeichnest du einfach in das Struktogramm ein weiteres hinein, das dann angibt, was du -b.z.w. dein Programm- tun soll(st). Links siehst du den einfachsten Typ: erst wird Anweisung 1 ausgeführt, dann Anweisung 2, u. s. w.
Aufgabe: Gib zum Struktogramm (irgend)ein Python-Programm an.
Fallunterscheidung Das Struktogramm zur einseitigen Verzweigung, hier wird der if-Zweig ausgeführt, falls die Bedingung wahr ist. Sonst -siehe das ∅-Zeichen- passiert nichts! Im Beispiel oben haben wir die zweiseitige Verzweigung benutzt.
Aufgabe (wie eben): Gib zum Struktogramm ein Python-Skript an.
Schleife(n) Und dann war da noch die Schleife . Solange die Bedingung wahr ist, wird die Anweisung im Schleifenrumpf ausgeführt, wobei du für die Anweisung wieder ein beliebiges Struktogramm einsetzen darfst (klar?). Auch hier bitte ein Python-Programm schreiben (= Aufgabe!).

Aufgaben

  1. Wie unterscheiden sich die Struktogramme zur einseitigen beziehungsweise zweiseitigen Verzweigung?
  2. Ein Euro-Betrag soll in den entsprechenden £-Betrag umgerechnet werden! Zeichne ein Struktogramm zu deinem Euro-Umrechner (Euro → £, Umrechnungskurs: 1 Euro = 0,85 £)
  3. Der Führerscheintest: in Abhängigkeit von deinem Alter gibt das Programm aus: "Ja, du darfst den Führerschein machen." oder "Sorry, du bleibst in der Warteschleife!" Zeichne für dieses Problem ein Struktogramm.
  4. Der Blues ist schon da: Schreibe zu deinem Blues-Skript vom letzten Mal ein Struktogramm!
  5. Schreibe zu Aufgabe 2 oder Aufgabe 3 ein Python-Programm!

Hinweis

Die Struktogramme wurden mit dem webbasierten Struktogrammeditor der TU Dresden erzeugt: struktog


→ sp, 2023-07-26