Unix/Linux - Funzioni Matematiche Incorporate nello Shell

Ciao, aspiranti programmatori! Oggi ci imbarcheremo in un viaggio emozionante nel mondo delle funzioni matematiche incorporate nello shell di Unix/Linux. Non preoccupatevi se siete nuovi alla programmazione - vi guiderò attraverso ogni passo con spiegazioni chiare e tanti esempi. Mettiamoci all'opera!

Unix / Linux - Builtin Functions

Cos'è una Funzione Incorporata nello Shell?

Prima di addentrarci nelle funzioni matematiche, capiremo cos'è una funzione incorporata nello shell. Queste sono comandi che sono costruiti direttamente nello shell, il che significa che non devono essere installati separatamente. Sono sempre a vostra disposizione, pronte ad aiutarvi a eseguire vari compiti in modo efficiente.

Perché Usare Funzioni Matematiche negli Script Shell?

Potreste domandarvi: "Perché abbiamo bisogno di matematica negli script shell?" Immaginate di scrivere uno script per calcolare il vostro budget mensile o per analizzare alcuni dati. Ecco dove entrano in gioco queste funzioni! Vi permettono di eseguire calcoli direttamente all'interno del vostro script shell, risparmiando tempo e fatica.

Funzioni Matematiche Comuni nello Shell

Esploriamo alcune delle funzioni matematiche più utilizzate negli shell di Unix/Linux. Useremo lo shell Bash per i nostri esempi, poiché è ampiamente utilizzato e preinstallato su molti sistemi.

1. Operazioni di Base di Aritmetica

Bash offre diversi modi per eseguire operazioni di base di aritmetica. Ecco un'occhiata:

a. Utilizzando il comando expr

#!/bin/bash
a=10
b=5
sum=$(expr $a + $b)
echo "La somma di $a e $b è: $sum"

Questo script stamperà: La somma di 10 e 5 è: 15

Qui, expr viene utilizzato per valutare l'espressione $a + $b. Il risultato viene poi memorizzato nella variabile sum.

b. Utilizzando le parentesi doppie (( ))

#!/bin/bash
a=10
b=5
((sum = a + b))
echo "La somma di $a e $b è: $sum"

Questo metodo è più conciso e spesso preferito per operazioni di aritmetica semplici.

2. Operazioni Matematiche Più Complesse

Per calcoli più complessi, Bash offre il comando bc. Sebbene non sia strettamente incorporato, è ampiamente disponibile e molto utile.

#!/bin/bash
pi=$(echo "scale=2; 22/7" | bc)
echo "Il valore di pi (a due decimali) è: $pi"

Output: Il valore di pi (a due decimali) è: 3.14

Qui, scale=2 imposta il numero di decimali, e bc esegue la divisione.

Tabella delle Operazioni Matematiche Comuni

Ecco una tabella utile delle operazioni matematiche che potete eseguire in Bash:

Operazione Simbolo Esempio
Addizione + echo $((5 + 3))
Sottrazione - echo $((10 - 4))
Moltiplicazione * echo $((6 * 7))
Divisione / echo $((20 / 5))
Modulo (Resto) % echo $((17 % 3))
Esponentiazione ** echo $((2 ** 3))

Funzioni Matematiche Avanzate

Ora che abbiamo coperto le basi, esploriamo alcune funzioni matematiche avanzate. Queste non sono incorporate in Bash, ma sono comunemente utilizzate negli script shell tramite il comando bc.

1. Radice Quadrata

#!/bin/bash
number=16
sqrt=$(echo "scale=2; sqrt($number)" | bc)
echo "La radice quadrata di $number è: $sqrt"

Output: La radice quadrata di 16 è: 4.00

2. Seno e Coseno

#!/bin/bash
angle=30
sin=$(echo "scale=4; s($angle * 3.14159 / 180)" | bc -l)
cos=$(echo "scale=4; c($angle * 3.14159 / 180)" | bc -l)
echo "Il seno di $angle gradi è: $sin"
echo "Il coseno di $angle gradi è: $cos"

Output:

Il seno di 30 gradi è: .4999
Il coseno di 30 gradi è: .8660

Notate l'opzione -l con bc, che carica la libreria matematica per le funzioni trigonometriche.

Esempio Pratico: Convertitore di Temperatura

Mettiamo in pratica le nostre nuove conoscenze con un esempio pratico - un convertitore di temperatura!

#!/bin/bash

echo "Convertitore di Temperatura"
echo "1. Celsius a Fahrenheit"
echo "2. Fahrenheit a Celsius"
read -p "Inserisci la tua scelta (1/2): " choice

case $choice in
1)
read -p "Inserisci la temperatura in Celsius: " celsius
fahrenheit=$(echo "scale=2; ($celsius * 9/5) + 32" | bc)
echo "$celsius°C è uguale a $fahrenheit°F"
;;
2)
read -p "Inserisci la temperatura in Fahrenheit: " fahrenheit
celsius=$(echo "scale=2; ($fahrenheit - 32) * 5/9" | bc)
echo "$fahrenheit°F è uguale a $celsius°C"
;;
*)
echo "Scelta non valida"
;;
esac

Questo script dimostra come possiamo utilizzare le funzioni matematiche in una situazione reale. Permette agli utenti di convertire temperature tra Celsius e Fahrenheit.

Conclusione

Complimenti! Avete appena fatto i vostri primi passi nel mondo degli script shell e delle funzioni matematiche. Ricordate, la pratica rende perfetti. Provate a creare i vostri script utilizzando queste funzioni - magari un calcolatore o uno script per analizzare alcuni dati.

Mentre continuate il vostro viaggio nella programmazione, scoprirete che queste operazioni matematiche di base costituiscono la base per calcoli più complessi. Continuate a esplorare, a imparare e, soprattutto, divertitevi con esso!

Buon codice, futuri maghi della tecnologia! ??‍??‍?

Credits: Image by storyset