lehrkraefte:snr:informatik:glf22:wissens-check-nach-herbstferien

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:snr:informatik:glf22:wissens-check-nach-herbstferien [2022/10/27 19:57]
Olaf Schnürer
lehrkraefte:snr:informatik:glf22:wissens-check-nach-herbstferien [2022/10/27 20:26] (current)
Olaf Schnürer
Line 1: Line 1:
 ====== Was weisst du noch von vor den Herbstferien? ====== ====== Was weisst du noch von vor den Herbstferien? ======
  
-Wir testen dies durch "angeleitetes Programmieren". Dabei tauchen die wesentlichen Konzepte auf, die du hoffentlich gelernt hast...+Wir testen dies durch "angeleitetes Programmieren". Dabei tauchen die wesentlichen Konzepte auf, die du hoffentlich gelernt hast... :-)
  
-Es folgt eine schrittweise Anleitung zum Schreiben eines Programms, das vom Benutzer einen Satz erfragt und diesen 100 Mal in Slalom-Form ausgibt:+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> <code text>
Line 21: Line 21:
 ... ...
 </code> </code>
 +<WRAP center round todo>
  
   * (1) Öffne eine neue Datei ''slalom.py'' in Visual Studio Code in deinem Ordner mit den Python-Programmen.   * (1) Öffne eine neue Datei ''slalom.py'' in Visual Studio Code in deinem Ordner mit den Python-Programmen.
Line 52: Line 53:
 </code> </code>
 </hidden> </hidden>
 +</WRAP>
  
 ---- ----
Line 60: Line 62:
 </WRAP> </WRAP>
  
 +<WRAP center round todo>
   * (5) Ergänze am Ende des Programms eine for-Schleife, die den vom Benutzer eingegebenen Satz 100 Mal ausgibt.   * (5) Ergänze am Ende des Programms eine for-Schleife, die den vom Benutzer eingegebenen Satz 100 Mal ausgibt.
 <hidden Hinweis, wenn du for-Schleifen noch nicht kennst>Schreibe ''for index in range(100):'' in eine neue letzte Zeile und dann in die nächste Zeile zuerst 4 Leerschläge und dann den Befehl zur Ausgabe des Satzes. Bemerkung: for-Schleifen dienen dazu, dass ein gewisser (eingrückter) Codeblock mehrfach ausgeführt wird.</hidden> <hidden Hinweis, wenn du for-Schleifen noch nicht kennst>Schreibe ''for index in range(100):'' in eine neue letzte Zeile und dann in die nächste Zeile zuerst 4 Leerschläge und dann den Befehl zur Ausgabe des Satzes. Bemerkung: for-Schleifen dienen dazu, dass ein gewisser (eingrückter) Codeblock mehrfach ausgeführt wird.</hidden>
Line 70: Line 73:
     print(satz)     print(satz)
 </code> </code>
 +Statt ''i'' könnte man auch einen anderen neuen Variablennamen wie ''index'' für die Laufvariable verwenden.
 </hidden> </hidden>
  
Line 76: Line 80:
   * (7) Verändere den Befehl zur Ausgabe des Satzes so, dass vor dem Satz so viele Leerzeichen ausgegeben werden, wie die Variable ''einrueckung'' angibt. (Bitte wirklich die Variable verwenden und nicht einfach den aktuellen Wert - wie in der Infobox beschrieben, verändert sich der Wert von ''einrueckung'' während des Programmablaufs.)   * (7) Verändere den Befehl zur Ausgabe des Satzes so, dass vor dem Satz so viele Leerzeichen ausgegeben werden, wie die Variable ''einrueckung'' angibt. (Bitte wirklich die Variable verwenden und nicht einfach den aktuellen Wert - wie in der Infobox beschrieben, verändert sich der Wert von ''einrueckung'' während des Programmablaufs.)
 <hidden Hinweis>Rechnen mit Zeichenketten! <hidden Hinweis>Rechnen mit Zeichenketten!
-<hidden Hinweis>Nimme ''einrueckung'' mal die Zeichenkette, die nur aus einem Leerzeichen besteht, und addiere zu ihr die Variable ''satz''.</hidden></hidden>+<hidden Hinweis>Nimme ''einrueckung'' mal die Zeichenkette, die nur aus einem Leerzeichen besteht, und addiere dazu die Variable ''satz''.</hidden></hidden>
 <hidden Erwarteter Zustand des Programms:> <hidden Erwarteter Zustand des Programms:>
 <code python> <code python>
