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:06] – [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 150: | Zeile 159: | ||
Im Abschnitt **Grundlegendes zu Python** haben wir die folgenden Operatoren kennengelernt: | 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.1757088412.txt.gz · Zuletzt geändert: von lutz