BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- Struktogramme (http://www.black-board.net/thread.php?threadid=4930)


Geschrieben von HeaD am 24.04.2002 um 14:14:

  Struktogramme

Moin !

Kann mir zufällig jemand sagen wo ich Struktogramme zu Algorithmen finde ? Oder brauchbare Struktogramme allgemein ?

Ich brauche keine die nur zeigen wie ein Struktogramme aufgebaut ist, sondern welche nach dem man wirklich programmieren kann ...

(z.B. sortieralgorithmus oder so)

Dangge



Geschrieben von Medusa am 27.04.2002 um 14:04:

 

mal ne blöde Frage...
Was sind Struktoprogramme ?



Geschrieben von HeaD am 27.04.2002 um 17:55:

 

Struktogramme sind eine Art Ablaufplan nach dem man programmieren kann.. ein Beispiel :

BEISPIEL-LINK

(Die Dinger in dem Kasten mit den Ja/Nein Verzweigungen)



Geschrieben von LX am 27.04.2002 um 20:52:

Pfeil

Was bringen dir Struktogramme zu Algorithmen, die du nicht verstehst oder von denen du nix hast, wenn du sie umsetzt?

Wäre es nicht sinnvoller du suchst dir ein Problem, entwirfst einen Algorithmus dazu, zeichnest ein Struktogramm und programmierst das dann? Auf diese Weise hast du den kompletten Ablauf der Softwareprogrammierung mal durchgemacht und davon hast du mehr als nur vom stupiden Programmieren.

80% der Entwicklung eines Programms passieren sowieso nicht vorm Rechner. Das Programmieren ist letztendlich nur die Ausführung der Arbeit, die bereits vorher dahinter steckt. Das Entwickeln von Struktogrammen ist essentiell wesentlich wichtiger als die letztendliche Umsetzung.


Wenn du mal ein Struktogramm entwerfen willst zu Sortieralgorithmen, dann nimm z.B. Bubble Sort:

Du hast eine Reihe unsortierter Zahlen gegeben. In dieser Reihe vergleichst du jetzt das erste mit dem zweiten Element. Ist das erste Element größer, vertauschst du die beiden Elemente, ist es kleiner, springst du zum nächsten und vergleichst das zweite mit dem dritten Element usw. Bist du am Ende der Reihe angelangt springst du wieder zum ersten Element und wiederholst das ganze solange, bis du mal einen Durchlauf hast, bei dem keine Elemente vertauscht wurden. Dann ist deine Reihe sortiert.

Daraus kannst du jetzt eine Schrittfolge entwerfen, was wann passiert. Daraus wiederum kannst du ein Struktogramm entwerfen und das kannst du dann programmieren.

[EDIT]: Ups, hab grade gelesen, dass dieses Beispiel schon bei deinem Link erklärt ist (note to self: vorher lesen). Aber was stellst du dir denn noch für Sortieralgorithmen vor? Im Grunde genommen sind da schon die wichtigsten genannt. Ein weiteres, was ich da allerdings nicht gefunden habe ist Quicksort.



Geschrieben von HeaD am 27.04.2002 um 21:15:

 

Mein Problem ist einfach das ich ein 2 Dimensionales Array sortieren muß, beispiel:

Unsortiert:

897123
348124
501987
342107
835619

Sortiert:

987531
987521
986321
844310
743210

So nun habe ich es schon mit Bubblesort gemacht, spricht erst Zeile für Zeile von Links nach Rechts sortieren lassen und danach Zeile für Zeile von Oben nach unten.

Das Problem ist nur, das mein Lehrer meint es gäbe eine bessere Lösung als mit Bubblesort.

Nun sitze ich schon 3 Tage hier rum und überleg ne bessere Variante, im Netz wollt ich nur mal nen Ansatz finden, der mich weiterbringen könnte.

Außerdem wollt ich nen paar Stuktos für meine Website haben *g* (Aber wenn ich so weiter mache hab ich bald genügend selber gemacht)



Geschrieben von LX am 27.04.2002 um 22:30:

 

Von der Effizienz her ist einer der besten Sortieralgorithmen wie gesagt Quicksort. Dabei zerteilst du die zu sortierende Folge rekursiv in Einzelstücke und setzt sie dann wieder zusammen. Vielleicht ist das ein Ansatz, der dir hilft Augenzwinkern



Geschrieben von HeaD am 27.04.2002 um 23:34:

 

Danke, ich werd mir das mal ansehen, vielleicht bringt es mich mal wieder weiter, wenn nicht werd ich mal ein bißchen Pause machen, damit man mal wieder sinnvolle Gedanken fassen kann großes Grinsen



Geschrieben von HeaD am 29.04.2002 um 12:24:

 

Na toll die Aufgabe ist falsch gewesen, eigendlich soll das Ergebnis so sein:

00111
11223
33344
45567
77888
88999

Nun bin ich wieder so weit wie vorher traurig

[EDIT]
Ach ja... das Array muß 2Dimensional bleiben und ich darf auch kein neues erstellen...



Geschrieben von HeaD am 29.04.2002 um 17:11:

 

hab es jetzt doch noch rausgefunden, war irgendwie sehr einfach und auch sehr logisch *klatschvorstirn*


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH