Skip to main content
Abacus

#4 • Operatori di assegnazione e aritmetici

Negli esempi precedenti abbiamo visto come assegnare un valore a una variabile o una costante usando il simbolo =.

Quel simbolo è uno dei tanti operatori che abbiamo a disposizione per manipolare le informazioni all’interno di un programma.

Pensate a una calcolatrice, sono presenti vari tasti. Alcuni di questi sono delle cifre mentre altri sono dei simboli che manipolano i valori numerici.

1971 Sharp EL-160 Compet Calculator.
1971 Sharp EL-160 Compet Calculator.

Nel contesto della programmazione accade qualcosa di molto simile, ecco la definizione di operatore:

Un operatore è un simbolo o una frase speciale che si può usare per verificare, cambiare, o combinare dei valori.

The Swift Programming Language

Operatore di assegnazione: =

Come dicevamo l’abbiamo già visto nelle lezioni precedenti. Questo operatore prende il valore che si trova alla sua destra e lo assegna alla variabile o costante alla sua sinistra.

Il valore alla destra dell’operatore può essere espresso anche tramite un’altra variabile o costante.

Operatori aritmetici: + – * /

Questi operatori vanno inseriti tra 2 operandi di tipo numerico. Provate a digitare nel Playground il seguente codice. Nella colonna di sinistra vedrete apparire i risultato, ovvero 3.

Questo significa che nel momento in cui viene eseguita la linea che avete scritto, il computer applica l’operatore + e quindi trasforma 1 + 2 in un nuovo valore: 3. In effetti digitare 1 + 2 o digitare 3 non comporta alcuna differenza a livello di risultati. Semplicemente nel primo caso il computer deve calcolare che 1 + 2 equivale a 3 quindi deve impiegare una piccolissima parte delle sue risorse.

D’accordo ma a cosa serve digitare 1 + 2 quando sappiamo benissimo che significa 3? Anzi perché impiegare delle risorse del computer per eseguire un calcolo quando potremmo semplicemente digitare 3?

Beh, come abbiamo visto nel paragrafo precedente, gli operatori possono agire su delle variabili o costanti. Quindi se in qualche modo abbiamo a disposizione la variabile year già popolata con l’anno corrente, possiamo scrivere una linea di codice che permette di calcolare quale sarà il prossimo anno.

Il risultato (che potete vedere nella colonna destra) sarà 2016. L’importanza di questa linea di codice è che ci permette di definire una regola per conoscere quale sarà il prossimo anno, indipendentemente dall’anno attuale.

Immaginate di voler scrivere un app in cui l’etichetta di un pulsante è proprio il numero del prossimo anno e di disporre di una variabile contenente l’anno corrente. Con il codice che abbiamo appena visto avete uno strumento per popolare l’etichetta che continuerà a funziona anche quando saremo nel 2016 o 2017…

Ecco altri esempi in cui viene usato l’operatore - per la sottrazione e * per la moltiplicazione.

Infine l’operatore divisione. Immaginate di ricevere il conto di una pizzeria. Il totale è 50€ e dovete dividere per 3. Potreste essere tentati di usare il seguente codice:

Sulla colonna destra di Playground vedrete che è stato calcolato il risultato 16, tuttavia se provare con una calcolatrice vedrete che il vero risultato è 16,666666667. Cosa è successo?

Dovete considerare che gli operatori si comportano in modo diverso in base al tipo di dato con cui vengono utilizzati. In particolare l’operatore / se viene applicato a 2 interi allora restituisce la parte intera della divisione (tralasciando completamente il resto!).

Esiste un tipo di dato che non abbiamo visto in precedenza che, a differenza degli Int (interi) permette di rappresentare numeri con la virgola: si tratta di Double.

Per dichiarare un Double è sufficiente digitare un numero seguito dal punto e da almeno una cifra.

Provate nuovamente ad applicare l’operatore di divisione questa volta usando almeno un Double.

Adesso il risultato sarà un Double corrispondente all’esatto risultato della divisione, ovvero: 16,6666666666667.

La prima parte della lezione sugli operatori termina qui. Vi invito a sperimentare con questi operatori usando il Playground. Fatemi sapere se qualcosa non vi è chiaro usando i commenti qui sotto.

La prossima lezione è in preparazione

Trainer • Developer • Writer

Luca Angeletti

Trainer • Developer • Writer

3 thoughts on “#4 • Operatori di assegnazione e aritmetici

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *