FreeBASIC – select case

Torniamo a parlare di strutture di controllo.

In particolare ci focalizzeremo su quelle strutture che ci danno l’opportunità di operare delle scelte.

Abbiamo già conosciuto una struttura di questo tipo: la struttura if-then-else.

Oggi conosceremo la struttura select case.

Sintassi

La sintassi di questa struttura di controllo è molto semplice. Vediamola:

select case espressione
  case valore1
    [istruzioni]
  case valore2
    [istruzioni]
  ...
    ...
  [case else]
    [istruzioni]
end select

In pratica il blocco di istruzioni che viene eseguito dipende unicamente dal valore dell’espressione.

Esempio

Facciamo un esempio molto semplice:

dim colore as string

input "Di che colore è il semaforo in questo momento"; colore

select case colore
  case "rosso"
    print "Fermati!"
  case "giallo"
    print "Attenzione!"
  case "verde"
    print "Ok, puoi andare."
  case else
    print"Mh... sei sicuro di vederci bene?"
end select

Al prossimo articolo. 😉

FreeBASIC – do-loop

Dopo aver visto come funziona l’istruzione for-next, oggi facciamo la conoscenza di una seconda struttura di controllo dedicata sempre alla iterazione: l’istruzione do-loop.

Sintassi

do [ { until | while } condizione ]
    [blocco istruzioni]
loop

oppure:

do
    [blocco istruzioni]
loop [ { until | while } condizione ]

Semantica

Le due modalità di scrittura dell’istruzione differiscono nel fatto che, nella seconda tipologia, il blocco di istruzioni viene eseguito almeno una volta.

Utilizzando la parola-chiave until, il ciclo si ripete fino a che (until) la condizione assume valore vero (true), una volta che questo accade si esce dal ciclo.

Con la parola-chiave while, invece, il ciclo si ripete mentre (while) la condizione ha valore vero (true); quando la condizione assume valore falso (false) il ciclo si interrompe.

Esempio

dim c as integer
c = 0
'il ciclo stampa i numeri da 0 a 9
do while c < 10
    print "Il valore della condizione è pari a: "; c
    c += 1 'incrementa di uno
loop

Nel prossimo articolo parleremo dei diversi tipi di files gestiti dal compilatore FreeBASIC.

FreeBASIC – for-next

Dopo aver parlato della struttura di controllo if-then-else utile per gestire le alternative, oggi incontriamo un’altra struttura di controllo che viene utilizzata per l’iterazione (o ciclo): l’istruzione for-next.

Questa è la sua sintassi:

for iteratore [as tipo dati] = valIniz to valFinale [step valPasso]
    [blocco istruzioni]
next iteratore

In pratica all’inizio del ciclo la variabile iteratore assume il valore valIniz, dopodiché il blocco delle istruzioni viene eseguito sino a che il valore della variabile iteratore non raggiunge il valore valFinale procedendo per passi della lunghezza pari a valPasso:

' stampa il valore della variabile i da 0 a 10 con passo 2
for i as integer = 0 to 10 step 2
    print "La variabile iteratore ora vale: "; i
next i

Alcune cose che è bene sapere:

  • la variabile iteratore può anche essere dimensionata all’esterno del ciclo;
  • il passo può avere anche valore negativo;
  • il passo, oltre a poter assumere valori interi, può anche essere un valore decimale;
  • se il valore del passo non viene specificato, questo assumerà il valore predefinito 1;
  • i valori valIniz e valFinale possono essere anche delle espressioni;
  • il valore valFinale può anche essere minore di valIniz.

Nel prossimo articolo parleremo di un’altra struttura iterativa, il ciclo do-loop.

FreeBASIC – if-then-else

Nel precedente articolo abbiamo imparato come immettere dati grazie alla istruzione input. Ora che abbiamo questa possibilità e quella di stampare a video delle informazioni, possiamo permetterci di scrivere il nostro primo programma contenente una struttura di controllo: la struttura if-then-else che permette di scegliere tra diverse alternative.

'Programma con struttura di controllo
dim t as string
input "Come ti chiami "; t
if t = "ciuchina" then
    print "Benvenuta "; t
elseif t = "ciuchino" then
    print "Benvenuto "; t
else
    print "Ciao, non ti conosco "; t
end if

Semplice, no? 🙂

Nota anche la presenza di un commento all’inizio del programma.

I commenti sono molto utili per fornire informazioni a chi leggerà il nostro codice, ma anche per noi stessi una volta che andremo a rileggere i nostri programmi a distanza di tempo.

Per inserire un commento su una singola riga basta anteporre il simbolo apice () al testo del nostro commento.

Nel prossimo articolo parleremo di un’altra struttura di controllo adatta a gestire l’ iterazione: l’istruzione for-next.