IKG/Schleifen
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Python</language> == Strings und ihre Funktionen == Die einfachen Stringvariablen habt ihr schon kennengelernt. Zur Erinnerung: '''name = "Sonja"'''. Strings liefern für die Programmierung eine Vielzahl an weiteren sehr nützlichen Funktionen. Eine davon ist die Möglichkeit mehrere Buchstaben und Wörter in einer String-Liste zu speichern. Diese Liste bezeichnet man auch als eindimensionales Array. Ein Array ist ein Feld, dass Werte nummeriert in festgelegte Bereiche speichert. Zum Beispiel: name = Sonja => der Computer speichert das folgendermaßen ab: S o n j a 0 1 2 3 4 print(name[2]) liefert also ein '''n'''. Probiert es selber aus. <run id="640a01e54aa87"> </run> Man kann aber nicht nur Buchstaben in einem String-Array speichern sondern auch Wörter. Erstelle als Übung eine Liste '''klasse''', die fünf Namen deiner Klassenkameraden beinhaltet. Um die Wörter in einem Array zu speichern, muss sie mit folgenden Klammern '''[]''' bündeln. klasse=['name1', 'name2'...]. Gib mit print(klasse[zahl]) jeden Namen nacheinander aus. == Schleifen == Schleifen sind in der Programmierung wichtig, weil sie zum einen eine große Text- und Zeitersparnis darstellen und zum anderen durch ihre Verwendung komplexe Probleme gelöst werden können. Hierbei werden verschiedene Schleifenarten unterschieden. Es gibt zählergesteuerte Schleifen - for-Schleifen- und sogenannte Kopfgesteuerte Schleifen - while-Schleifen. In Python werden Bereiche die zusammen gehören eingerückt. Nach einem Doppelpunkt also immer die nächsten Zeilen mit TAB einrücken. == For-Schleife == Zählergesteuert bedeutet, das die Schleifen eine feste Länge haben. Entweder weil die Länge durch eine feste Liste bestimmt wird oder weil ein Ende bekannt ist. '''Beispiel''' Farbliste mit rot, gruen, gelbm schwarz soll nach gruen untersucht werden. Wenn gruen gefunden wird, dann ist die Suche beendet.<br> colors=['red','green','yellow','black']<br> for x in colors: print(x) if x == 'green': break <run id="637f68cec7ddf"></run> Die Funktion '''index()''' liefert den Zahlenwert der im Array hinter dem Wert liegt. Versuche dir den index von x aus colors mit colors.index(x) anzeigen zu lassen. == While-Schleife == While-Schleifen sind kopfgesteuerte Schleifen, die eine Abbruchbedingung benötigen. Das stellt auch ihre Schwierigkeit dar. Wenn die Abbruchbedingung nicht sorgsam überdacht ist, kann es zu einer Endlosschleife kommen, die den Arbeitsspeicher blockiert. '''Beispiel''' Im Beispiel soll eine Integerzahl i zu Beginn gleich 1 sein. In eine While-Schleife soll i bei jedem Durchgang um 1 erhöht werden -> i +=1 Vorher jedoch soll i mit print() ausgegeben werden, damit wir die Erhöhung überprüfen können. Die Abbruchbedingung soll i < 6 sein. Diese Bedingung wird bei der Definition der Schleife durch while i < 6: angegeben. <run id="63c94890a24b0"></run> == Cäsar - Verschlüsselung == Die Cäsar-Verschlüsselung ist die erste bekannt Verschlüsselungsverfahren, dass auf monoalphabetischer Substitution basiert. Das Verfahren arbeitet damit, den Buchstaben aus dem Alphabet Nummern zu geben und diese Nummern um eine feste Zahl zu erhöhen. Der Buchstabe an der Position der erhöhten Zahl liefert den neuen Buchstaben. Aus den neuen Buchstaben werden dann neue verschlüsselte Wörter gebildet. 1. Versuch die Verschlüsselung zunächst mit deinem Banknachbar aus. Einer verschlüsselt eine beliebige Nachricht, der Andere entschlüsselt die Nachricht. 2. Beobachtet euer Vorgehen genau und formuliert auf einem Schmierblatt euren Pseudocode. 3. Programmiert nun die Cäsar-Verschlüsselung Zusatz: Schnelle Schüler können gerne noch eine Entschlüsselung programmieren. <run id="640a0fb6bceac"></run>