Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

Aritmetica semplice

Gli operatori aritmetici ordinari sono elencati nella tabella seguente:


Tabella 34-3: Operatori aritmetici


Descrizione dell'operatore

Descrizione dell'operatore

+ Aggiunta


Immagine

- Sottrazione


Immagine


Immagine

* Moltiplicazione


Immagine

/ Divisione intera


Immagine

** elevamento a potenza


Immagine

% Modulo (resto)


Immagine


La maggior parte di queste sono autoesplicative, ma la divisione intera e il modulo richiedono ulteriori approfondimenti.

Poiché l'aritmetica della shell opera solo su numeri interi, i risultati della divisione sono sempre numeri interi:



[io@linuxbox~]$ eco $(( 5 / 2 ))

2

[io@linuxbox~]$ eco $(( 5 / 2 ))

2


Ciò rende ancora più importante la determinazione del resto in un'operazione di divisione:



[io@linuxbox~]$ eco $(( 5 % 2 ))

1

[io@linuxbox~]$ eco $(( 5 % 2 ))

1


Utilizzando gli operatori di divisione e modulo, possiamo determinare che 5 diviso 2 dà come risultato 2, con resto 1.

Il calcolo del resto è utile nei cicli. Permette di eseguire un'operazione a intervalli specificati durante l'esecuzione del ciclo. Nell'esempio seguente, visualizziamo una riga di numeri, evidenziando ogni multiplo di 5:



#! / Bin / bash

# modulo: dimostra l'operatore modulo per ((i = 0; i <= 20; i = i + 1)); do

resto=$((i % 5))

se ((resto == 0)); allora printf "<%d> " $i

altro

printf "%d " $i

fi fatto

printf "\ n"

#! / Bin / bash

# modulo: dimostra l'operatore modulo per ((i = 0; i <= 20; i = i + 1)); do

resto=$((i % 5))

se ((resto == 0)); allora printf "<%d> " $i

altro

printf "%d " $i

fi fatto

printf "\ n"


Una volta eseguito, il risultato sarà il seguente:



[io@linuxbox~]$ modulo

<0> 1 2 3 4 <5> 6 7 8 9 <10> 11 12 13 14 <15> 16 17 18 19 <20>

[io@linuxbox~]$ modulo

<0> 1 2 3 4 <5> 6 7 8 9 <10> 11 12 13 14 <15> 16 17 18 19 <20>


Il miglior sistema operativo cloud computing su OnWorks: