Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| lehrkraefte:snr:informatik:glf22:wissens-check-nach-herbstferien [2022/10/27 17:56] – Olaf Schnürer | lehrkraefte:snr:informatik:glf22:wissens-check-nach-herbstferien [2022/10/27 18:26] (current) – Olaf Schnürer | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Was weisst du noch von vor den Herbstferien? | ||
| + | |||
| + | Wir testen dies durch " | ||
| + | |||
| + | In den Aufgabenboxen unten folgt eine schrittweise Anleitung zum Schreiben eines Programms, das vom Benutzer einen Satz erfragt und diesen 100 Mal in Slalom-Form ausgibt: | ||
| + | |||
| + | <code text> | ||
| + | Gib einen Satz ein: Schleifen sind cool! | ||
| + | Schleifen sind cool! | ||
| + | | ||
| + | Schleifen sind cool! | ||
| + | | ||
| + | Schleifen sind cool! | ||
| + | | ||
| + | Schleifen sind cool! | ||
| + | | ||
| + | Schleifen sind cool! | ||
| + | | ||
| + | Schleifen sind cool! | ||
| + | | ||
| + | ... | ||
| + | </ | ||
| + | <WRAP center round todo> | ||
| + | |||
| + | * (1) Öffne eine neue Datei '' | ||
| + | <hidden Hinweis> | ||
| + | |||
| + | ---- | ||
| + | * (2) Eingabe des Satzes durch den Benutzer: Schreibe in die erste Zeile den Befehl, der vom Benutzer den Satz erfragt (per "Gib einen Satz ein: ") und diesen in einer Variablen namens '' | ||
| + | <hidden Hinweis> | ||
| + | <hidden Erwarteter Zustand des Programms:> | ||
| + | <code python> | ||
| + | satz = input(" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | * (3) Definiere in der zweiten Zeile eine Variable '' | ||
| + | <hidden Erwarteter Zustand des Programms:> | ||
| + | <code python> | ||
| + | satz = input(" | ||
| + | einrueckung = 2 | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | * (4) Definiere in der dritten Zeile eine Variable '' | ||
| + | <hidden Erwarteter Zustand des Programms:> | ||
| + | <code python> | ||
| + | satz = input(" | ||
| + | einrueckung = 2 | ||
| + | veraenderung = 1 | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | <WRAP center round info> | ||
| + | Die Idee hinter diesen beiden Variablen: Sie werden verwendet, um den Slalomtext zu erzeugen: | ||
| + | * Bei jeder der 100 Ausgaben müssen wir wissen, wie viele Leerzeichen vor dem Satz ausgegeben werden sollen. Diese Zahl wird in der Variable '' | ||
| + | * Die Variable '' | ||
| + | </ | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | * (5) Ergänze am Ende des Programms eine for-Schleife, | ||
| + | <hidden Hinweis, wenn du for-Schleifen noch nicht kennst> | ||
| + | <hidden Erwarteter Zustand des Programms:> | ||
| + | <code python> | ||
| + | satz = input(" | ||
| + | einrueckung = 2 | ||
| + | veraenderung = 1 | ||
| + | for i in range(100): | ||
| + | print(satz) | ||
| + | </ | ||
| + | Statt '' | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | * (6) Teste dein Programm! | ||
| + | * (7) Verändere den Befehl zur Ausgabe des Satzes so, dass vor dem Satz so viele Leerzeichen ausgegeben werden, wie die Variable '' | ||
| + | <hidden Hinweis> | ||
| + | <hidden Hinweis> | ||
| + | <hidden Erwarteter Zustand des Programms:> | ||
| + | <code python> | ||
| + | satz = input(" | ||
| + | einrueckung = 2 | ||
| + | veraenderung = 1 | ||
| + | for i in range(100): | ||
| + | print(einrueckung * " " + satz) | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | * (8) Teste dein Programm! Der Text sollte nun 100 Mal jeweils um 2 Leerzeichen eingerückt ausgegeben werden. | ||
| + | * (9) Neue letzte Zeile des Progamms (innerhalb der for-Schleife, | ||
| + | <hidden Erwarteter Zustand des Programms:> | ||
| + | <code python> | ||
| + | satz = input(" | ||
| + | einrueckung = 2 | ||
| + | veraenderung = 1 | ||
| + | for i in range(100): | ||
| + | print(einrueckung * " " + satz) | ||
| + | einrueckung = einrueckung + veraenderung | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | * (10) Teste dein Programm! Der Text sollte nun immer weiter nach rechts wandern. | ||
| + | * (11) Ergänze am Ende des Programm (innerhalb der for-Schleife): | ||
| + | <hidden Hinweis:> | ||
| + | <hidden Erwarteter Zustand des Programms:> | ||
| + | <code python> | ||
| + | satz = input(" | ||
| + | einrueckung = 2 | ||
| + | veraenderung = 1 | ||
| + | for i in range(100): | ||
| + | print(einrueckung * " " + satz) | ||
| + | einrueckung = einrueckung + veraenderung | ||
| + | if einrueckung == 5: | ||
| + | veraenderung = -1 | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | * (12) Teste dein Programm! Der Text sollte nun einmal nach rechts und dann nach links wandern. | ||
| + | * (13) Ergänze am Ende des Programm: Wenn die Variable '' | ||
| + | <hidden Erwarteter Zustand des Programms:> | ||
| + | <code python> | ||
| + | satz = input(" | ||
| + | einrueckung = 2 | ||
| + | veraenderung = 1 | ||
| + | for i in range(100): | ||
| + | print(einrueckung * " " + satz) | ||
| + | einrueckung = einrueckung + veraenderung | ||
| + | if einrueckung == 5: | ||
| + | veraenderung = -1 | ||
| + | if einrueckung == 0: | ||
| + | veraenderung = 1 | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | * (14) Teste dein Programm! Nun sollte alles klappen und der Slalomtext ausgegeben werden. | ||
| + | * (15) Zum Verzögern der Ausgabe: Schreibe '' | ||
| + | <hidden Erwarteter Zustand des Programms:> | ||
| + | <code python> | ||
| + | import time | ||
| + | satz = input(" | ||
| + | einrueckung = 2 | ||
| + | veraenderung = 1 | ||
| + | for i in range(100): | ||
| + | print(einrueckung * " " + satz) | ||
| + | einrueckung = einrueckung + veraenderung | ||
| + | if einrueckung == 5: | ||
| + | veraenderung = -1 | ||
| + | if einrueckung == 0: | ||
| + | veraenderung = 1 | ||
| + | time.sleep(0.05) | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | * (15) Welche (besonders) wichtigen Kontrollstrukturen kommen in dem obigen Programm vor? | ||
| + | <hidden Antwort:> | ||
| + | |||
| + | ---- | ||
| + | * (16) Gib mir Bescheid, damit ich dir erkläre, wie man den Programmablauf schrittweise verfolgen kann! - Oder frage eine:n Mitschüler: | ||
| + | |||
| + | * (17) Verfolge den Programmablauf schrittweise und beobachte die Werte der Variablen! Beobachte mindestens die ersten 10 Durchläufe der for-Schleife, | ||
| + | |||
| + | Hoffentlich ist dir nun vollkommen klar, wie das gerade geschriebene Programm funktioniert und warum wir die beiden Variablen '' | ||
| + | |||
| + | * (18) Bearbeite das Skript weiter (oder beantworte zuvor die folgende Bonusfrage). | ||
| + | |||
| + | * (19) Bonusfrage: Wie kann man die beiden if-statements durch ein einziges if-statement ersetzen? | ||
| + | <hidden Antwort 1:> | ||
| + | <code python> | ||
| + | if einrueckung == 5 or einrueckung = 0: | ||
| + | veraenderung = -veraenderung | ||
| + | </ | ||
| + | </ | ||
| + | <hidden Antwort 2:> | ||
| + | <code python> | ||
| + | if einrueckung % 5 == 0: | ||
| + | veraenderung = -veraenderung | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||
| + | ===== Link zur Kursseite ===== | ||
| + | |||
| + | [[lehrkraefte: | ||