Wiederholung
Pseudo-Code: Teiler einer Zahl Pseudo-Code: alle geraden Zahlen bis zu eingegebener Zahl ausgeben Pseudo-Code: dieselben Zahlen rückwärts ausgeben
Vom Pseudo-Code zum Python-Programm: Liste der Primzahlen (naiv; per Funktion; per Sieb Eratosthenes)
Schreibe Pseudo-Code auf ein Blatt Papier für das folgende Problem:
- Eingabe (durch den Benutzer): eine positive natürliche Zahl
- Ausgabe: Alle Teiler der eingegebenen Zahl und die Information, ob die eingegebene Zahl eine Primzahl ist
Zeige mir den Pseudo-Code. Wenn ich damit zufrieden bin, öffne den Laptop und schreibe das zugehörige Python-Programm teiler-und-prim.py.
Schreibe Pseudo-Code auf ein Blatt Papier:
- Eingabe: eine positive natürliche Zahl
- Ausgabe: eine Liste aller Primzahlen bis zu der eingegebenen Zahl und zusätzlich die Anazahl der ausgegebenen Primzahlen
Zeige mir den Pseudo-Code. Wenn ich damit zufrieden bin: Schreibe das entsprechende Python-Programm.
Erkläre: print(t, end=“ ”)
Primzahlenliste mit Hilfe einer Funktion, die die Frage beantwortet, ob eine Zahl eine Primzahl ist oder nicht
Algorithmus: Das Sieb des Eratosthenes
Ob die Anzahl der von dir gefundenen Primzahlen korrekt ist, kannst du mit Hilfe der Tabelle auf https://t5k.org/howmany.html prüfen. Dort steht $\pi(x)$ für die Anzahl der Primzahlen, die kleiner-gleich $x$ sind.
Laufzeit ermitteln
Ermittle, wie lange die beiden Programme für die Primzahllisten dauern, wenn man alle Primzahlen kleiner-gleich 100 Millionen ausgibt. Dazu:
- Am Programmbeginn die folgenden Zeilen einfügen:
import time startzeit = time.time()
- Am Programmende die folgende Zeile einfügen:
print('Laufzeit: ', time.time() - startzeit, ' Sekunden.')
Das nächste Mal
Zweiersystem, Umwandlung vom Dezimal- ins Zweiersystem