Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:java:algorithmen:arrays:eratosthenes:start [25.03.2021 09:50] – [Idee] sbel | faecher:informatik:oberstufe:java:algorithmen:arrays:eratosthenes:start [24.10.2023 07:17] (aktuell) – [Material] Frank Schiebel | ||
---|---|---|---|
Zeile 5: | Zeile 5: | ||
===== Idee ===== | ===== Idee ===== | ||
- | - Man stellt zunächst eine Liste mit allen Zahlen von 2 bis r gewünschten Obergrenze zusammen. | + | - Man stellt zunächst eine Liste mit allen Zahlen von 2 bis zur gewünschten Obergrenze zusammen. |
- Jetzt streicht man alle Vielfachen von 2, denn das sind ja keine Primzahlen (durch 2 teilbar) und " | - Jetzt streicht man alle Vielfachen von 2, denn das sind ja keine Primzahlen (durch 2 teilbar) und " | ||
- Die nächste nicht durchgestrichene Zahl ist die nächste Primzahl - die 3. | - Die nächste nicht durchgestrichene Zahl ist die nächste Primzahl - die 3. | ||
Zeile 12: | Zeile 12: | ||
Die Zahlen, die dann noch übrig sind, sind die gesuchten Primzahlen. | Die Zahlen, die dann noch übrig sind, sind die gesuchten Primzahlen. | ||
+ | |||
+ | |||
===== Modellierung des Problems ===== | ===== Modellierung des Problems ===== | ||
Zeile 17: | Zeile 19: | ||
Man verwendet ein Array aus booschen-Werten (wahr/ | Man verwendet ein Array aus booschen-Werten (wahr/ | ||
+ | ==== Aufgabe 1 ==== | ||
+ | |||
+ | Das Grundgerüst eines BlueJ Projekts kannst du [[https:// | ||
+ | |||
+ | * Überlege dir zunächst, was die Grenzen für den Index deines Sieb-Arrays sein sollten, damit die den Zahlenbereich von 1 bis zur '' | ||
+ | * Vervollständige den Konstruktor: | ||
+ | |||
+ | ==== Aufgabe 2: Die Gefangenen ==== | ||
+ | |||
+ | Ein König will zu seinem Geburtstag alle 100 Gefangenen, die in Einzelzellen (von 1 bis 100 durchnummeriert) sitzen, freilassen. Dazu schickt er einen Boten, der alle Türen aufschließen soll. | ||
+ | |||
+ | Während der Bote den Befehl ausführt, kommen dem König Bedenken. Er schickt einen zweiten Boten hinterher, der jede zweite Tür (d.h. die Türen 2, 4, 6, usw.) wieder schließt. Bei jedem " | ||
+ | |||
+ | Danach schickt er einen dritten Boten, der jede dritte Türe (also 3, 6, 9, ...) weiterschließt, | ||
+ | |||
+ | Welche Türen sind am Schluss offen? | ||
+ | |||
+ | * Überlege zunächst, wie du die Zellen und ihren Zustand modellieren möchtest. | ||
+ | * Als Basis kannst du [[https:// | ||
+ | * Beginne zunächst mit einer Methode, die den ersten Boten repräsentiert, | ||
+ | * Verallgemeinere dann die Methode so, dass sie den i-ten Boten darstellt. Jetzt kannst du das Problem mit einer Schleife lösen. | ||
+ | |||
+ | ==== Material ==== | ||
+ | |||
+ | |||
+ | {{simplefilelist>: | ||