Unity 3D Italia

Operatori Unitari

Visti gli operatori aritmetici compositi, gli operatori unitari vi risulteranno molto facili da comprendere. Perché in effetti sono la stessa identica cosa, con l’unica differenza che con gli operatori aritmetici compositi
potremmo aumentare un valore di una quantità arbitraria scelta da noi,
invece, con gli operatori unitari, come dice la parola stessa,
lavoreremo solo l’unità.

Anche questo tipo di operatori ci tornerà molto utile, sopratutto in presenza di cicli, (che sono dei costrutti, come if) che vedremo in seguito.

Gli operatori unitari, come suggerisce il termine, permettono di operare su una singola unità, ovvero, di aggiungere o sottrarre il numero 1 ad una variabile.
Basta scrivere così:

numero++;

In questo caso, se numero fosse stato 10, sarebbe diventato 11, sarebbe cioè aumentato di 1.

Se per esempio mettessimo questo codice all’interno di un if che verifica la pressione di un tasto, avremmo calcolato quante volte verrà premuto quel tasto.
Ora avrete capito perché il linguaggio più famoso del mondo si chiama C++.

Molto facile.
In pratica come abbiamo visto per gli operatori aritmetici compositi, potremmo creare un contatore utilizzando gli operatori unitari.

La parola cicli ci fa subito pensare a qualche cosa che si ripete. Pensate dunque cosa potremmo fare se potessimo ripetere un certo numero di volte questa operazione. Ogni volta la nostra variabile aumenterebbe di 1 diventando così in tutto e per tutto, un contatore.

Così come abbiamo fatto nella lezione precedente, creiamo un contatore utilizzando questa volta l’operatore unitario ++. Rispetto allo script precedente, cambiano solo le righe evidenziate.

int secondi=0 //Inizia da zero

//Metodo che andrà eseguito ad ogni secondo che passa
 void AggiungiUnSecondo()
    {
     
     secondi++;
     
     }

Stessa cosa potremmo farla per i minuti e le ore:

int secondi=0 //Inizia da zero
int minuti=0 //Inizia da zero
int ore=0; //Inizia da zero

//Metodo che andrà eseguito ad ogni secondo che passa
 void AggiungiUnSecondo()
   {
     
     secondi++;
     
     //Quando i secondi sono uguali a 60
     if(secondi==60)
     {
         AggiungiUnMinuto(); //Eseguo il metodo che aggiunge un minuto 
         secondi=0;//azzero i secondi
         
     }
   }
     
     
     
//Metodo che verrà eseguito ogni 60 secondi, richiamato dal metodo sopra, appunto ogni 60 secondi
 void AggiungiUnMinuto()
   {
     
     minuti++;
     
     //Quando i minutisono uguali a 60   
     ;if(minuti==60)
     {
         AggiungiUnOra();//Eseguo il metodo che aggiunge un'ora 
          minuti=0;//azzero i minuti
     }
   }
     
     
     
     
 //Metodo che verrà eseguito ogni 60 minuti, richiamato dal metodo sopra, ogni 60 minuti
 void AggiungiUnOra)
   {
     
     ore++;
     
   }

Ultima nota sugli operatori unitari.
Avremmo potuto anche scrivere così:

++numero;

Le cose non sarebbero cambiate, nel nostro caso, se numero fosse stato 10, sarebbe diventato 11.
La differenza tra questi due modi di scrivere sta in questioni che per ora a noi non interessano, per il momento possiamo utilizzare l’uno o l’altro modo.

Stessa cosa vale per la sottrazione ovvero:

numero–;

In questo caso se numero fosse stato 10, sarebbe diventato 9.

Conclusioni finali sugli operatori

Mamma mia quanta roba! Siete un po’ confusi? Non mi stancherò mai di dire: continuate ad andare avanti, anche se alcuni concetti non sono chiarissimi.
Non c’è guida migliore dell’esperienza. Facendo le prime prove inizierete ad entrare nella mentalità giusta e vedrete che avrete tutto più chiaro.

Ricordatevi che qui stiamo facendo programmazione, mica pizza e fichi, roba seria e professionale. E vi ricordo anche  che, se non avete capito qualche cosa, potete tranquillamente lasciare un commento sotto ad ogni lezione.

Exit mobile version