flowchart TB A[Start] --> B(Round)
3 Flowcharts / Ablaufdiagramme
Inhalte stammen von (RaspberryPi-Foundation), lizensiert unter
Mit Flowcharts ist es möglich Programme oder Algorithmen visuell darzustellen. Wir beschränken uns vorerst auf folgende Symbole:
Form | Aktion | Beschreibung |
---|---|---|
Start & Ende | Jedes Programm hat einen Anfang und ein Ende | |
Ablaufrichtung | Die Bausteine werden mit Pfeilen verbunden, welche die Programmablaufrichtung angeben. | |
Ablaufrichtung | Entweder es wird eine Info an den Benutzer ausgegeben oder es wird eine Benutzereingabe verlangt. | |
Prozessschritt | Hier wird im Programm etwas berechnet. |
TODO: Beispiel fertigstellen
3.1 Aufgaben
3.1.1 Aufgabe: Flow Chart in ein Python Programm übersetzen
Schau dir folgendes Flowchart an und programmiere den Ablauf in Python aus. Erstelle dazu in deinem Workspace eine neue Datei mit dem Namen flowchart_01_[DeinNachname].py
flowchart TB id1([Start])-->id2[/Output: Hallo, ich bin Harald und ich komme vom Planeten X287./] id2-->id3[/Output: Wie ist dein Name?/] id3-->id4[/Input: name/] id4-->id5[/"Output: Servus {name}. Ich komme aus dem Jahr 2250 und bin 20 Jahre alt."/] id5-->id6[/Input: alter/] id6-->id7["alterZukunft=alter+(2250-2025)"] id7-->id8[/"Wow, im Jahr 2250, wirst du {alterZukunft} Jahre alt sein. Das ist wirklich alt"/] id8-->id9[/"Output: Welche Art von Musik hörst du?"/] id9-->id10[/Input: musik/] id10-->id11[/"Output: Ich habe noch nie von {musik} gehört! Nun muss ich wieder zurück nach Hause. Machs gut {name}. Bis bald!"/]
Hast du keine Ahnung mehr wie das alles funktionert? Dann lies dir nochmal das Kapitel Chapter 2 durch.
Folgende Fehler könnten dir beim programmieren passieren: - Fehlende Klammern - Fehler bei der Groß- und Kleinschreibung, z.B. Print
statt print
- Falsche Einrückungen - Bei Texten fehlen die Double Quotes die den Text einfassen "Ich bin ein Text und werde von Gänsefüsschen oben umfasst"
. - Bei der Ausgabe von Variablenwerten mit print("{variable}")
fehlt das f: pring(f"{variable})
. Man nennt das übrigens f-string. - Du hast ein Variable mit einem Namen intitialisert und dieser einen Wert zugewiesen, schreibst den Variablennamen später aber falsch, bzw. nicht gleich. - Fehlendes Casting einer Zahl int()
wenn mit input()
die Eingabe einer Zahl erforderlich ist, z.B.: `alter=int(input(“Wie alt bist du?”))
Zeige mir das Programm, wenn du fertig bist!
3.1.2 Aufgabe: Flow Chart für einen Programmablauf erstellen
Die Aufgabe wurde von (RaspberryPi-Foundation) übernommen und abgeändert. Lizensiert mit
du sollst nun ein eigens Flowchart erstellen, welches den Programmablauf eines Gedankenlese-Mathetrick’s darstellt. Du musst den richtigen Ablauf für diesen Mathetrick entwickeln und über alle Variablen, Eingaben und Ausgaben nachdenken, die dafür benötigt werden.
3.1.2.1 Der Ablauf für den Gedankenlese Trick ist wie folgt:
- Wähle eine Zahl zwischen 1 und 10: Nennen wir diese Zahl ( x ).
- Multipliziere die Zahl mit 2: Jetzt hast du ( 2x ).
- Multipliziere die neue Zahl mit 5: Das ergibt ( 10x ).
- Teile die aktuelle Zahl durch die ursprüngliche Zahl: ( = 10 ).
- Ziehe 7 von der aktuellen Zahl ab: ( 10 - 7 = 3 ).
Egal, mit welcher Zahl du anfängst, du wirst immer bei 3 landen!
3.1.2.2 Anweisungen
- Erstelle nun in deinem Workspace eine neue Datei mit dem Namen
flowchart_02_[DeinNachname].py
. - Danach gehst du auf die Webseite Mermaid Charts. Wir schauen uns gemeinsam an, wie man mit Mermaid ein Flussdiagramm erstellt.
- Erstelle das Flowchart für den Zaubertrick und beachte folgende Hinweise
Dein Programm muss für den Spieler aufregend sein. Überlege dir, welche zusätzlichen Dinge du in dein Programm einbauen kannst, um es zu verbessern. Hier sind einige Ideen:
- Stelle dich vor und frage den Spieler nach seinem Namen. Zum Beispiel: „Ich bin die große Magierin Mystical Meredith. Wie heißt du?“
- Antworte mit: „Willkommen {Name}, ich werde einen Gedanken-Trick an dir vorführen.“
- Gib deinem Spieler etwas Zeit zum Nachdenken, indem du verlangst, dass die Eingabetaste gedrückt wird, bevor Mystical Merediths Vermutung enthüllt wird.
- Füge einen Prozesschritt hinzu, um es so erscheinen zu lassen, als ob Mystical Meredith nachdenkt. Im Prozesschritt (Rechteck) schreibst du z.B. ‘Warten für 10 Sekunden’ als Beschreibung hinen.
Obwohl die Antwort auf diesen Trick immer 3 ist, sollte dein Programm die Antwort basierend auf der Eingabe berechnen, die der Spieler zu Beginn des Tricks gegeben hat. Die Antwort sollte basierend auf deiner Berechnung enthüllt werden.
Checkliste – Dein Flussdiagramm für das Programm sollte:
- Mystical Meredith vorstellen
- Nach dem Namen des Spielers fragen
- Den Namen des Spielers wiederholen
- Nach einer Zahl zwischen 1 und 10 fragen
- Die endgültige Zahl basierend auf dem Skript berechnen
- Die „Vermutung“ dem Benutzer basierend auf der Berechnung mitteilen
- „Theater“ einbauen, um es aufregend zu machen ```
Viel Spaß beim Programmieren und Vorführen des Tricks! 😊
Wenn du fertig bist, erledige folgende Schritte: 1. Kopiere den Code von der Mermaid Seite in die Datei flowchart_02_[DeinNachname].py
. Dieser Codeteil soll as Kommentar ausgezeichnet werden. Dazu musst du vor und nach dem eingefügten Code """
drei Double Quotes einfügen. 2. Mache auf der Mermaid Seite einen Screenshot vom ganzen Fenster (Code+Diagrammvorschau) und speicher diesen in deinem Workspace Ordner mit dem Namen flowchart_02_[DeinNachname].png
. JPG als Dateiendung ist auch ok!
Zeige mir alles, wenn du fertig bist!
3.1.3 Aufgabe: Zaubertrick programmieren
Verwende nun dein Flowchart, von der letzten Aufgabe, und setze den Mathetrick wie von dir dargestellt in der Datei flowchart_02_[DeinNachname].py
als Python Programm um.
Um den Benutzer zu veranlassen, die Eingabetaste zu drücken, musst du einfach
input()
in eine eigene Zeile schreiben. Dies wartet auf eine Eingabe, bevor es zur nächsten Anweisung übergeht.Wir haben eine Prozesschritt, der den Programmablauf verzögert, um es so wirken zu lassen, ab ols Meredith nachdenkt. Das kann man mit
time.sleep(sek)
machen, Schau dazu auf Tutorial zu Verzögerungen nach wie das funktioniert. Wichtig: Dazu mussimport time
am Programmanfang eingefügt werden.
Arithmetische Operationen in Python, die du kennen solltest:
Addition: | + |
Subtraktion: | - |
Multiplikation: | * |
Division: | / |
Zeige mir das Programm, wenn du fertig bist!