Benutzer-Werkzeuge

Webseiten-Werkzeuge


neuerlehrplan:klasse10:verzweigungen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
neuerlehrplan:klasse10:verzweigungen [2025/09/05 18:03] – [Verschachtelte Verzweigungen] lutzneuerlehrplan: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%>
 +{{ :neuerlehrplan:klasse10:verzweigungen.zip |Notebook Verzweigungen}}
 +</WRAP>
 +
 +Danach kann man das Notebook zusammen mit den Bildern z.B. bei https://jupyter.org/try -> JupyterLab hochladen und öffnen.
 +
  
 =====Einfache Verzweigung mit und ohne Alternative===== =====Einfache Verzweigung mit und ohne Alternative=====
Zeile 134: Zeile 143:
 In diesem Struktogramm befindet sich im ''%%else%%''-Zweig eine weitere Verzweigung. Hier rückt man den Quelltext nach dem inneren ''%%if%%'' bzw. ''%%else%%'' noch weiter ein. In diesem Struktogramm befindet sich im ''%%else%%''-Zweig eine weitere Verzweigung. Hier rückt man den Quelltext nach dem inneren ''%%if%%'' bzw. ''%%else%%'' noch weiter ein.
  
 +<code python>
 +n = int(input("n = "))
 +if n < 0:
 +    print("Die Zahl n ist negativ.")
 +    print("Betrag von n:", -n)
 +else:
 +    if n > 0:
 +        print("Die Zahl n ist positiv.")
 +    else:
 +        print("Die Zahl n ist Null.")
 +    print("Betrag von n:", n)
 +</code>
 +
 +====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, Radizieren | |
 +
 +=== Vergleichsoperatoren ===
 +
 +^Operator ^Wirkung^
 +^ ''%%>%%'' | größer |
 +^ ''%%<%%'' | kleiner |
 +^ ''%%>=%%'' | größer gleich |
 +^ ''%%<=%%'' | kleiner gleich |
 +^ ''%%==%%'' | gleich |
 +^ ''%%!=%%'' | ungleich |
 +
 +=== 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" kann man auch formulieren als "Die Zahl n lässt bei der Division durch 3 den Rest 0" und dass lässt sich in Python ausdrücken als:
 +
 +<code python>
 +n%3 == 0
 +</code>
 +
 +=====Mehrfachverzweigung=====
 +
 +In Python gibt es auch die Möglichkeit, in eine Verzweigung mehrere Bedingenungen einzugeben. Im Beispiel zu verschachtelten Verweigungen gibt es insgesamt drei Bedingungen:
 +
 +- ''%%n > 0%%''
 +- ''%%n == 0%%''
 +- ''%%n < 0%%''
 +
 +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 ''%%if-elif- else%%''-Anweisung eingeführt:
 +
 +<code python>
 +if Bedingung1:
 +    ... Anweisungen ...
 +elif Bedingung2:
 +    ... Anweisungen ...
 +elif Bedingung3:
 +    ... Anweisungen ...
 +...
 +else:
 +    ... Anweisungen ...
 +</code>
 +
 +In Python würde das geänderte Beispiel 3 so aussehen:
 +
 +
 +===Beispiel 4===
 +
 +
 +<code python>
 +n = int(input("n = "))
 +if n < 0:
 +    print("Die Zahl n ist negativ.")
 +    print("Betrag von n:", -n)
 +elif n > 0:
 +    print("Die Zahl n ist positiv.")
 +    print("Betrag von n:", n)
 +else:
 +    print("Die Zahl n ist Null.")
 +    print("Betrag von n:", n)
 +</code>
 +
 +Am Beispiel 4 möchte ich auch zeigen, wie man eine Mehrfachverzweigung im Struktogramm darstellt:
 +
 +{{ :neuerlehrplan:klasse10:1_05_beispiel04.png?600 |}}
 +
 +===== Übungen =====
 +
 +Im folgenden Jupyternotebook finden sich einige Übungsaufgaben zum Thema.
 +
 +<WRAP center round download 60%>
 +{{ :neuerlehrplan:klasse10:verzweigungen_uebungen.zip |Übungen}}
 +</WRAP>
  
neuerlehrplan/klasse10/verzweigungen.1757088231.txt.gz · Zuletzt geändert: von lutz