Struktogramm erstellen FUP

zeus99

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich möchte aus diesem FUP Programm(besser gesagt dem SR) ein Struktogramm erstellen. Hab leider im Internet nichts hilfreiches gefunden. Als Bedingungen hab ich die Setzen und (nicht!)Rücksetze-Bedingungen aufgeführt=Ja andernfalls passiert nichts. Ist mein Lösungsansatz richtig? Und wie würde es aussehen für das komplette Programm.
 

Anhänge

  • Struktogramm.jpg
    Struktogramm.jpg
    88 KB · Aufrufe: 75
Ich möchte aus diesem FUP Programm(besser gesagt dem SR) ein Struktogramm erstellen.
Hab leider im Internet nichts hilfreiches gefunden.
Dein FUP stellt eine Sequenz dar (Einschränkung: s.u.), eine Abfolge von Zuweisungen.
Dein Struktogramm stellt eine Selektion dar, eine Verzweigung, abhängig von einer (1) Bedingung.

Das "SR" ist leider etwas komplexer, lässt sich aber wahlweise als "pure" Sequenz oder als Sequenz von 2 (zwei) Selektionen darstellen.

1. SR als Sequenz:
Q := Q ODER S
Q := Q UND NICHT R1
oder beide Anweisungen zusammengefasst als Einzeiler
Q := (Q ODER S) UND NICHT R1

2. SR mit Selektionen:
Wenn S Dann Q := True
Wenn R1 Dann Q := False
Beiden Abfragen ist gemeinsam, dass NICHTS getan wird, wenn die jeweilige Bedingung S bzw. R1 nicht erfüllt ist.
Die Abfragen müssen auch unbedingt in der gezeigten Reihenfolge durchlaufen werden, da R1 dominierend sein soll.

Q muss unbedingt eine Variable sein, die ihr "Gedächtnis" behält (bis zum nächsten Abarbeiten der ProgrammZeilen).
Ferner muss sichergestellt sein, dass die Variable Q nicht anderweitig benutzt (verändert) wird.

Gruss, Heinileini

PS:
Q := Q + Nicht(Li) * S1 * S3
Q := Q * Nicht(S3 * S0 * B2)
Q1 := Q + S1 * B2 * Nicht(S3)
Zur Schreibweise: + steht für ODER, * steht für UND

PPS:
Es geht natürlich auch mit ElseIf:
If R1 then
Q := False

ElseIf S Then
Q := True
EndIf
Man beachte, dass zuerst R1 abgefragt wird, weil es dominierend sein soll.
 
Zuletzt bearbeitet:
Zurück
Oben