i

Beispiel - Palindrome

Interessante Wörter

Was ist das Gemeinsame der folgenden Wörter?

Rentner
Regallager
Reliefpfeiler

Hier noch einige weitere Wörter, die zu den bereits genannten passen:

Anna
Hannah
Otto

Alles klar? Alle diese Wörter ergeben rückwärts gelesen dasselbe Wort. Man nennt solche Wörter auch Palindrome.

Ziel ist es, das Umkehren von Wörtern und den Palindromtest mit einem geeigneten Programm zu automatisieren.

Darstellung als Zeichenkette

Zunächst werden die zu verarbeitenden mit Hilfe von Daten von Typ Zeichenkette dargestellt. In Python lässt sich das auf unterschiedliche Weisen realisieren.

Ausgabe

Einzeilige Zeichenkette können mit Hochkommata '...' oder Anführungszeichen "..." markiert werden. Bei mehrzeiligen Zeichenketten benutzt man jeweils drei Hochkommata '''...''' oder drei Anführungszeichen """...""". Beachte, dass text4 mit einem Zeilenumbruch anfängt und mit einem Zeilenumbruch endet. Probiere selbst weitere Beispiele aus.

Zugriff auf die Zeichen

Die einzelnen Zeichen einer Zeichenkette sind von 0 an durchnummeriert. Mit Hilfe der jeweiligen Nummer - die man auch als Index bezeichnet - kann man auf aktuelle Zeichen zugreifen. Beachte, dass die mehrzeilige Zeichenkette im folgenden Demoprogramm hier mit einem Zeilenumbruch beginnt.

Ausgabe

Wenn man beim Zugriff den Indexbereich verlässt, gibt es eine Fehlermeldung.

Ausgabe

Eine Zeichenkette durchlaufen

Eine Zeichenkette kann man durchlaufen, indem man mit einer while-Schleife der Reihe nach über den Index auf jedes Zeichen zugreift - von 0 an bis zum letzten Index, der kleiner als die Länge der Zeichenkette ist.

Ausgabe

Denselben Effekt kann man mit einer for-Schleife erzielen, wobei der range-Operator hier den gewünschten Indexbereich erzeugt.

Ausgabe

Noch kürzer geht es mit einer for-Schleife direkt über die Zeichen der Zeichenkette.

Ausgabe

Probiere das jeweils aus.

Zeichenketten aneinanderfügen

Zeichenketten kann man mit dem +-Operator aneinanderfügen.

Ausgabe

Hier einige weitere Beispiele. Versuche vorab zu erschließen, was im folgenden Programm ausgegeben wird.

Ausgabe

Ergänze selbst weitere Testanweisungen. Probiere dabei auch eine Art Zeichenkettenvervielfachung wie 3*'Hallo' aus.

Das Wichtigste notieren

Halte das Gelernte hier fest:
Was ist ein Wissensspeicher?

Im Wissensspeicher soll übersichtlich und prägnant das neu Gelernte dokumentiert werden. Die vorgegebene Struktur auf dem Wissensspeicher soll sicherstellen, dass alles Wichtige festgehalten wird; so werden z.B. nicht nur Definitionen, sondern in der Regel auch Beispiele, Vernetzungen oder Konventionen gefordert. Der Wissensspeicher kann verwendet werden, um ein im Unterricht erstelltes Tafelbild einfacher ins Heft zu übertragen. Es ist mit ihm aber auch möglich, die Sicherung stärker schüler:innen-orientiert zu gestalten: Je nach Unterrichtsgestaltung können die Schüler:innen nach einer Erarbeitung und Besprechung den gesamten Wissensspeicher selbst ausfüllen (im Unterricht, ggf. auch in der Hausaufgabe) oder hierfür zusätzlich das Online-Schulbuch zu Hilfe nehmen.

Erkennung von Palindromen

Das Erkennen von Palindromen ist recht einfach: Man kehrt das Wort um und überprüft, ob das umgekehrte Wort mit dem zu überprüfenden Wort übereinstimmt.

Aufgabe 1

(a) Entwickle ein Programm, das ein eingegebenes Wort umkehrt. Hier ein passender Algorithmus:

ALGORITHMUS umkehren
Eingabe: wort
wortUmgekehrt = ''
für alle zeichen aus wort:
    füge das zeichen vorne in wortUmgekehrt an
Ausgabe: wortUmgekehrt

(b) Entwickle das Programm so weiter, dass das eingegebene Wort daraufhin überprüft wird, ob es ein Palindrom ist.

ALGORITHMUS palindrome
Eingabe: wort
wortUmgekehrt = ''
für alle zeichen aus wort:
    füge das zeichen vorne in wortUmgekehrt an
WENN wortUmgekehrt und wort identisch sind:
    Ausgabe: 'Palindrom'
SONST:
    Ausgabe: 'kein Palindrom'

Suche

6.3.2.10.1Beispiel - Palindrome
Kopieren durch Anklicken

Rückmeldung geben