Aspecto matemático de la programación del shell de Linux - Parte IV
En esta publicación discutiré los guiones desde el punto de vista Matemático y Número. Aunque publiqué un script más complejo (Calculadora simple) en la publicación anterior, pero para el usuario fue difícil de entender y por eso pensé en hacer que ustedes aprendan el otro lado útil del aprendizaje en Pequeños paquetes.
Antes de este artículo, se publicaron tres artículos de la Serie Shell Scripting y son:
- Comprender el Shell de Linux y los scripts básicos del Shell – Parte I
- 5 scripts de Shell para aprender a programar Shell – Parte II
- Navegando por el mundo de las secuencias de comandos BASH de Linux - Parte III
Comencemos el proceso de aprendizaje adicional con algunos guiones nuevos e interesantes, comencemos con guiones de Matemáticas:
Guión 1: Adiciones
Cree un archivo “Addition.sh” y chmod 755 para el script como se describe en la publicación anterior y ejecútelo.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
x=$(expr "$a" + "$b")
echo $a + $b = $x
Salida de muestra
[root@tecmint ~]# vi Additions.sh
[root@tecmint ~]# chmod 755 Additions.sh
[root@tecmint ~]# ./Additions.sh
“Enter the First Number: ”
12
“Enter the Second Number: ”
13
12 + 13 = 25
Descargar Addions.sh
Guión 2: Resta
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
x=$(($a - $b))
echo $a - $b = $x
Nota: Aquí reemplazamos la expr y dejamos que el cálculo matemático se realice en shell.
Salida de muestra
[root@tecmint ~]# vi Substraction.sh
[root@tecmint ~]# chmod 755 Substraction.sh
[root@tecmint ~]# ./Substraction.sh
“Enter the First Number: ”
13
“Enter the Second Number: ”
20
13 - 20 = -7
Descargar Resta.sh
Guión 3: Multiplicación
Hasta ahora estarías disfrutando mucho aprendiendo guiones de una manera tan fácil, así que el siguiente en orden cronológico es Multiplicación.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
echo "$a * $b = $(expr $a \* $b)"
Nota: ¡Sí! Aquí no pusimos el valor de la multiplicación en una variable sino que lo realizamos directamente en la declaración de salida.
Salida de muestra
[root@tecmint ~]# vi Multiplication.sh
[root@tecmint ~]# chmod 755 Multiplication.sh
[root@tecmint ~]# ./Multiplication.sh
“Enter the First Number: ”
11
“Enter the Second Number: ”
11
11 * 11 = 121
Descargar Multiplicación.sh
Guión 4: División
¡Bien! El siguiente es División, y nuevamente es un script muy simple. Compruébalo tú mismo.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
echo "$a / $b = $(expr $a / $b)"
Salida de muestra
[root@tecmint ~]# vi Division.sh
[root@tecmint ~]# chmod 755 Division.sh
[root@tecmint ~]# ./Division.sh
“Enter the First Number: ”
12
“Enter the Second Number: ”
3
12 / 3 = 4
Descargar División.sh
Guión 5: Mesa
¡Bien! ¿Qué pasa después de estas operaciones matemáticas básicas? Escribamos un script que imprima una tabla de cualquier número.
#!/bin/bash
echo “Enter The Number upto which you want to Print Table: ”
read n
i=1
while [ $i -ne 10 ]
do
i=$(expr $i + 1)
table=$(expr $i \* $n)
echo $table
done
Salida de muestra
[root@tecmint ~]# vi Table.sh
[root@tecmint ~]# chmod 755 Table.sh
[root@tecmint ~]# ./Table.sh
“Enter The Number upto which you want to Print Table: ”
29
58
87
116
145
174
203
232
261
290
Descargar tabla.sh
Guión 6: ParImpar
Nosotros, de niños, siempre hemos realizado cálculos para saber si el número es par o impar. ¿No sería una buena idea implementarlo en un guión?
#!/bin/bash
echo "Enter The Number"
read n
num=$(expr $n % 2)
if [ $num -eq 0 ]
then
echo "is a Even Number"
else
echo "is a Odd Number"
fi
Salida de muestra
[root@tecmint ~]# vi EvenOdd.sh
[root@tecmint ~]# chmod 755 EvenOdd.sh
[root@tecmint ~]# ./EvenOdd.sh
Enter The Number
12
is a Even Number
[root@tecmint ~]# ./EvenOdd.sh
Enter The Number
11
is a Odd Number
Descargar EvenOdd.sh
Guión 7: Factorial
Lo siguiente es encontrar el Factorial.
#!/bin/bash
echo "Enter The Number"
read a
fact=1
while [ $a -ne 0 ]
do
fact=$(expr $fact \* $a)
a=$(expr $a - 1)
done
echo $fact
Salida de muestra
[root@tecmint ~]# vi Factorial.sh
[root@tecmint ~]# chmod 755 Factorial.sh
[root@tecmint ~]# ./Factorial.sh
Enter The Number
12
479001600
Ahora puede relajarse con la sensación de que calcular 12*11*10*9*7*7*6*5*4*3*2*1 sería más difícil que un simple guión como el que se muestra arriba. . Piense en la situación en la que necesita encontrar 99! o algo así. ¡Seguro! Este script será muy útil en esa situación.
Descargar Factorial.sh
Guión 8: Armstrong
Número Armstrong! Ohhh, olvidas lo que es un Número Armstrong. Pues un número de Armstrong de tres cifras es un número entero tal que la suma de los cubos de sus cifras es igual al número mismo. Por ejemplo, 371 es un número de Armstrong ya que 3**3 + 7**3 + 1**3=371.
#!/bin/bash
echo "Enter A Number"
read n
arm=0
temp=$n
while [ $n -ne 0 ]
do
r=$(expr $n % 10)
arm=$(expr $arm + $r \* $r \* $r)
n=$(expr $n / 10)
done
echo $arm
if [ $arm -eq $temp ]
then
echo "Armstrong"
else
echo "Not Armstrong"
fi
Salida de muestra
[root@tecmint ~]# vi Armstrong.sh
[root@tecmint ~]# chmod 755 Armstrong.sh
[root@tecmint ~]# ./Armstrong.sh
Enter A Number
371
371
Armstrong
[root@tecmint ~]# ./Armstrong.sh
Enter A Number
123
36
Not Armstrong
Descargar Armstrong.sh
Guión 9: Prime
El último guión consiste en distinguir si un número es primo o no.
#!/bin/bash
echo “Enter Any Number”
read n
i=1
c=1
while [ $i -le $n ]
do
i=$(expr $i + 1)
r=$(expr $n % $i)
if [ $r -eq 0 ]
then
c=$(expr $c + 1)
fi
done
if [ $c -eq 2 ]
then
echo “Prime”
else
echo “Not Prime”
fi
Salida de muestra
[root@tecmint ~]# vi Prime.sh
[root@tecmint ~]# chmod 755 Prime.sh
[root@tecmint ~]# ./Prime.sh
“Enter Any Number”
12
“Not Prime”
Descargar Prime.sh
Eso es todo por ahora. En nuestro próximo artículo cubriremos otros programas matemáticos en el lenguaje de programación Shell Scripting. No olvide mencionar sus opiniones sobre el artículo en la sección Comentarios. Dale me gusta y compártenos y ayúdanos a difundir. Visite linux-console.net para obtener noticias y artículos relacionados con FOSS. Hasta entonces Estén atentos.