| Alle Programmiersprachen verarbeiten Programme zeilenweise. Die Befehle werden in jener Reihenfolge ausgeführt, in welcher sie im Quelltext enthalten sind. | Darüber hinaus bieten alle Programmiersprachen Möglichkeiten, den Programm-Fluss zu ändern, d.h. je nach Bedarf unterschiedliche Teile der Anweisungen auszuführen. |
Basic
|
LibreOffice-Basic, Visual Basic for Applications (VBA) |
| Bedingte Verzweigungen ('je nach Bedingung'): | |
| If Then | Bedingte Verzweigung |
| Select Case | Mehrfach-Verzweigung |
| On Error | Verzweigungen in der Fehler-Behandlung |
| Veraltete unbedingte Verzweigungen: | |
| GoTo | Unbedingte Verzweigung |
| GoSub | Unbedingte Verzweigung mit Rückkehr |
| On GoTo | Unbedingte Mehrfach-Verzweigung |
| On GoSub | Unbedingte Mehrfach-Verzweigung mit Rückkehr |
| Programm-Schleifen: | |
| For | Festgelegte Anzahl von Schleifen |
| For Each | Je eine Schleife für jedes Element einer Liste |
| Do While | Schleife mit Bedingung |
| Do Until | Schleife mit Bedingung |
| While | Schleife mit Bedingung |
| Unterprogramme: | |
| Function | Programm mit Rückgabe eines Funktionswertes |
| Sub | Allgemeines (Unter)-Programm |
| Call | Aufruf von Functions und Subs |
| End | Ende eines Funktionsblocks |
| Exit | Abbruch mit Exit Do, Exit For, Exit Function, Exit Property, Exit Sub |
| Links |
|
Bedingte Verzweigung (conditional branch) |
|
|
Es kommt oft vor, dass ein Programm unterschiedlich arbeiten soll - je nachdem,
ob eine Bedingung zutrifft oder nicht. Im allgemeinen Fall (rechts) wird entweder der Programm-Block Anweisungen1 oder der Block Anweisungen2 ausgeführt. Jeder Programm-Block kann beliebig viele Programmzeilen enthalten. Am Ende jeder bedingten Verzweigung werden die getrennten Programm-Teile wieder zusammengeführt: Alle nachfolgenden Anweisungen werden wieder unbedingt (d.h. in jedem Fall, ohne Bedingung) ausgeführt. |
Bedingte Verzweigung (allgemein)
If Bedingung=True Then [Anweisungen1]
Else
[Anweisungen2]
End If
♦ Details zur Programmierung von bedingten Verzweigungen in Basic |
BedingungJede Programmiersprache bietet die Möglichkeit, Bedingungen zu einer logischen Aussage zu formulieren. Eine logische Aussage hat immer einen der beiden Werte True oder FalseMeist werden zur Formulierung Vergleichs-Operatoren verwendet (Beispiel rechts). UmkehrungFast alle Vergleichs-Operatoren haben ein Gegenstück, welches genau die umgekehrte Aussage liefert. Das bewirkt eine Umkehrung der logischen Aussage oder gleich-bedeutend einer Vertauschung der beiden Programm-Blöcke einer bedingten Verzweigung. |
Vorgabe für ein Beispiel:
a=2
Einige Vergleiche:b=3 a<b liefert True, a>=b liefert False a=b liefert False, a<>b liefert True a>b liefert False, a<=b liefert True a=2 liefert True a=3 liefert False ♣ Der Operator = wird (nur) in Basic sowohl für Vergleiche als auch zur Zuweisung von Werten verwendet. Unterscheiden sie diese beiden Fälle ! |
Sonderfälle► Nur die True-Bedingung wird verarbeitet: In diesem häufigen Fall fällt der Teil Else mit dem gesamten Programm-Block Anweisungen2 weg.► Nur die False-Bedingung wird verarbeitet: Diese Konstruktion gilt als unsaubere Programmierung. Kehren sie die Bedingung um und verarbeiten sie nur die True-Bedingung. |
► Mehrfach-Verzweigung: Das Programm soll sich an einem Punkt in >2 Programm-Blöcke aufteilen. Diesen Fall kann man immer in mehrere einzelne Verzweigungen zerlegen. Die meisten Programmierssprachen (auch Basic) bieten allerdings Möglichkeiten, diesen Fall bequemer und übersichtlicher zu programmieren. ♦ Details zur Basic-Anweisung Select Case |
Basic - Bedingte Verzweigung♦ Details zu diesen Basic-Funktionen: ( Die Anweisung On Error wurde hier aufgenommen, obwohl sie keine Verzweigung sondern die Reaktion auf ein Ereignis (→ Event) ist). |
Basic - Veraltete Funktionen♦ Details zu diesen Basic-Funktionen, die allerdings nicht (mehr) verwendet werden sollten: |
Programm-Schleife |
|
| Häufig werden bestimmte Programm-Teile mehrfach ausgeführt. Die oftmalige (rasche) Wiederholung von Anweisungen zählt zu den besonderen Stärken des Computers. Alle Programmiersprachen bieten daher Anweisungen für Programm-Schleifen. |
Historisch haben sich 2 Schleifen-Grundformen herausgebildet: Schleife mit Zähler und Schleife mit Bedingung. ♦ Details zur Programmierung von Schleifen in Basic |
Schleife mit ZählerEine Variable wird als Schleifen-Zähler verwendet. Sie enthält eine ganze Zahl, die angibt, welcher Schleifen-Durchlauf gerade ausgeführt wird. Meistens kann man Anfangswert, Endwert und Inkrement des Zählers wählen.Anfangswert: wird je nach Aufgabe gewählt. In allgemeinen Fällen wählt man 0 als Anfangswert. Endwert: je nach Aufgabe Inkrement: Schleifen-Zähler aller Programmiersprachen erhöhen ihren Zählerstand pro Schleifen-Durchgang um +1, wenn nichts anderes angegeben wurde. Optional lassen sich andere Werte angeben, z.B. +2 oder -1 (in diesem Fall wird abwärts gezählt). Tipps: ► Ändern sie niemals den Wert des Schleifen-Zählers durch Programm-Anweisungen. Das Ergebnis ist je nach Programmiersprache und Version unterschiedlich, Sie können den Zähler jedoch problemlos lesen. ► Nach dem Ende der Schleife ist der Wert des Schleifen-Zählers in den meisten Programmier-Sprachen unbestimmt. Wenn sie den Wert nachher noch benötigen, sollten sie ihn an eine andere Variable zuweisen. |
Schleife mit BedingungÄhnlich wie bei der bedingten Programm-Verzweigung wird bei jedem Durchlauf der Schleife geprüft, ob eine Bedingung zutrifft oder nicht.Die Anzahl der Durchläufe ist daher nicht festgelegt sondern ändert sich je nach den Live-Daten. ► Es ist möglich, dass die Bedingung für den Abbruch der Schleife niemals eintritt (Endlos-Schleife, das Programm 'hängt' oder stürzt nach einigen Millionen Schleifen-Durchläufen ab). Vermeiden sie diesen typischen AnfängerInnen-Fehler durch zusätzliche Sicherungen (z.B. einen eigenen Zähler, der die Schleife nach 1000 Durchläufen auf jeden Fall abbricht). |
Basic - Schleife mit Zähler♦ Details zu den Basic Anweisungen |
Basic-Schleife mit BedingungLeider bietet Basic mehrere verschiedene Anweisungen für den gleichen Zweck.♦ Details zu den Basic Anweisungen |
|
|
| ● Visual Basic 2005 Handbuch (Andreas Kühnel / Galileo) - Grundlagen der Sprach-Syntax / Kontroll-Strukturen , Programm-Schleifen | |