> For the complete documentation index, see [llms.txt](https://documentation.soulver.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.soulver.app/it/riferimento-sintassi/general/conditionals-and-comparisons.md).

# Condizionali

Come molti linguaggi di programmazione, Soulver supporta i condizionali (a volte chiamati "istruzioni if").

In Soulver, un condizionale viene espresso su una singola riga:

```
guadagni = $45k                                       | $45.000,00

if guadagni > $30k then tassa = 20% else tassa = 5%   | 20%

Tasse pagate: guadagni × tassa                        | $9.000,00
```

Le parole chiave `if`, `then` ed `else` esistono solo in inglese; Soulver le capisce in qualsiasi lingua.

**Dichiarare una variabile usando un condizionale**

```
entrate = $35k
spese = $21,5k

in attivo = vero se entrate > spese           | true
insolvente = falso a meno che spese > entrate | false
```

**Uso di "e" e "o" nei condizionali**

```
BMI = 24
Sottopeso = BMI < 18,5               | false
Peso sano = BMI >= 18,5 e BMI < 25   | true
Sovrappeso = BMI >= 25 e BMI < 30    | false
Obeso = BMI >= 30                    | false
```

{% hint style="info" %}
&& and || sono anche supportati
{% endhint %}

#### Operatori di confronto e booleani

Soulver supporta gli standard operatori di confronto in stile ["C"](https://en.wikipedia.org/wiki/C_\(programming_language\)).

Viene restituito un valore booleano (`true` o `false`).

| Nome                | Operatore |
| ------------------- | --------- |
| Uguale a            | ==        |
| Non uguale a        | !=        |
| Maggiore di         | >         |
| Minore di           | <         |
| Maggiore o uguale a | >=        |
| Minore o uguale a   | <=        |

È possibile assegnare direttamente a una variabile un valore booleano

```
costo = $500
sconto = true
if sconto then costo = costo - 10%
costo | $450,00
```

Le parole chiave `if`, `then` e `true` esistono solo in inglese; Soulver le capisce in qualsiasi lingua.

È possibile utilizzare anche gli operatori di confronto al di fuori delle istruzioni if

```
20 km == 20.000 m  | true
11:30 < 9:30       | false
```
