Cómo escribir un script de shell para una progresión geométrica y la suma de la progresión aritmética

(crédito de la imagen a: Sucesos y secuencias geométricas)

Entonces, hay 3 términos, a, r, n

Hay algunas maneras de hacer matemáticas en bash (supongo que bash, aunque no importará, a menos que quisieras decir power shell …)

Sin embargo, para lugares decimales, quédese con awk, bc o perl.

#! / bin / bash
si [$ # -lt 3]; luego
echo “cálculo de suma geométrica”
echo “Error – debe tener 3 parámetros numéricos”
echo -e “uso = $ 0 ar n”
formula = “| 1 – r ^ n |
a * | ——- |
El | 1 – r | ”
echo “$ formula”
salida
fi
echo -n “usando awk:”
echo $ 1 $ 2 $ 3 | awk ‘{print $ 1 * ((1- $ 2 ^ $ 3) / (1- $ 2))}’

echo -n “usando bc:”
echo “$ 1 * ((1- $ 2 ^ $ 3) / (1- $ 2))” | bc -l

echo -n “usando perl:”
perl -e ‘$ a = $ ARGV [0]; $ b = $ ARGV [1]; $ c = $ ARGV [2]; imprime $ a * ((1- $ b ** $ c) / (1- $ b)) ‘$ 1 $ 2 $ 3

eco “”

Este ejemplo le mostrará la suma de un GP para n términos usando cada uno de los 3 métodos mencionados.

Es una buena práctica tener un uso básico y una verificación de errores en sus scripts, de ahí el comienzo, aunque no estoy buscando entradas no numéricas aquí.

ejecución de muestra:

{tmp} »./gsum.sh 2 3.1 4
usando awk: 87.002
usando bc: 87.00200000000000000000
usando perl: 87.002