Strumenti Utente

Strumenti Sito


it:ugbasic:user:kw:select_case...case...case_else...endselect
Traduzioni di questa pagina:


ugBASIC Manuale Utente

SELECT CASE...CASE...CASE ELSE...ENDSELECT ✓

SINTASSI

   SELECT CASE expression
      CASE value1:
         ...
      CASE value2:
         ...
      ...
      [ CASE ELSE ]
         ...
   ENDSELECT

SCOPO

Il comando SELECT CASE fa parte della struttura SELECT CASE…END SELECT. Consente di eseguire diversi blocchi di codice a seconda del valore di una variabile o espressione. In pratica, è come avere una serie di “casi” e il programma esegue il codice corrispondente al caso che si verifica.

L'espressione viene valutata all'inizio del blocco di controllo e il suo valore viene confrontato con i valori specificati nei casi. Ogni CASE rappresenta un possibile valore o un intervallo di valori dell'espressione. All'interno di ogni caso, inserisci le istruzioni che verranno eseguite se il valore dell'espressione corrisponde a quel caso.

Il CASE ELSE è facoltativo e viene eseguito se nessun caso precedente è vero. Nei computer a 8 bit, la semantica di SELECT CASE è strettamente legata alla rappresentazione dei dati. Poiché registri e variabili erano spesso limitati a 8 bit, i valori che potevano essere confrontati in casi sono interi tra 0 e 255, anche se ugBASIC supporta qualsiasi tipo di intero. In ogni caso, consente di confrontare l'espressione con qualsiasi valore intero ma, a causa della limitazione a 8 bit, l'intervallo di valori che potevano essere confrontati dovrebbe essere limitato, per essere efficace, in termini di prestazioni.

L'utilizzo di SELECT CASE rende il codice più chiaro e facile da capire rispetto a una serie di istruzioni IF…THEN…ELSE annidate. Può essere più efficiente di una serie di istruzioni IF…THEN…ELSE.

ESEMPIO

  SELECT CASE number
    CASE 1
       PRINT "one!"
    CASE 2
       PRINT "two!"
    CASE ELSE
       PRINT "neither!"
  ENDSELCT

Si vedano anche i seguenti file di esempio:

ABBREVIAZIONE

 SlCsCsCsElEs

DISPONIBILE SU

  • Atari (400/800)
  • Atari XL/XE
  • Commodore 128 (MOS 8502)
  • Commodore 128 (Zilog Z80)
  • Commodore 64
  • Commodore 64+REU
  • TRS-80 Color Computer
  • TRS-80 Color Computer 3
  • ColecoVision
  • Amstrad CPC 664
  • Dragon 32
  • Dragon 64
  • Thomson MO5
  • Thomson MO5
  • Olivetti Prodest PC128
  • Commodore PLUS/4
  • SEGA SC-3000
  • SEGA SG-1000
  • VG-5000
  • Commodore VIC-20
  • ZX Spectrum 48

VEDI ANCHE

PROBLEMI?

Se si riscontra un problema nell'utilizzare questo comando, se si ritiene che vi sia un bug oppure che la spiegazione sia poco chiara, è possibile aprire una segnalazione per questa parola chiave su GitHub. Grazie!

POWERED BY