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) .
}