2.11 Verzweigungen

1. Einfache Verzweigungen mit IF

Soll es an einer Stelle zwei Möglichkeiten des weiteren Programmablaufs geben, so gibt es in BASIC die Möglichkeit einer “Verzweigung”. Syntax:

IF (Bedingung 1) THEN  (Befehl)  (Befehl)   ... ELSEIF (Bedingung 2) THEN  (Befehl)  (Befehl)   ... ELSE  (Befehl)  (Befehl)  ... END IF

Beispiel:

IF a 10 THEN  Print “Die Zahl hat eine Stelle.“ ELSEIF a = 10 And a 100 THEN  Print “Die Zahl hat zwei Stellen.“ ELSE  Print “Die Zahl hat mehr als zwei Stellen.“ END IF

Image89.JPG
Image92.JPG

2. Mehrfache Verzweigungen
mit SELECT CASE

Beispiel: Dieses Beispiel findet heraus, ob ein Großbuchstabe, ein Kleinbuchstabe, eine Zahl oder ein anderes Zeichen eingegeben wurde.

Private Sub Form_Click ()  Dim Msg$, UserInput     ‘ Variablen deklarieren.  Msg$ = “Geben Sie einen Buchstaben oder“  Msg$ = Msg$ + “eine Zahl “  Msg$ = Msg$ + “ zwischen 0 und 9 ein.“  UserInput = InputBox(Msg$)       ‘ Benutzereingabe anfordern. If Not IsNumeric(UserInput) Then       ‘ Buchstabe oder Zahl? If Len(UserInput) 0 Then Select Case Asc(UserInput) ‘ Falls Buchstabe ‘ Muß Großbuchstabe sein. Case 65 To 90  Msg$ = “Sie haben den Großbuchstaben ‘“  Msg$ = Msg$ + Chr(Asc(UserInput))  Msg$ = Msg$ + “’ eingegeben.“ ‘ Muß Kleinbuchstabe sein. Case 97 To 122  Msg$ = “Sie haben den Kleinbuchstaben ‘“  Msg$ = Msg$ + Chr(Asc(UserInput))  Msg$ = Msg$ + “’ eingegeben.“ Case Else ‘ Muß etwas anderes sein.  Msg$ = “Ihre Eingabe ist weder ein“ Msg$ = Msg$ + “ Buchstabe noch eine“ Msg$ = Msg$ + “  Zahl.“ End Select    End If ‘Len(UserInput)...  Else ‘If Not IsNumeric ... Select Case CDbl(UserInput)     ‘ Falls eine Zahl. Case 1, 3, 5, 7, 9 ‘ Ist ungerade. Msg$ = UserInput + “ ist ungerade.“ Case 0, 2, 4, 6, 8 ‘ Ist gerade. Msg$ = UserInput + “ ist gerade.“ Case Else ‘ Außerhalb des Bereichs. Msg$ = “Die eingegebene Zahl liegt Msg$ = Msg$ + “außerhalb des “ Msg$ = Msg$ + “geforderten Bereichs.“ End Select  End If     ‘If Not IsNumeric ...  MsgBox Msg$ ‘ Meldung anzeigen. End Sub