Wiskundig aspect van Linux Shell-programmering - Deel IV
In dit bericht bespreek ik de Sscripts vanuit het Wiskundige en Getal gezichtspunt. Hoewel ik in het vorige bericht een complexer script (Eenvoudige rekenmachine) heb gepost, was het voor een gebruiker moeilijk te begrijpen en daarom dacht ik jullie de andere nuttige kant van leren te laten leren in kleine pakjes.
Voorafgaand aan dit artikel zijn er drie artikelen uit de Shell Scripting Series gepubliceerd, namelijk:
- Begrijp Linux Shell en Basic Shell Scripting – Deel I
- 5 Shell-scripts om Shell-programmering te leren – Deel II
- Zeilen door de wereld van Linux BASH-scripting – Deel III
Laten we het verdere leerproces beginnen met enkele nieuwe spannende scripts, begin met Wiskunde-scripts:
Script 1: Toevoegingen
Maak een bestand “Addition.sh” en chmod 755 aan het script zoals beschreven in het vorige bericht en voer het uit.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
x=$(expr "$a" + "$b")
echo $a + $b = $x
Voorbeelduitvoer
[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
Additions.sh downloaden
Script 2: Aftrekken
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
x=$(($a - $b))
echo $a - $b = $x
Opmerking: hier hebben we de expr vervangen en de wiskundige berekening in shell uitgevoerd.
Voorbeelduitvoer
[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
Download Substraction.sh
Script 3: Vermenigvuldiging
Tot nu toe zou je het erg leuk vinden om scripts op zo'n gemakkelijke manier te leren, dus de volgende in chronologische volgorde is Vermenigvuldigen.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
echo "$a * $b = $(expr $a \* $b)"
Opmerking: ja! Hier hebben we de waarde van vermenigvuldiging niet in een variabele geplaatst, maar deze rechtstreeks in de uitvoerinstructie uitgevoerd.
Voorbeelduitvoer
[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
Vermenigvuldiging.sh downloaden
Script 4: Verdeling
Rechts! Het volgende is Division, en wederom is het een heel eenvoudig script. Controleer het zelf.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
echo "$a / $b = $(expr $a / $b)"
Voorbeelduitvoer
[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
Download Division.sh
Script 5: Tabel
Prima! Wat na deze fundamentele wiskundige bewerkingen. Laten we een script schrijven dat een tabel met elk willekeurig getal afdrukt.
#!/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
Voorbeelduitvoer
[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
Download Table.sh
Script 6: EvenOdd
Wij als kind hebben altijd een berekening uitgevoerd om uit te vinden of het getal even of oneven is. Zou het niet een goed idee zijn om het in een script te implementeren?
#!/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
Voorbeelduitvoer
[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
EvenOdd.sh downloaden
Script 7: Factorieel
Vervolgens moet je de Factorial vinden.
#!/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
Voorbeelduitvoer
[root@tecmint ~]# vi Factorial.sh
[root@tecmint ~]# chmod 755 Factorial.sh
[root@tecmint ~]# ./Factorial.sh
Enter The Number
12
479001600
U kunt zich nu ontspannen met het gevoel dat het berekenen van 12*11*10*9*7*7*6*5*4*3*2*1 moeilijker zou zijn dan een eenvoudig script zoals hierboven weergegeven . Denk eens aan de situatie waarin u 99! of iets dergelijks moet vinden. Zeker! Dit script zal in die situatie erg handig zijn.
Factorial.sh downloaden
Script 8: Armstrong
Armstrong-nummer! Ohhh Je vergeet wat een Armstrong-nummer is. Welnu, een Armstrong-getal van drie cijfers is een geheel getal, zodat de som van de derde machten van de cijfers gelijk is aan het getal zelf. 371 is bijvoorbeeld een Armstrong-getal, aangezien 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
Voorbeelduitvoer
[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
Armstrong.sh downloaden
Script 9: Prime
Het laatste script is om te onderscheiden of een getal een priemgetal is of niet.
#!/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
Voorbeelduitvoer
[root@tecmint ~]# vi Prime.sh
[root@tecmint ~]# chmod 755 Prime.sh
[root@tecmint ~]# ./Prime.sh
“Enter Any Number”
12
“Not Prime”
Prime.sh downloaden
Dat is het voor nu. In ons volgende artikel zullen we andere wiskundige programma's in de shell Scripting-programmeertaal behandelen. Vergeet niet uw mening over het artikel te vermelden in het commentaargedeelte. Like en deel ons en help ons verspreiden. Bezoek linux-console.net voor Nieuws en artikelen met betrekking tot FOSS. Tot dan Blijf op de hoogte.