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:bruehl-2022:schleifen [2022/03/27 13:05] – [Hausaufgabe] Olaf Schnürer | lehrkraefte:snr:informatik:bruehl-2022:schleifen [2022/03/29 14:57] (current) – [Aufgabe 1, erste Erfahrungen mit ''while''-Schleifen] Olaf Schnürer | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ~~NOTOC~~ | ||
| + | |||
| + | ====== Schleifen | ||
| + | |||
| + | Besprechung der Hausaufgabe (bei 1c evtl. Quiz besprechen). | ||
| + | ===== Lernziele heute ===== | ||
| + | |||
| + | * '' | ||
| + | * ... und wie man diese sinnvoll verwendet | ||
| + | |||
| + | <WRAP center round info 100%> | ||
| + | |||
| + | In Python gibt es drei Arten von Schleifen alias Möglichkeiten, | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * < | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== '' | ||
| + | |||
| + | <WRAP center round box 100%> | ||
| + | Motivierende Beispiele: | ||
| + | |||
| + | <code text> | ||
| + | Solange Suppenteller nicht leer: | ||
| + | Iss einen Löffel Suppe! | ||
| + | Putze deine Zähne! | ||
| + | </ | ||
| + | |||
| + | Was ist hier das Problem? | ||
| + | <code text> | ||
| + | Solange Suppenteller nicht leer: | ||
| + | Schreibe eine Email! | ||
| + | Putze deine Zähne! | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | <WRAP center round info 100%> | ||
| + | Eine '' | ||
| + | <code python> | ||
| + | while < | ||
| + | < | ||
| + | wie die Ausführ-Bedingung erfüllt ist. | ||
| + | Dieser Code-Block ist um vier Leerschläge eingerückt> | ||
| + | </ | ||
| + | |||
| + | Vergleich mit '' | ||
| + | </ | ||
| + | |||
| + | ===== Aufgabe 1, erste Erfahrungen mit '' | ||
| + | |||
| + | <WRAP center round todo 100%> | ||
| + | **Einzelarbeit, | ||
| + | |||
| + | * Teste das folgende Programm. | ||
| + | * Was passiert und warum passiert dies, wenn du die letzte Zeile nicht einrückst? | ||
| + | * Was passiert, wenn du die beiden letzten Zeile miteinander vertauschst? | ||
| + | * < | ||
| + | </ | ||
| + | <code python> | ||
| + | x = 0 | ||
| + | while x < 20: | ||
| + | print(x) | ||
| + | x = x + 3 | ||
| + | </ | ||
| + | |||
| + | Bearbeite dann die nächste Aufgabe. | ||
| + | </ | ||
| + | |||
| + | ===== Aufgabe 2, selbst ein Programm mit '' | ||
| + | |||
| + | <WRAP center round todo 100%> | ||
| + | **Einzelarbeit, | ||
| + | |||
| + | Schreibe ein Programm (mit einer '' | ||
| + | |||
| + | Bearbeite dann die nächste Aufgabe. | ||
| + | </ | ||
| + | |||
| + | ===== Aufgabe 3, Quadratzahlen ausgeben ===== | ||
| + | |||
| + | <WRAP center round todo 100%> | ||
| + | **Einzelarbeit, | ||
| + | |||
| + | Schreibe ein Programm (mit einer '' | ||
| + | |||
| + | Hinweis: Schreibe zuerst ein Programm, dass alle Zahlen von 1 bis '' | ||
| + | <code text> | ||
| + | 1 | ||
| + | 4 | ||
| + | 9 | ||
| + | 16 | ||
| + | 25 | ||
| + | 36 | ||
| + | 49 | ||
| + | 64 | ||
| + | 81 | ||
| + | 100 | ||
| + | 121 | ||
| + | 144 | ||
| + | 169 | ||
| + | </ | ||
| + | |||
| + | Bearbeite dann die nächste Aufgabe. | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Aufgabe 4, Turtle-Steuerung (etwas schwieriger) ===== | ||
| + | |||
| + | <WRAP center round todo 100%> | ||
| + | **Einzelarbeit, | ||
| + | | ||
| + | Schreibe mit Hilfe einer '' | ||
| + | * Gibt der Benutzer '' | ||
| + | * Gibt der Benutzer '' | ||
| + | * Gibt der Benutzer '' | ||
| + | * Bei allen andere Eingaben soll im Ausgabefenster (das Fenster in Tigerjython unter dem Programmcode) '' | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Bonusaufgabe, | ||
| + | |||
| + | <WRAP center round todo 100%> | ||
| + | **Einzelarbeit, | ||
| + | | ||
| + | Schreibe mit Hilfe einer '' | ||
| + | |||
| + | Beispiel: Bei Eingabe 10 soll die Ausgabe lauten: | ||
| + | <code text> | ||
| + | Die Summe der Zahlen von 1 bis | ||
| + | 10 | ||
| + | ist | ||
| + | 55 | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Hausaufgabe ===== | ||
| + | |||
| + | <WRAP center round todo 100%> | ||
| + | Lerne auf die Prüfung! | ||
| + | |||
| + | * Beachte die Lösungsvorschläge, | ||
| + | * Die Lernziele und Hinweise zur Prüfungsvorbereitung stehen am [[lehrkraefte: | ||
| + | * Bitte melden, wenn Lösungen fehlen oder unklar sind oder sonstige Fragen aufkommen. Am schnellsten geht das über meine Email-Adresse an der Kanti am Burggraben | ||
| + | <WRAP center round box 60%> | ||
| + | MeinVorname.MeinNachname@ksbg.ch | ||
| + | </ | ||
| + | (Meine Brühl-Email-Adresse und Teams checke ich etwas seltener. Mein Name steht unten rechts auf dieser Seite.) | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Zusammenfassung ===== | ||
| + | |||
| + | <hidden Erst selbst überlegen!> | ||
| + | * Ich weiss, wie eine '' | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Fragebox - auch zum Besprechen von Programmen während der Lektion (NICHT für Hausaufgaben) ===== | ||
| + | |||
| + | Bitte einfach am Anfang des Programms oder der eingereichten Datei die Frage aufschreiben (mit oder ohne Hashtag ''#'' | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | |||
| + | |||
| + | ===== Lösungsvorschläge ===== | ||
| + | |||
| + | <hidden Aufgabe 1> | ||
| + | Es wird jeweils nur der eingerückte Code-Block mehrfach ausgeführt. Wie immer werden die Zeilen der Reihe nach von oben abgearbeitet. | ||
| + | * Nur einmal am Ende wird der Wert der Variablen '' | ||
| + | * Jeweils zuerst Ausgabe, dann Erhöhung um 3. Erste Ausgabe ist dann 0. | ||
| + | * Endlosschleife, | ||
| + | </ | ||
| + | |||
| + | <hidden Aufgabe 2> | ||
| + | <code python> | ||
| + | x = 5 | ||
| + | while x <= 19: | ||
| + | print(x) | ||
| + | x = x + 1 | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <hidden Aufgabe 3> | ||
| + | <code python> | ||
| + | a = input(" | ||
| + | x = 1 | ||
| + | while x <= a: | ||
| + | print(x * x) | ||
| + | x = x + 1 | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <hidden Aufgabe 4> | ||
| + | <code python> | ||
| + | from gturtle import * | ||
| + | makeTurtle() | ||
| + | |||
| + | eingabe = input(" | ||
| + | while eingabe != " | ||
| + | if eingabe == " | ||
| + | forward(50) | ||
| + | left(90) | ||
| + | elif eingabe == " | ||
| + | forward(50) | ||
| + | right(90) | ||
| + | else: | ||
| + | print(" | ||
| + | eingabe = input(" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <hidden Bonusaufgabe> | ||
| + | <code python> | ||
| + | a = input(" | ||
| + | summe = 0 | ||
| + | x = 1 | ||
| + | while x <= a: | ||
| + | summe = summe + x | ||
| + | x = x + 1 | ||
| + | print(" | ||
| + | print(a) | ||
| + | print(" | ||
| + | print(summe) | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== Link zur Kursseite ===== | ||
| + | |||
| + | [[lehrkraefte: | ||
| + | |||