Búsqueda de sitios web

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:

  1. Comprender el Shell de Linux y los scripts básicos del Shell – Parte I
  2. 5 scripts de Shell para aprender a programar Shell – Parte II
  3. 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.