lehrkraefte:snr:informatik:glf23:python:vom-pseudocode-zum-programm-primzahlen

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:snr:informatik:glf23:python:vom-pseudocode-zum-programm-primzahlen [2023/08/27 21:02] – [Algorithmus: Das Sieb des Eratosthenes] Olaf Schnürerlehrkraefte:snr:informatik:glf23:python:vom-pseudocode-zum-programm-primzahlen [2023/08/27 21:07] (current) – [Algorithmus: Das Sieb des Eratosthenes] Olaf Schnürer
Line 1: Line 1:
 +~~NOTOC~~
 +
 +=== 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) ======
 +
 +<WRAP center round todo>
 +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''.
 +
 +<hidden Hinweis>
 +Verwende eine Variable ''anzahl_teiler'', in der die Anzahl der bisher gefundenen Teiler gespeichert wird.
 +</hidden>
 +</WRAP>
 +
 +<WRAP center round todo>
 +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.
 +</WRAP>
 +
 +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 =====
 +
 +<WRAP center round todo>
 +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:
 +<code python>
 +import time
 +startzeit = time.time()
 +</code>
 +  * Am Programmende die folgende Zeile einfügen:
 +<code python>
 +print('Laufzeit: ', time.time() - startzeit, ' Sekunden.')
 +</code>
 +</WRAP>
 +
 +===== Das nächste Mal =====
 +
 +Zweiersystem, Umwandlung vom Dezimal- ins Zweiersystem
 +
 +