Struktogramm: Eratosthenes HILFE!

Sieb des Eratosthenes - (programmieren, Informatik, Algorithmus)

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Hi maxi!

Ich kenne Struktogramme und auch das Sieb. Hab aber momentan nicht ganz den Ehrgeiz, mr einen Algoritmus zu überlegen und selbst ein Struktogramm zu erstellen. Damit ich es vergleichen kann.

So will ich erst mal nur auf Formalien rumreiten:

  • Das Dreieck bei IF/ELSE und Fallunterscheidungen wird immer bis zur waagerechten Linie darunter durchgezogen.
  • Du hast keine IF/ELSE-Abfrage, sondern eine Fallunterscheidung. Das solltest du auch optisch sichtbar machen, also die Breite dritteln.
  • Und den OTHERS-Zweig solltest du auch so kennzeichen. Also entweder hast du 3 Möglichkeiten, die du abfragst, dann gibt es kein OTHERS, oder du hast einen, dann kennzeichne ihn auch so und setzt "weder ... noch ..." in Klammern, als Kommentar.
  • Wenn du in allen Zweigen am Ende z um 1 erhöhst, dann gehört das hinter die Fallunterscheidung, aber natürlich noch in die Schleife.
  • "Streiche alle Vielfache dieser Zahl" ist kein simpler Befehl. Es ist ein Unterprogramm und sollte auch als solches zu erkennen sein.

OK, ich bin etwas aus der Übung, hab das in den letzten 20 Jahren vielleicht drei mal gemacht. Dafür bin ich tiefenentspannt, antworte hier nur aus Spaß oder als Zeitvertreib. Fakt ist, dass ich erst so nach und nach dein Struktogramm verstanden habe.

In einem Projekt sind die Leute natürlich im Training, aber auch im Stress. Und wenn da die Form nicht stimmt, biegt das Hirn das gern mal so, dass es passt. Allerdings nicht unbedingt zum Entwurf ;-)

  • Was ich jetzt erst sehe, wenn du die Erhöhung von z auslagerst, ist die ganze Fallunterscheidung hinfällig. Es gibt nur ein IF. Performance ist nicht alles, aber Übersichtlichkeit!

Soviel erstmal, Zoelomat

Fußnote 1: Zoelomats letzter Punkt, anders ausgedrückt: Sowohl bei "prim" als auch bei "gestrichen" geschieht dasselbe. Wenn Du beides mit einer ODER-Verküpfung zusammenfaßt, bleiben zwei Fälle übrig. Mal schaun, ob dann eine IF/ELSE-Verzweigung daraus wird. Zur Probe bilden wir die die logische Negation von "weder prim noch gestrichen": die lautet "prim ODER gestrichen", wzbw.

Fußnote 2: Für den Schleifenkörper würde ich einen helleren Blauton wählen, damit sich das Schwarz darauf besser abhebt und das Diagramm besser lesbar ist. (Schon mal in der hintersten Reihe gesessen und versucht, die Schrift auf dem Beamer-Schirm zu entziffern?)

Viel Spaß und Erfolg!