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