Zoeken op website

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:

  1. Begrijp Linux Shell en Basic Shell Scripting – Deel I
  2. 5 Shell-scripts om Shell-programmering te leren – Deel II
  3. 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.