StructorizerHandbuch DE

Anwendungsfall: NSD-Dokumentation ohne Pseudocode (Puristischer Ansatz)

Puristische Algorithmen-Dokumentierer lehnen in Nassi-Shneiderman-Diagrammen geschriebenen Code hĂ€ufig ab – und das aus gutem Grund. Sie bevorzugen Pseudocode oder sogar natĂŒrlichsprachliche verbale Beschreibungen der auszufĂŒhrenden Schritte. In jedem Fall soll die Darstellung sprachunabhĂ€ngig sein, womit gemeint ist, dass keine konkrete Programmiersprache angesprochen werden soll.

Andererseits hĂ€ngen verbale Beschreibungen natĂŒrlich von einer bestimmten natĂŒrlichen Sprache ab und sind in der Regel mehrdeutig.

Dabei sollte man bedenken, dass Algorithmen nicht auf mathematische oder rechnerische Zwecke beschrĂ€nkt sind. Man könnte auch einen Algorithmus fĂŒr den Hausbau, das Steuern eines Autos, die Organisation einer Hochzeitsfeier oder Ähnliches darstellen. Fließkommazahlen oder trigonometrische Funktionen haben dort keinen Platz.

Ein mögliches puristisches (eher abstraktes) Diagramm fĂŒr unsere (klar berechenbare) Beispielaufgabe, auf Englisch formuliert, könnte folgendermaßen aussehen:

Puristisches Diagramm fĂŒr das DeflateText-Problem
Puristisches Diagramm fĂŒr das DeflateText-Problem

Dieser Ansatz ist intuitiv verstÀndlich, obwohl nicht ersichtlich ist, wie genau das Auftreten doppelter Leerzeichen erkannt und wie die Ersetzung vorgenommen werden soll.

Der Purist könnte die Struktur zwar in eine bestimmte Programmiersprache exportieren, interessiert sich dabei jedoch ausschließlich fĂŒr die Übersetzung der Strukturen und möchte die Elementtexte erhalten – entweder indem die Anweisungsbeschreibungen in Kommentare umgewandelt werden oder zumindest indem jegliche automatische Transformation der Anweisungssyntax unterbleibt (da es sich nicht um ausfĂŒhrbaren Code handelt). Der resultierende Pascal-Export mit den unten empfohlenen Exporteinstellungen wĂŒrde beispielsweise so aussehen:

Pascal-Export des puristischen Diagramms
Pascal-Export des puristischen Diagramms

Wichtigste AktivitÀten:

Empfohlene Einstellungen: