Struktogramm

Hallo zusammen,

angenommen man geht mal den umgekehrten Weg und möchte zu einem bestehenden Programm ein Struktogramm erstellen.

Das Programm besteht aus einem Hauptprogramm, daß drei andere Unterprogramme aufruft. Wenn ich nun fünft Anweisungsblöcke hintereinander setze: Start der Prozedur - Eingabe - Berechnung - Ausgabe - Ende der Prozedur, habe ich das Programm ja abgebildet.

Jetzt kann ich doch nicht einfach einen Anweisungsblock dahinter hängen sub Eingabe etc, das wäre doch logisch falsch. Die Dinge, die sich hinter der Eingabe verstecken laufen doch schon während des Hauptprogrammes und nicht erst danach ab.

Hab ich Recht? Bin mit dieser Frage gestern mit meinen Leherer aneinandergeraten, der mir in den Mund legen würde, daß ich damit behaupten würde, daß die Unterteilung eines Programmes in mehrer Parts keinen Sinn hätte. Das will ich aber damit nicht sagen, sondern lediglich, daß das Struktogramm doch nicht richtig ist.

Kann jemand weiterhelfen bzw weiß eine zuverlässige Quelle?

Danke und Grüße,
stephy

Hi Stephy,

mir ist nicht ganz klar, worüber ihr da streitet. Du hast Recht, wenn es um den zeitlichen Ablauf geht, der Lehrer hat Recht, wenn er sagt, dass Unterprogramme ausgelagert werden können.

Dein Programm sieht so aus:

  • Start Hauptprogramm
  • Eingabe
  • Berechnung
  • Ausgabe
  • Ende Hauptprogramm

Dein Lehrer strukturiert das anders:

  • Start Hauptprogramm

  • Aufruf: Eingabe

  • Aufruf: Berechnung

  • Aufruf: Ausgabe

  • Ende Hauptprogramm

  • Unterprogramm Eingabe

  • Unterprogramm Berechnung

  • Unterprogramm Ausgabe

Mit Quellen kann ich leider nicht dienen, Du wirst auch kaum Beweise für Deine Sicht finden. Ein Struktogramm gibt eine Struktur wieder, was soll daran falsch sein?

Gruß Ralf

Hallo Stephy.

Das Programm besteht aus einem Hauptprogramm, daß drei andere
Unterprogramme aufruft. Wenn ich nun fünft Anweisungsblöcke
hintereinander setze: Start der Prozedur - Eingabe -
Berechnung - Ausgabe - Ende der Prozedur, habe ich das
Programm ja abgebildet.

Richtig!

Jetzt kann ich doch nicht einfach einen Anweisungsblock
dahinter hängen sub Eingabe etc, das wäre doch logisch falsch.

Nicht nur logisch! - Denn die nun eingezeichneten Komponenten fehlen sogar im Code :wink:

Die Dinge, die sich hinter der Eingabe verstecken laufen doch
schon während des Hauptprogrammes und nicht erst danach ab.
Hab ich Recht?

Ja, hast Du.

Bin mit dieser Frage gestern mit meinen Leherer
aneinandergeraten, der mir in den Mund legen würde, daß ich
damit behaupten würde, daß die Unterteilung eines Programmes
in mehrer Parts keinen Sinn hätte. Das will ich aber damit
nicht sagen, sondern lediglich, daß das Struktogramm doch
nicht richtig ist.

Kann jemand weiterhelfen bzw weiß eine zuverlässige Quelle?

Ich versuche es mal :smiley::

Zeichne für die aufgerufenen Funktionen/Prozeduren einfach eigene Struktogramme.
Im Endeffekt hast du also das Struktogramm, was Du schon besitzt und jeweils ein eigenes für „Eingabe“, „Berechnung“ und „Ausgabe“ in denen die jeweiligen Arbeitsschritte aufgeführt sind.

HTH, Michael

Hallo,

Wenn das Hauptprogramm lediglich aus der sequenziellen Folge dieser Prozeduraufrufe besteht, ist das Hauptprogramm mit diesem kleinen Struktogramm vollständig beschrieben. Nicht aber das ganze Projekt. Wenn gefordert, kann für jede Prozedur ein eigenes Struktogramm angefertigt werden, und wenn darin wieder Prozeduren aufgerufen werden, können dafür wieder Struktogramme angefertigt werden.

Gruß,
Jochen

Hab was vergessen:

…daß ich damit behaupten würde, daß die Unterteilung eines
Programmes in mehrer Parts keinen Sinn hätte…

Hängt einzig vom Umfang und der Wiederverwertbarkeit des Codes (im aktuellen Programm) ab.
x = x++ als Einzeiler Auszulagern ist sicher weniger Sinnvoll…

So, und ich laß mich nun auf Alzheimer checken *G*

Michael

Das sehe ich auch so!

Mein Leherer hängt an den letzten Anweisungsblock dann einfach die Anweisungsblöcke für die Unterprogramme.
Was ja unsinnig ist.

Schön, daß ihr hier seid um mich zu unterstützen.
Kann noch eine lustige Diskussion werden…

Danke Euch!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,

da muß man doch nicht diskutieren. Es gibt Regelwerke über die Gestaltung von Struktogrammen. Es gibt sogar eine DIN dazu, die DIN 66261. Entwickelt wurden sie von

Dr. Ike Nassi und Dr. Ben Shneiderman, weshalb man sie auch Nassi-Shneiderman-Diagramm (kurz: NS-Diagramme) nennt. Hier hast du die Links zu den Homepages der Entwickler:

http://www.nassi.com/ike.htm
http://www.cs.umd.edu/~ben/

Da sind auch e-mail-Addressen. Es ist Euch also möglich, Eure Meinungsverschiedenheit durch eine Nachfrage beim Entwickler selbst zu klären!! (Das ist ernstgemeint!)

Grüße,
Jochen