Vom Problem über Pseudo-Code zum Programm: Alle Teiler einer Zahl ausgeben

Ziel: Ein Python-Programm schreiben, das alle Teiler einer Zahl ausgibt. (Ich habe das nicht sichtbare Programm vorgeführt.)

Vorstellung: Achtjährigem erklären, wie er alle Teiler einer Zahl ermitteln kann.

Im Unterrichtsgespräch folgenden Pseudo-Code an die Tafel geschrieben:

Normale Sprache

Lies vom Benutzer eine positive natürliche Zahl ein.
Teste jede Zahl von 1 bis zu der eingegebenen Zahl, ob sie ein Teiler der eingegebenen Zahl ist. Wenn ja, gib den Teiler aus. 

Pseudo-Code

Lies vom Benutzer eine positive natürliche Zahl ein und speichere sie unter dem Namen x.
t = 1
Solange t kleiner-gleich x gilt, wiederhole:
    Wenn x/t eine natürliche Zahl ist, dann:
        Gib t aus.
    Erhöhe t um 1. 

Erklärungen dazu

Wesentliche Elemente eines Computerprogramms, die man im obigen Pseudo-Code sieht:

(Es fehlen noch Listen und Funktionen, dann hat man die wesentlichen Dinge, die man beim Programmieren braucht.)

Tafelfotos in den verschiedenen Klassen

Tafelfotos in den verschiedenen Klassen

Python-Programm

Der obige Algorithmus sieht in Python so aus:

print("Bestimmung der Teiler einer Zahl")  
s = input("Gib eine Zahl ein: ")
x = int(s)
t = 1
while t <= x:
    if x % t == 0: 
        print(t)
    t = t + 1

In vielen anderen Programmiersprachen sähe der Algorithmus übrigens sehr ähnlich aus.

  • Installiere Python vom Microsoft Store.
  • Öffne VS Code.
  • Öffne dein Verzeichnis …/informatik/python.
  • Erstelle darin eine neue Datei namens 'teiler.py' (geht per VS Code). (Installiere die VS Code extensions Python und Pylance, wie wohl eh von VS Code vorgeschlagen.)
  • Schreibe das obige Python-Programm in diese Datei.
  • Ausführen des Programms per Ctrl+F5. (Eingabe von F5 auf Laptop-Tastatur erklärt.)

Erstelle eine neue Datei namens gerade-zahlen.py in deinem Verzeichnis …/informatik/python. (Wann immer du in Zukunft ein neues Python-Programm schreibst, erstelle eine neue Datei.

Schreibe nun ein Programm, das alle geraden Zahlen von 0 bis zu einer eingegebenen natürlichen Zahl ausgibt.

(Finde zwei Lösungen für dieses Problem! Die einfachere davon funktioniert ohne if-then-statement.)

Kopiere dein Programm gerade-zahlen.py (geht in VS Code), nenne die Kopie gerade-zahlen-rueckwaerts.py und ändere dieses Programm nun so, dass die geraden Zahlen in absteigender Reihenfolge ausgegeben werden.

Allgemeines zu Programmiersprachen