Line 90: Line 94:
   * (8) Teste dein Programm! Der Text sollte nun 100 Mal jeweils um 2 Leerzeichen eingerückt ausgegeben werden.   * (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, also eingerückt): Weise der Variablen ''einrueckung'' als neuen Wert diejenige Zahl zu, die aus dem aktuellen Wert von ''einrueckung'' durch Addition der Variablen ''veraenderung'' entsteht.   * (9) Neue letzte Zeile des Progamms (innerhalb der for-Schleife, also eingerückt): Weise der Variablen ''einrueckung'' als neuen Wert diejenige Zahl zu, die aus dem aktuellen Wert von ''einrueckung'' durch Addition der Variablen ''veraenderung'' entsteht.
-<hidden Hinweis:>Hier sollst du ein if-statement verwenden!</hidden> 
 <hidden Erwarteter Zustand des Programms:> <hidden Erwarteter Zustand des Programms:>
 <code python> <code python>
Line 103: Line 106:
  
 ---- ----
-  * (10) Teste dein Programm! Der Text sollte nun nach rechts wandern.+  * (10) Teste dein Programm! Der Text sollte nun immer weiter nach rechts wandern.
   * (11) Ergänze am Ende des Programm (innerhalb der for-Schleife): Wenn die Variable ''einrueckung'' den Wert ''5'' hat, so setze die Variable ''veraenderung'' auf ''-1''.   * (11) Ergänze am Ende des Programm (innerhalb der for-Schleife): Wenn die Variable ''einrueckung'' den Wert ''5'' hat, so setze die Variable ''veraenderung'' auf ''-1''.
 <hidden Hinweis:>Hier sollst du ein if-statement verwenden!</hidden> <hidden Hinweis:>Hier sollst du ein if-statement verwenden!</hidden>
Line 139: Line 142:
 ---- ----
   * (14) Teste dein Programm! Nun sollte alles klappen und der Slalomtext ausgegeben werden.   * (14) Teste dein Programm! Nun sollte alles klappen und der Slalomtext ausgegeben werden.
-  * (15) Wenn du eine langsamere Ausgabe erreichen willst: Schreibe ''import time'' ganz an den Anfang des Programms und ''time.sleep(0.05)'' ganz ans Ende des Programms (eingerückt oder nicht?)+  * (15) Zum Verzögern der Ausgabe: Schreibe ''import time'' ganz an den Anfang des Programms und ''time.sleep(0.05)'' (warte 0.05 Sekunden, also 5 Hundertstelsekunden) ganz ans Ende des Programms (eingerückt oder nicht?)
 <hidden Erwarteter Zustand des Programms:> <hidden Erwarteter Zustand des Programms:>
 <code python> <code python>
Line 158: Line 161:
  
 ---- ----
-  * (16) Bonusfrage: Wie kann man die beiden if-statements durch ein einziges if-statement ersetzen?+  * (15) Welche (besonders) wichtigen Kontrollstrukturen kommen in dem obigen Programm vor? 
 +<hidden Antwort:>Schleifen und if-statements</hidden> 
 + 
 +---- 
 +  * (16) Gib mir Bescheid, damit ich dir erkläre, wie man den Programmablauf schrittweise verfolgen kann! - Oder frage eine:n Mitschüler:in, die/der es bereits weiss. (Breakpoint direkt vor der Schleife setzen, Ausführen mit F5 (oder per Menü "Run"->"Start Debugging"((Debugging bedeutet Fehlersuche, vgl. https://de.wikipedia.org/wiki/Debuggen#Begriffsherkunft)), dann "F11" (oder Icon "Step into"). 
 + 
 +  * (17) Verfolge den Programmablauf schrittweise und beobachte die Werte der Variablen! Beobachte mindestens die ersten 10 Durchläufe der for-Schleife, so dass beide Code-Blocks der for-Schleife ausgeführt werden (und sich dabei die Variable ''veraenderung'' verändert)! 
 + 
 +Hoffentlich ist dir nun vollkommen klar, wie das gerade geschriebene Programm funktioniert und warum wir die beiden Variablen ''einrueckung'' und ''veraenderung'' verwenden. 
 + 
 +  * (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:> <hidden Antwort 1:>
 <code python> <code python>
Line 171: Line 186:
 </code> </code>
 </hidden> </hidden>
 +
 +</WRAP>
    
 +===== Link zur Kursseite =====
 +
 +[[lehrkraefte:snr:informatik:glf22|Zur Kursseite]]
 +
  • lehrkraefte/snr/informatik/glf22/wissens-check-nach-herbstferien.1666893471.txt.gz
  • Last modified: 2022/10/27 19:57
  • by Olaf Schnürer