COSTRUTTO SE

Il costrutto se permette di eseguire un pezzo di codice solo se una certa condizione è vera.

La sintassi da utilizzare è la seguente:

se   <espressione>   <confronto>   <espressione>    allora    <esegui questo codice>   .

Esempio:

se gatto = 1 allora disegna cerchio --> (RAGGIO: 200) (COLORE: blu) .

 

se la variabile gatto è uguale a 1 tutto il codice compreso tra “allora” e il simbolo “.” viene eseguito, altrimenti viene ignorato.

 

è possibile utilizzare i seguenti operatori:

OPERATORE DESCRIZIONE SIMBOLO EQUIVALENTE IN MATEMATICA
= è uguale a =
> è maggiore di >
< è minore di <
<= è maggiore o uguale a
>= è minore o uguale a
!= è diverso da

 

Esempi:

se gatto > 0  allora disegna cerchio –> (RAGGIO: 200) (COLORE: blu) .

se cane < 10 allora disegna cerchio –> (RAGGIO: 100) (COLORE: rosso) .

se topo != cane allora disegna cerchio –> (RAGGIO: 150) (COLORE: giallo) .

se cane/pi greco <= (10-2)*gatto allora disegna cerchio –> (RAGGIO: 70) (COLORE: arancione) .

 

è possibile utilizzare la forma estesa (descrizione) al posto del simbolo. Esempio:

se gatto è maggiore di 0 allora disegna cerchio --> (RAGGIO: 200) (COLORE: blu) .
se cane è minore di 10 allora disegna cerchio --> (RAGGIO: 100) (COLORE: rosso) .
se topo è diverso da cane allora disegna cerchio --> (RAGGIO: 150) (COLORE: giallo) .
se cane/pi greco è minore o uguale a (10-2)*gatto allora disegna cerchio --> (RAGGIO: 70) (COLORE: arancione) .

 

è anche possibile inserire più righe di codice controllate da un se. Esempio:

se cane = 1 allora
disegna cerchio --> (RAGGIO: 100) (COLORE: rosso)
disegna rettangolo --> (LARGHEZZA: 200) (COLORE: verde)
topo = 300
.

In questi casi può essere più comodo, come in altri linguaggi di programmazione,  utilizzare le parentesi graffe “{ }” al posto di “allora” e “.” In modo da identificare a vista d’occhio i blocchi di codice.

Parentesi graffa aperta:    {    =   allora

Parentesi graffa  chiusa:    }   =       .

 

Esempio, equivalente a quello riportato sopra:

se cane = 1
{
disegna cerchio --> (RAGGIO: 100) (COLORE: rosso)
disegna rettangolo --> (LARGHEZZA: 200) (COLORE: verde)
topo = 300
}

 

Nulla vi vieta di usare questa notazione anche per delle singole linee se lo ritenete più comodo. Esempio:

se gatto > 0  { disegna cerchio --> (RAGGIO: 200) (COLORE: blu) }

 

è anche possibile inserire dei controlli se dentro altri controlli se. Esempio:

INIZIA
gatto=0
cane=1
 

CICLO CONTINUO
se gatto = 0
allora
    se cane < 101
    allora
    disegna cerchio --> (RAGGIO: cane)
    se cane < 100 allora aumenta cane di 1 .
    .
.

 

Che può anche essere scritto in questo modo:

INIZIA
gatto=0
cane=1

CICLO CONTINUO
se gatto = 0
{
    se cane <= 100
    {
    disegna cerchio --> (RAGGIO: cane)
    se cane < 100  {aumenta cane di 1 }
    }
}

 

Questo esempio disegna un cerchio che partendo da un raggio di 1 pixel cresce fino ad avere un raggio di 100 pixel.

 

È altresì possibile fare confronti di uguaglianza con stringhe di testo, ad esempio:

INIZIA
gatto=“persiano”
cane=“carlino”

CICLO CONTINUO
se gatto = “certosino”
{
se cane = “carlino” allora disegna cerchio --> (RAGGIO: 100) .
}