CalledMaggi Geschrieben 6. Februar 2009 Geschrieben 6. Februar 2009 Servus, Bin gerade dabei ein Struktugramm zu machen, habe eine ganz einfache Frage: Kann ich zwei Zweige wieder zusammen fuehren, oder muss ich beide Zweige weiter fuehren? Sprich nach einer IF Abfrage. Wuerde dann so aussehen: Sorry, leider werden die space entfernt... "I" Soll der vertikale Strich in der Tabelle sein. In Tabbellen gesprochen: START IF Prepare TRUE I FALSE "nothing to do" I Prepare RUN END Oder so: START IF Prepare TRUE I FALSE RUN I Prepare END I RUN I END Vielen Dank Gruss Zitieren
VaNaTiC Geschrieben 6. Februar 2009 Geschrieben 6. Februar 2009 (bearbeitet) Der erste Fall ist absolut ok. Du kommst nach einer Verzweigung (if-else) wieder zurück, das ist so richtig. das erste Strukturgramm würde so im Pascal-Code ausschauen: if Bedingung then //nix zu tun bei TRUE else IrgendwasTun bei FALSE Run das Zweite würde zwar genauso funktionieren aber dagegen so ausschauen: if Bedingung then Run else begin IrgendwasTun bei FALSE Run end Und das macht man normalerweise nicht, da hier zweimal an unterschiedlichen Stellen Run gecallt wird, ohne das es wirklich Not tut. Verbessern kannst Du erstes Strukturgramm, falls wirklich bei TRUE nix zu tun sein sollte, indem Du einfach: not Bedingung als if-Abfrage notierst und ins else nix reinschreibst. Das wäre dann folgender Code: if not Bedingung then Irgendwas bei not Bedingung (früher FALSE) Run Bearbeitet 6. Februar 2009 von VaNaTiC Verbesserung vergessen reinzuschreiben Zitieren
CalledMaggi Geschrieben 6. Februar 2009 Autor Geschrieben 6. Februar 2009 Hi, Vielen Dank fuer die Hilfe! Also wenn ich Dich richtig verstanden habe, dann sieht mein Struktugramm jetzt so aus: START IF NOT Prepare TEHN TRUE FALSE Prepare RUN END Un der Code dazu START; IF NOT Prepare THEN Prepare; ENDIF; RUN: END; Zitieren
VaNaTiC Geschrieben 6. Februar 2009 Geschrieben 6. Februar 2009 Korrekt, wobei "if Prepare then Prepare;" komisch ist Sollten nicht die Prepare-Bedingung und der Prepare-Call eventuell unterschiedliche Bezeichnungen tragen? Zitieren
CalledMaggi Geschrieben 9. Februar 2009 Autor Geschrieben 9. Februar 2009 (bearbeitet) Korrekt, wobei "if Prepare then Prepare;" komisch ist Richtig, ich habe vergessen "flg" bei der BOOL dranzuschreiben... So ists jetzt richtig: "IF NOT PrepareFlg THEN Prepare" Das flag wird gesetzt, wenn die Procedure "Prepare" aufgerufen wurde... Xiexie! (Danke!) Bearbeitet 9. Februar 2009 von CalledMaggi Zitieren
CalledMaggi Geschrieben 9. Februar 2009 Autor Geschrieben 9. Februar 2009 (bearbeitet) Jaja, da war der Druck auf die Maustaste zu schnell oder die Verbindung zu langsam... :upps Bearbeitet 9. Februar 2009 von CalledMaggi Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.