Aspect mathématique de la programmation Linux Shell - Partie IV
Dans cet article, je discuterai des scripts du point de vue mathématique et des nombres. Bien que j'aie publié un script plus complexe (Simple Calculator) dans le post précédent, mais du côté des utilisateurs, il était difficile à comprendre et j'ai donc pensé à vous faire apprendre l'autre côté utile de l'apprentissage dans petits paquets.
Avant cet article, trois articles de la Shell Scripting Series ont été publiés :
- Comprendre Linux Shell et les scripts Shell de base – Partie I
- 5 scripts Shell pour apprendre la programmation Shell – Partie II
- Naviguer à travers le monde des scripts Linux BASH – Partie III
Commençons le processus d'apprentissage ultérieur avec de nouveaux scripts passionnants, en commençant par les scripts Mathématiques :
Script 1 : ajouts
Créez un fichier « Addition.sh » et chmod 755 pour le script comme décrit dans l'article précédent et exécutez-le.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
x=$(expr "$a" + "$b")
echo $a + $b = $x
Exemple de sortie
[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
Télécharger Additions.sh
Script 2 : Soustraction
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
x=$(($a - $b))
echo $a - $b = $x
Remarque : Ici, nous avons remplacé l'expr et laissé le calcul mathématique être effectué dans le shell.
Exemple de sortie
[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
Télécharger Soustraction.sh
Scénario 3 : Multiplication
Jusqu'à présent, vous prendriez beaucoup de plaisir à apprendre des scripts d'une manière si simple, donc le prochain dans l'ordre chronologique est la Multiplication.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
echo "$a * $b = $(expr $a \* $b)"
Remarque : Ouais ! Ici, nous n'avons pas mis la valeur de la multiplication dans une variable mais l'avons effectuée directement dans l'instruction de sortie.
Exemple de sortie
[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
Télécharger Multiplication.sh
Scénario 4 : Division
Droite! Vient ensuite Division, et encore une fois, il s'agit d'un script très simple. Vérifiez-le vous-même.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
echo "$a / $b = $(expr $a / $b)"
Exemple de sortie
[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
Télécharger Division.sh
Script 5 : Tableau
Bien! Et après ces opérations mathématiques de base. Écrivons un script qui imprime un tableau de n'importe quel nombre.
#!/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
Exemple de sortie
[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
Télécharger Table.sh
Script 6 : PairOdd
En tant qu'enfant, nous avons toujours effectué des calculs pour savoir si le nombre était pair ou impair. Ne serait-ce pas une bonne idée de l'implémenter dans un script.
#!/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
Exemple de sortie
[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
Télécharger EvenOdd.sh
Script 7 : Factoriel
Ensuite, il faut trouver la factorielle.
#!/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
Exemple de sortie
[root@tecmint ~]# vi Factorial.sh
[root@tecmint ~]# chmod 755 Factorial.sh
[root@tecmint ~]# ./Factorial.sh
Enter The Number
12
479001600
Vous pouvez maintenant vous détendre avec le sentiment que calculer 12*11*10*9*7*7*6*5*4*3*2*1 serait plus difficile qu'un simple script tel que produit ci-dessus. . Pensez à la situation où vous avez besoin de trouver 99 ! ou quelque chose comme ça. Bien sûr! Ce script sera très utile dans cette situation.
Télécharger Factorial.sh
Scénario 8 : Armstrong
Numéro Armstrong ! Ohhh Vous oubliez ce qu'est un numéro Armstrong. Eh bien, un nombre Armstrong à trois chiffres est un nombre entier tel que la somme des cubes de ses chiffres est égale au nombre lui-même. Par exemple, 371 est un nombre d'Armstrong puisque 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
Exemple de sortie
[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
Télécharger Armstrong.sh
Script 9 : Premier
Le dernier script consiste à distinguer si un nombre est premier ou non.
#!/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
Exemple de sortie
[root@tecmint ~]# vi Prime.sh
[root@tecmint ~]# chmod 755 Prime.sh
[root@tecmint ~]# ./Prime.sh
“Enter Any Number”
12
“Not Prime”
Télécharger Prime.sh
C'est tout pour le moment. Dans notre tout prochain article, nous couvrirons d'autres programmes mathématiques dans le langage de programmation Shell Scripting. N'oubliez pas de mentionner votre point de vue concernant l'article dans la section Commentaires. Aimez-nous, partagez-nous et aidez-nous à nous propager. Venez visiter linux-console.net pour des Actualités et des articles relatifs aux FOSS. D'ici là, restez à l'écoute.