Recherche de site Web

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 :

  1. Comprendre Linux Shell et les scripts Shell de base – Partie I
  2. 5 scripts Shell pour apprendre la programmation Shell – Partie II
  3. 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.