FSR-Online
  AG Informatik






Sind mehrere Entscheidungen zu treffen, so können IF...THEN-Abfragen
auch kombiniert werden. Solche Kombinationen sind jedoch sehr
unübersichtlich und schwer nachzuvollziehen (linkes Beispiel). Kürzer
und sehr viel übersichtlicher erscheint das rechte Beispiel, welches die
 SELECT...CASE-Struktur verwendet.

  REM Antibeispiel                          REM SELECT...CASE
  CLS                                       CLS
  INPUT "Deine Zahl: ",zahl                 INPUT "Deine Zahl: ",zahl
  IF zahl<4 THEN                            SELECT CASE zahl
    PRINT "Hallo"                             CASE 0 TO 3
  ELSE                                          PRINT "Hallo"
    IF zahl>8 THEN                            CASE 4 TO 5, 7 TO 8                 
      PRINT "Guten Morgen"                      PRINT "Grüß Gott"
    ELSE                                      CASE 6
      IF zahl=6 THEN                            PRINT "Hi"
        PRINT "Hi"                            CASE ELSE
      ELSE                                      PRINT "Guten Morgen"
        PRINT "Grüß Gott"                   END SELECT
      ENDIF
    ENDIF
  ENDIF

  1. Gib das rechte Programm ein und starte es mehrmals. Gib verschiedene Zahlen ein und beobachte die jeweilige Bildschirmausgabe.

  2. Das folgende Programm verwendet ebenso die SELECT...CASE-Struktur zur Programmsteuerung. Wird eine bestimmte Buchstabentaste gedrückt, so wird ausgegeben, ob ein Klein- oder ein Großbuchstabe gedrückt wurde.
           REM SELECT..CASE1
           CLS
           PRINT "Drücke bitte eine beliebige Taste..."
           PRINT "(ESC = Programmende)"
           DO
             DO
               taste$ = INKEY$
             LOOP UNTIL taste$ <> ""
             SELECT CASE taste$
               CASE "a" TO "z"
                 LOCATE 4, 1
                 PRINT "Kleinbuchstabe "; taste$; "      "
               CASE "A" TO "Z"
                 LOCATE 4, 1
                 PRINT "Großbuchstabe "; taste$; "      "
               CASE ELSE
                 LOCATE 4, 1
                 PRINT "keine Buchstabentaste"
             END SELECT
           LOOP UNTIL taste$ = CHR$(27)
    
  3. Erweitere das obige Programm so, daß auch die Zahlentasten (1...0) erkannt werden (Ausgabe Zahlentaste).

  4. Die Umlaute (ä, ö, ü, Ä, Ö, Ü) und das ß werden nicht als Buchstabentasten erkannt. Erweitere das Programm um die dazu notwendigen Programmzeilen.

  
Friedrich-Schiller-Realschule Böblingen, Kremser Str. 5, 71034 Böblingen
©1996,1999 Winfried Furrer, Böblingen