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:python:if-then [2021/09/13 16:35] – Olaf Schnürer | lehrkraefte:snr:informatik:python:if-then [2021/09/29 12:34] (current) – [Aufgaben zu for-Schleifen und if-Selektion] Olaf Schnürer | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== if-Selektion ====== | ||
| + | |||
| + | Oft sollen gewisse Programmteile nur unter gewissen Bedingungen ausgeführt werden. | ||
| + | Das geht in Python durch '' | ||
| + | |||
| + | <WRAP round todo> | ||
| + | Das folgende Programm illustriert die zwei häufigsten Verwendungen der '' | ||
| + | |||
| + | <code python> | ||
| + | t = inputInt(" | ||
| + | |||
| + | if t >= 100: | ||
| + | print(" | ||
| + | |||
| + | if t < 0: | ||
| + | print(" | ||
| + | else: | ||
| + | print(" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP round info> | ||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | Einrückungen und Doppelpunkte sind wichtig! Wie bei Schleifen sind sie eine beliebte Fehlerquelle! | ||
| + | |||
| + | </ | ||
| + | |||
| + | <WRAP round info> | ||
| + | '' | ||
| + | <code python> | ||
| + | t = inputInt(" | ||
| + | |||
| + | if t >= 120: | ||
| + | print(" | ||
| + | else: | ||
| + | if t < 0: | ||
| + | print(" | ||
| + | else: | ||
| + | print(" | ||
| + | </ | ||
| + | Quelle: Zwei Stunden Tageslicht pro Tag minimieren laut wissenschaftlicher Studien das Risiko, kurzsichtig zu werden, siehe [[https:// | ||
| + | |||
| + | Hier bietet Python auch die Möglichkeit, | ||
| + | <code python> | ||
| + | t = inputInt(" | ||
| + | |||
| + | if t >= 120: | ||
| + | print(" | ||
| + | elif t < 0: | ||
| + | print(" | ||
| + | else: | ||
| + | print(" | ||
| + | </ | ||
| + | Hier sind auch längere Fallunterscheidungen per '' | ||
| + | </ | ||
| + | |||
| + | <WRAP round todo> | ||
| + | Schreibe ein Programm, das vom Benutzer eine Temperaturangabe einliest und dann mitteilt, ob es '' | ||
| + | </ | ||
| + | |||
| + | ===== Aufgaben zur if-Selektion ===== | ||
| + | |||
| + | <WRAP round todo> | ||
| + | Schreibe ein Programm, dass vom Benutzer zwei Zahlen $a$ und $b$ einliest. Zuerst soll ausgegeben werden, wie viele Lösungen die (lineare) Gleichung $aX+b=0$ hat. Danach sollen alle Lösungen angegeben werden. | ||
| + | |||
| + | Alle Spezialfälle sind zu behandeln (denke an $0X+1=0$ und $0X+0=0$). | ||
| + | </ | ||
| + | |||
| + | <hidden Aufgabe, falls die Lösungsformel für quadratische Gleichungen bekannt ist (Mitternachtsformel, | ||
| + | <WRAP round todo> | ||
| + | Schreibe das entsprechende Programm für quadratische Gleichungen $aX^2+bX+c$. | ||
| + | |||
| + | Auch hier sind alle Spezialfälle zu behandeln (etwa $a=0$; $a\not=0$, Diskriminante negativ; etc.)! | ||
| + | |||
| + | Statt die Werte vom Benutzer einzulesen, kannst Du das folgende Programmfragment ausbauen: | ||
| + | <code python> | ||
| + | a = 4 | ||
| + | b = 2 | ||
| + | c = -3 | ||
| + | print(" | ||
| + | # Erklärung: %+f fügt auf jeden Fall ein Vorzeichen hinzu (+ oder -). | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | 2aLM bis hier 22.09.2021 | ||
| + | |||
| + | ===== Aufgaben zu for-Schleifen und if-Selektion ===== | ||
| + | |||
| + | <WRAP round todo> | ||
| + | Schreibe ein Programm, dass alle Teiler einer (am Anfang des Programms definierten) Zahl ausgibt! Ausserdem soll am Ende ausgegeben werden, wie viele Teiler diese Zahl hat. | ||
| + | |||
| + | Erinnerung: '' | ||
| + | </ | ||
| + | |||
| + | <WRAP round todo> | ||
| + | Schreibe ein Programm, dass alle Primzahlen von 1 bis zu einer gegebenen Zahl (etwa '' | ||
| + | |||
| + | Hinweis: Hier führt wohl kein Weg an einer verschachtelten '' | ||
| + | |||
| + | Um alle Primzahlen übersichtlich in einer Zeile auszugeben: Baue in der '' | ||
| + | |||
| + | <hidden Wer noch Lust auf mehr Mathematik hat> | ||
| + | Gib die Primzahlen nun zeilenweise aus und schreibe bei jeder Primzahl zwei Informationen hinzu: | ||
| + | * Welchen Rest hat sie bei Division durch 4. | ||
| + | * Ist sie als Summe zweier Quadratzahlen darstellbar? | ||
| + | Die Ausgabe könnte wie folgt aussehen: | ||
| + | <code text> | ||
| + | ... | ||
| + | 29 | Rest 1 | ja: 29 = 25 + 4 | ||
| + | 31 | Rest 3 | nein | ||
| + | ... | ||
| + | </ | ||
| + | Fällt dir etwas auf? | ||
| + | <hidden Wenn ja, hast du vermutlich den hier versteckten Satz empirisch entdeckt:> | ||
| + | [[https:// | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | 2aLM und 2dNP bis hier am 29.09.2021, manche an obiger Primzahlliste, | ||
| + | |||
| + | |||
| + | ===== Link zur Kursseite ===== | ||
| + | |||
| + | [[lehrkraefte: | ||