Kontrollstrukturen Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue
Einfache Verzweigung Eine Verzweigung erlaubt das bedingte Ausführen bestimmter Programm-Teile. Innerhalb des Programms wird aufgrund einer Bedingung entschieden, welcher Zweig des Programms ausgeführt werden soll. Bedingungen werden mit Hilfe von Vergleichsoperatoren und Boolesche Operatoren formuliert.
Beispiel einer einfachen Verzweigung
Flussdiagramm einer einfachen Verzweigung Schreiben "Ihre erste Zahl ist? " Die Eingabe lesen und in zahl_1 speichern Schreiben "Ihre zweite Zahl ist?" Die Eingabe lesen und in zahl_2 speichern JA zahl_1<=zahl_2 NEIN Schreiben zahl_1,"<=", zahl_2 Schreiben zahl_2,"<", zahl_1
Einfache Verzweigung in Python P0604.py
Übung Das Programm soll schreiben ob eine eingegebene ganze Zahl gerade oder ungerade ist. P0605.py
Mehrfache Verzweigungen Manchmal gibt es mehr als zwei Möglichkeiten. Wir brauchen mehr als zwei Zweige. Ein Weg eine Berechnung dieser Art auszudrücken ist eine Mehrfache Verzweigung:
Beispiel einer Mehrfachen Verzweigung
Flussdiagramm einer mehrfachen Verzweigung Schreiben "Ihre erste Zahl ist? " Die Eingabe lesen und in zahl_1 speichern Schreiben "Ihre zweite Zahl ist?" Die Eingabe lesen und in zahl_2 speichern JA zahl_1<zahl_2 NEIN NEIN zahl_2<zahl_1 JA Schreiben zahl_1,"<", zahl_2 Schreiben zahl_2,"<", zahl_1 Schreiben zahl_1,"=", zahl_2
Mehrfache Verzweigung in Python P0606.py
Mehrfache Verzweigung in Python wählt aus einer oder mehreren Aktionen (Anweisungsblöcken) aus. Ausgeführt wird die Folge, die zum ersten if oder elif Test mit Ergebnis Wahr gehört oder die else Folge, wenn alle anderen Falsch ergeben if Bedingung1: Anweisungsblock1 elif Bedingung2: Anweisungsblock2 else: Anweisungsblockn
Ohmscher Gesetz 10 Volt = 5 Ohm * 2 Ampere Schreiben Sie ein Programm, das nach dem ohmschen Gesetz: U = R * I d.h. Spannung = Widerstand * Intensität entweder die Spannung, den Widerstand oder den Intensität berechnet. Was berechnet werden soll, ist einzulesen. Je nach gesuchtem Wert sind dann die beiden anderen Werte einzulesen. Hinweis: Widerstand = Spannung/ Intensität Intensität = Spannung/Widerstand Spannung = Widerstand * Intensität
Zeichenketten Definition Operationen
Definition Der String ist eine unveränderliche geordnete Sammlung von Zeichen. Wir können auf seine Komponenten über ihre Position ( der Index) zugreifen. Indexe beginnen bei null und enden bei eins weniger als der Länge des Strings: Negative Indexe werden zu der Länge des Strings addiert
Operationen Zuweisung x in s Test auf enthalten sein x not in s s + s Zusammenfügen s = 'abcd' s * n, n * s Wiederholen
Funktionen Definition Einige Funktionen
Definition Funktionen sind Objekte, die einen Namen besitzen Funktionen werden in Ausdrücken abgerufen Sie akzeptieren durchgereichte Werte: die Argumente Sie geben Ergebnisse zurück Beispiele: Input: Druckt ggf. ihr Argument und gibt eine Eingabe des Benutzers zurück. raw_input: Druckt ggf. ihr Argument und gibt eine Eingabe des Benutzers als String zurück
Einige Funktionen len gibt die Länge ihres Arguments zurück min gibt das minimale Element ihres Arguments zurück max gibt das maximale Element ihres Arguments zurück int: gibt ihr Argument als ganze Zahl zurück float: gibt ihr Argument als Fließkommazahl zurück str: gibt ihr Argument als String zurück
Übungen len gibt die Länge ihres Arguments zurück min gibt das minimale Element ihres Arguments zurück max gibt das maximale Element ihres Arguments zurück int: gibt ihr Argument als ganze Zahl zurück float: gibt ihr Argument als Fließkommazahl zurück str: gibt ihr Argument als String zurück
Sequenzen Definition Teilbereiche (Slicing)
Definition Eine Sequenz ist eine Datenstruktur, in der mehrere Objekte stehen, wobei jede einen Index hat, der von 0 bis zur (Länge der Sequenz)-1 geht. Strings sind Sequenzen.
Teilbereiche einer Sequenz (Slicing) s[i:j] (Index j ausgeschlossen) (Index i eingeschlossen) s[:j] s[i:] bis Offset j (ausgeschlossen) ab Offset i (eingeschlossen)
Übungen 1- >>> string1 = "bon" >>> string2 = "jour" >>> offset1 = 1 >>> offset2 = 3 >>> print string1[offset1] >>> print string2[offset2] >>> print string1[-offset1] >>> print string1[-offset2]
Übungen 2- >>> string1 = "bon" >>> string2 = "jour" >>> offset2 = 3 >>> print string1 + string2 >>> print offset2 * string1
Übungen 3- >>> string1 = "bon" >>> string2 = "jour" >>> string = string1 + string2 >>> print string[2:5] >>> print string[:2] >>> print string[5:]
Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue
Eine Sequenz durchlaufen Flußdiagramm wahr s "BROL" t "" i 0 i = Länge von s? falsch x Objekt bei INDEX i in s t x + t i i + 1 i x t 0 B B 1 R RB 2 O ORB 3 L LORB 4 L LORB t schreiben
Pseudocode Eine Sequenz durchlaufen Für jedes Element in der Sequenz SEQUENZ tue Dieses Element in die Variable OBJEKT speichern Anweisungen Übersetzung in Python for OBJEKT in SEQUENZ: Anweisungen
Beispiel Vorgehensweise s "INFORMATIK«t "" Für jedes Element in s tue dieses Element in x speichern t x+t t schreiben I Ausführung NI FNI OFNI ROFNI MROFNI AMROFNI TAMROFNI ITAMROFNI KITAMROFNI
Umdrehen Der Anwender gibt eine Zeichenkette ein. Das System dreht sie um. P0608.py
Palindrom -1- Der Anwender gibt ein Wort ein. Das System erkennt ob das Wort ein Palindrom ist. (Palindrom das; -s, -e (Wort[folge] od. Satz, die vorwärts wie rückwärts gelesen den gleichen Sinn ergeben, z. B. Reittier; Rentner; Reliefpfeiler)
Bedingung am Anfang oder am Ende? Solange die Schüler ja sagen 5 Minuten Unterrichten falsch Die Schüler sagen ja wahr Den Unterricht beenden 5 Minuten Unterricht Wiederhole 5 Minuten Unterrichten 5 Minuten Unterricht bis die Schüler nicht ja sagen falsch Die Schüler sagen ja wahr Den Unterricht beenden
Solange tue in Python Antwort = raw_input ("möchten Sie Unterricht haben (ja)?") while Antwort=="ja": print "5 Minuten Unterricht" Antwort = raw_input ("möchten Sie Unterricht haben (ja)?") print "Unterricht beendet" falsch Die Schüler sagen ja wahr Den Unterricht beenden 5 Minuten Unterricht
Wiederhole bis in Python print "5 Minuten Unterricht" Antwort = raw_input ("möchten Sie Unterricht haben (ja)? ") while Antwort=="ja": print "5 Minuten Unterricht" Antwort = raw_input ("möchten Sie Unterricht haben (ja)? ") print "Unterricht beendet" 5 Minuten Unterricht falsch Die Schüler sagen ja wahr Den Unterricht beenden
Palindrom -2- Der Anwender gibt ein Wort ein. Solange das eingegebene Wort kein Palindrom ist wird ein neues Wort gefragt. P0610.py
Primfaktoren Der Anwender gibt eine ganze Zahl ein. Das System zerlegt sie in Primfaktoren.
Primfaktoren Der Anwender gibt eine ganze Zahl ein. Das System zerlegt sie in Primfaktoren. P0611.py
GGT (größte gemeinsame Teiler) P0612.py
GGT Der Anwender gibt zwei ganze Zahlen ein. Das System rechnet ihren GGT. P0612.py
Summe der Teiler Der Anwender gibt eine ganze Zahl ein. Das System schreibt alle ihre Teiler und rechnet ihre Summe aus. P0613.py