neuerlehrplan:klasse10:verzweigungen
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
neuerlehrplan:klasse10:verzweigungen [2025/09/05 18:00] – [Verschachtelte Verzweigungen] lutz | neuerlehrplan:klasse10:verzweigungen [2025/09/12 16:50] (aktuell) – [Übungen] lutz | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
======Verzweigungen====== | ======Verzweigungen====== | ||
Häufig ist es notwendig, die Ausführung eines Algorithmus in Abhängigkeit von bestimmten Bedingungen zu verzweigen. Dazu verwendet man Alternativen bzw. Verzweigungen. Diese werden hier vorgestellt. | Häufig ist es notwendig, die Ausführung eines Algorithmus in Abhängigkeit von bestimmten Bedingungen zu verzweigen. Dazu verwendet man Alternativen bzw. Verzweigungen. Diese werden hier vorgestellt. | ||
+ | |||
+ | Die Beispiele aus diesem Abschnitt können in einem Jupyternotebook nachvollzogen werden. Es muss zusammen mit den Bilddateien vorher entpackt werden. | ||
+ | |||
+ | <WRAP center round download 60%> | ||
+ | {{ : | ||
+ | </ | ||
+ | |||
+ | Danach kann man das Notebook zusammen mit den Bildern z.B. bei https:// | ||
+ | |||
=====Einfache Verzweigung mit und ohne Alternative===== | =====Einfache Verzweigung mit und ohne Alternative===== | ||
Zeile 128: | Zeile 137: | ||
Wir wollen nun unser Beispiel erweitern. Nachdem wir festgestellt haben, dass die Zahl nicht negativ ist, soll noch festgestellt werden, ob die Zahl Null ist, oder ob die Zahl positiv ist. Im Struktogramm könnte der Algorithmus so aussehen: | Wir wollen nun unser Beispiel erweitern. Nachdem wir festgestellt haben, dass die Zahl nicht negativ ist, soll noch festgestellt werden, ob die Zahl Null ist, oder ob die Zahl positiv ist. Im Struktogramm könnte der Algorithmus so aussehen: | ||
+ | ===Beispiel 3=== | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | In diesem Struktogramm befindet sich im '' | ||
+ | |||
+ | <code python> | ||
+ | n = int(input(" | ||
+ | if n < 0: | ||
+ | print(" | ||
+ | print(" | ||
+ | else: | ||
+ | if n > 0: | ||
+ | print(" | ||
+ | else: | ||
+ | print(" | ||
+ | print(" | ||
+ | </ | ||
+ | |||
+ | ====Formulierung der Bedingung==== | ||
+ | |||
+ | Im Abschnitt **Grundlegendes zu Python** haben wir die folgenden Operatoren kennengelernt: | ||
+ | |||
+ | === Arithmetische Operatoren === | ||
+ | |||
+ | ^Operator ^Wirkung bei ^^^ | ||
+ | ^ ::: ^int ^float ^str ^ | ||
+ | ^ + |Addition|Addition|Verkettung| | ||
+ | ^ - |Subtraktion|Subtraktion| | | ||
+ | ^ * |Multiplikation|Multiplikation| | | ||
+ | ^ / |Division|Division| | | ||
+ | ^ %%//%% |ganzzahlige Division|ganzzahlige Division| | | ||
+ | ^ % |ganzzahliger Rest (Modulo) | Rest | | | ||
+ | ^ %%**%% | Potenzieren | Potenzieren, | ||
+ | |||
+ | === Vergleichsoperatoren === | ||
+ | |||
+ | ^Operator ^Wirkung^ | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | |||
+ | === Logische Operatoren === | ||
+ | |||
+ | ^Operator ^Wirkung^ | ||
+ | ^ A and B | ist wahr, wenn A und B wahr sind | | ||
+ | ^ A or B |ist wahr, wenn A oder B oder beide wahr sind | | ||
+ | ^ not A |ist wahr, wenn A nicht wahr (falsch) ist | | ||
+ | |||
+ | |||
+ | Diese Opratoren können benutzt werden um die Bedingung zu formulieren. Die Bedingung muss vom Datentyp **bool** sein. | ||
+ | |||
+ | Manchmal ist die Bedingung nich offensichtlich und man muss sich etwas einfallen lassen | ||
+ | |||
+ | ===Beispiel 4=== | ||
+ | |||
+ | "Die Zahl n ist durch 3 teilbar" | ||
+ | |||
+ | <code python> | ||
+ | n%3 == 0 | ||
+ | </ | ||
+ | |||
+ | =====Mehrfachverzweigung===== | ||
+ | |||
+ | In Python gibt es auch die Möglichkeit, | ||
+ | |||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | |||
+ | Wenn noch mehr Bedingungen nötig sind, wird die Verzweigung noch weiter verschachtelt und der Quellcode wird unübersichtlich. Deshalb hat man in Python die '' | ||
+ | |||
+ | <code python> | ||
+ | if Bedingung1: | ||
+ | ... Anweisungen ... | ||
+ | elif Bedingung2: | ||
+ | ... Anweisungen ... | ||
+ | elif Bedingung3: | ||
+ | ... Anweisungen ... | ||
+ | ... | ||
+ | else: | ||
+ | ... Anweisungen ... | ||
+ | </ | ||
+ | |||
+ | In Python würde das geänderte Beispiel 3 so aussehen: | ||
+ | |||
+ | |||
+ | ===Beispiel 4=== | ||
+ | |||
+ | |||
+ | <code python> | ||
+ | n = int(input(" | ||
+ | if n < 0: | ||
+ | print(" | ||
+ | print(" | ||
+ | elif n > 0: | ||
+ | print(" | ||
+ | print(" | ||
+ | else: | ||
+ | print(" | ||
+ | print(" | ||
+ | </ | ||
+ | |||
+ | Am Beispiel 4 möchte ich auch zeigen, wie man eine Mehrfachverzweigung im Struktogramm darstellt: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Übungen ===== | ||
+ | |||
+ | Im folgenden Jupyternotebook finden sich einige Übungsaufgaben zum Thema. | ||
+ | |||
+ | <WRAP center round download 60%> | ||
+ | {{ : | ||
+ | </ | ||
neuerlehrplan/klasse10/verzweigungen.1757088031.txt.gz · Zuletzt geändert: von lutz