„Übersetzung“ von Struktogrammen nach VBA
Transcription
„Übersetzung“ von Struktogrammen nach VBA
„Übersetzung“ von Struktogrammen nach VBA Einleitung • Bezüglich der folgenden Folien ist für die anstehende Klausur besonders wichtig: – Die formelle Übersetzung der Struktogramme in VBA-Code (Spalte "Struktogramme" zu Spalte "VBA-Code" – die beide anderen Spalten sind Zusatzinformationen und nicht klausurrelevant) – In eckigen Klammern stehende Anweisungen in der Spalte "VBA-Code" (z.B. [Exit Do]) sind optional - können also, müssen aber nicht verwendet werdend) Einleitung • Bezüglich der folgenden Folien ist für die anstehende Klausur besonders wichtig: – Beispiele für die Umsetzung von Struktogrammen in VBA finden Sie bei den klausurähnlichen Vorbereitungsaufgaben zu VBA – Die in den folgenden Folien erkennbaren Einrückungen nach rechts (in den Spalten "VBACode" ) dienen der besseren Lesbarkeit und sollten so auch verwendet werden Verzweigung (Auswahl, Selektion) Einseitige Verzweigung (ohne Else) VB - Code Pseudo - Code Einzeilige Version: Struktogramm WAHR If Bedingung then A Wenn Bedingung dann A (A = Anweisung) (A = Anweisung) Bedingung FALSCH FALSCH Anweisung Bedingung Mehrzeilige Version: If Bedingung then Anweisung1 ... Anweisung_n End If PAP WAHR Wenn Bedingung dann Anweisung1 ... Anweisung_n Ende Wenn WAHR Bedingung FALSCH Anweisung1 Anweisung1 ... ... Anweisung_n Anweisung_n Verzweigung (Auswahl, Selektion) Zweiseitige Verzweigung (mit Else) VB - Code If Bedingung then Anweisung(en) des If-Blockes Else Anweisung(en) des Else-Blockes End If Pseudo - Code Wenn Bedingung dann Anweisung(en) des Wenn-Blockes Sonst Anweisung(en) des Sonst-Blockes Ende Wenn Struktogramm WAHR Bedingung Anweisung(en) des WAHRBlockes PAP FALSCH Anweisung(en) des FALSCHBlockes WAHR FALSCH Bedingung Anweisung(en) des WAHRBlockes Anweisung(en) des FALSCHBlockes Verzweigung (Auswahl, Selektion) Mehrfachverzweigung (mit ElseIf) Bedingung1 W PAP F Bedingung2 W F Bedingung_n W Beding1 F F Anweisungen für alle anderen Fälle W Anweisungen für Bedingung_n = WAHR Wenn Bedingung dann Anweisung(en) des Wenn-Blockes SonstWenn Beding1 dann Anweisung(en) des 1. SonstWenn-Blockes SonstWenn Beding2 dann Anweisung(en) des 2. SonstWenn -Blockes SonstWenn Beding_n dann Anweisung(en) des n. SonstWenn -Blockes ... Sonst Anweisung(en) des Sonst-Blockes Ende Wenn Struktogramm Anweisungen für Bedingung2 = WAHR If Bedingung then Anweisung(en) des If-Blockes ElseIf Beding1 then Anweisung(en) des 1. ElseIfBlockes ElseIf Beding2 then Anweisung(en) des 2. ElseIfBlockes ElseIf Beding_n then Anweisung(en) des n. ElseIfBlockes ... Else Anweisung(en) des Else-Blockes End If Pseudo - Code Anweisungen für Bedingung1 = WAHR VB - Code W Beding2 F W Beding_n F Anweisung(en) für alle anderen Fälle Anweisung(en) für Bed1 = WAHR Anweisung(en) für Bed2 = WAHR Anweisung(en) für Bed_n = WAHR Wiederholung (Schleifen, Iteration) Bedingungsschleife, kopfgesteuert, Laufbedingung mit While (Solange) VB - Code Do While Bedingung Anweisung1 Anweisung2 [Exit Do] Anweisung_n Loop Pseudo - Code Struktogramm Solange Bedingung führe aus Anweisung1 Anweisung2 [Exit] Anweisung_n Solange Bedingung oder Solange Bedingung Anweisung1 Anweisung2 [Exit] Anweisung_n Wiederhole Anweisung1 Anweisung2 PAP Bedingung FALSCH WAHR [Exit] Anweisung1 Anweisung_n Anweisung2 Anweisung_n Wiederholung (Schleifen, Iteration) Bedingungsschleife, kopfgesteuert, Abbruchbedingung mit Until (Bis) VB - Code Do Until Bedingung Anweisung1 Anweisung2 [Exit Do] Anweisung_n Loop Pseudo - Code Bis Bedingung führe aus Anweisung1 Anweisung2 [Exit] Anweisung_n Struktogramm Bis Bedingung Anweisung1 Anweisung2 oder Bis Bedingung Anweisung1 Anweisung2 [Exit] Anweisung_n Wiederhole PAP Bedingung WAHR FALSCH [Exit] Anweisung1 Anweisung_n Anweisung2 Anweisung_n Wiederholung (Schleifen, Iteration) Bedingungsschleife, fußgesteuert, Laufbedingung mit While (Solange) Do VB - Code Anweisung1 Anweisung2 [Exit Do] Anweisung_n Loop While Bedingung FührePseudo aus - Code Anweisung1 Anweisung2 [Exit] Anweisung_n Solange Bedingung Anweisung1 Struktogramm PAP Anweisung2 Anweisung1 [Exit] Anweisung2 Anweisung_n Anweisung_n oder Wiederhole Anweisung1 Anweisung2 [Exit] Anweisung_n Solange Bedingung Solange Bedingung WAHR Bedingung FALSCH Wiederholung (Schleifen, Iteration) Bedingungsschleife, fußgesteuert, Abbruchbedingung mit Until (Bis) VB - Code Do Anweisung1 Anweisung2 [Exit Do] Anweisung_n Loop Until Bedingung Pseudo - Code Führe aus Anweisung1 Anweisung2 [Exit] Anweisung_n Bis Bedingung Struktogramm Anweisung1 Anweisung1 Anweisung2 Anweisung2 [Exit] Anweisung_n Anweisung_n oder Wiederhole Anweisung1 Anweisung2 [Exit] Anweisung_n Bis Bedingung PAP FALSCH Bis Bedingung Bedingung WAHR Wiederholung (Schleifen, Iteration) Zählschleife VB - Code For i = Start to Ende Anweisung1 Anweisung2 [Exit For] Anweisung_n Next i Pseudo - Code Für i =Start bis Ende Anweisung1 Anweisung2 [Exit] Anweisung_n Wiederhole Struktogramm PAP Für i=Start bis Ende WAHR oder Wiederhole n mal Ende erreicht? FALSCH oder Anweisung1 Anweisung1 Wiederhole n mal Anweisung1 Anweisung2 [Exit] Anweisung_n Anweisung2 Anweisung2 [Exit] Anweisung_n Anweisung_n