Aspekti matematikor i programimit Linux Shell - Pjesa IV


Në këtë postim do të diskutoj Skriptet nga këndvështrimi matematikor dhe numri. Megjithëse kam postuar një skript më kompleks (Llogaritësi i thjeshtë) në postimin e mëparshëm, por nga ana e përdoruesit ishte e vështirë për t'u kuptuar dhe për këtë arsye mendova t'ju bëj që ju të mësoni anën tjetër të dobishme të të mësuarit në pako të vogla.

Para këtij artikulli, janë botuar tre artikuj të Serisë së Skriptimeve Shell dhe ato janë:

  1. Kuptoni Linux Shell dhe skriptimin bazë të Shell – Pjesa I
  2. 5 Skripta Shell për të mësuar programimin Shell – Pjesa II
  3. Lundrimi nëpër botën e Linux BASH Scripting – Pjesa III

Le të fillojmë procesin e mëtejshëm të të mësuarit me disa skenarë të rinj emocionues, të fillojmë me skriptet e matematikës:

Skript 1: Shtesa

Krijoni një skedar Addition.sh dhe chmod 755 në skript siç përshkruhet në postimin e mëparshëm dhe ekzekutoni atë.

#!/bin/bash
echo “Enter the First Number: ” 
read a 
echo “Enter the Second Number: ” 
read b 
x=$(expr "$a" + "$b") 
echo $a + $b = $x
 vi Additions.sh
 chmod 755 Additions.sh
 ./Additions.sh

“Enter the First Number: ” 
12 
“Enter the Second Number: ” 
13 
12 + 13 = 25

Skripti 2: Zbritja

#!/bin/bash
echo “Enter the First Number: ” 
read a 
echo “Enter the Second Number: ” 
read b 
x=$(($a - $b)) 
echo $a - $b = $x

Shënim: Këtu kemi zëvendësuar expr dhe kemi lënë që llogaritja matematikore të kryhet në shell.

 vi Substraction.sh
 chmod 755 Substraction.sh
 ./Substraction.sh

“Enter the First Number: ” 
13 
“Enter the Second Number: ” 
20 
13 - 20 = -7

Skripti 3: Shumëzimi

Deri më tani do të kënaqeshit shumë, duke mësuar skriptet në një mënyrë kaq të thjeshtë, kështu që rradha e radhës sipas rendit kronologjik është Shumëzimi.

#!/bin/bash
echo “Enter the First Number: ” 
read a 
echo “Enter the Second Number: ” 
read b 
echo "$a * $b = $(expr $a \* $b)"

Shënim: Po! Këtu nuk e vendosëm vlerën e shumëzimit në një ndryshore, por e kryem atë drejtpërdrejt në deklaratën e daljes.

 vi Multiplication.sh
 chmod 755 Multiplication.sh
 ./Multiplication.sh

“Enter the First Number: ” 
11 
“Enter the Second Number: ” 
11 
11 * 11 = 121

Skenari 4: Ndarja

E drejtë! Tjetra është Division, dhe përsëri është një skenar shumë i thjeshtë. Kontrollojeni vetë.

#!/bin/bash
echo “Enter the First Number: ” 
read a 
echo “Enter the Second Number: ” 
read b 
echo "$a / $b = $(expr $a / $b)"
 vi Division.sh
 chmod 755 Division.sh
 ./Division.sh

“Enter the First Number: ” 
12 
“Enter the Second Number: ” 
3 
12 / 3 = 4

Skripti 5: Tabela

Mirë! Çfarë pas këtyre veprimeve themelore matematikore. Le të shkruajmë një skript që printon tabelën e çdo numri.

#!/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
 vi Table.sh
 chmod 755 Table.sh
 ./Table.sh

“Enter The Number upto which you want to Print Table: ” 
29 
58 
87 
116 
145 
174 
203 
232 
261 
290

Skript 6: Çift Tek

Ne si fëmijë gjithmonë kemi bërë llogaritje për të gjetur nëse numri është tek apo çift. A nuk do të ishte një ide e mirë për ta zbatuar atë në skenar.

#!/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
 vi EvenOdd.sh
 chmod 755 EvenOdd.sh
 ./EvenOdd.sh

Enter The Number 
12 
is a Even Number
 ./EvenOdd.sh

Enter The Number 
11 
is a Odd Number

Skenari 7: Faktorial

Tjetra është gjetja e Faktorialit.

#!/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
 vi Factorial.sh
 chmod 755 Factorial.sh
 ./Factorial.sh

Enter The Number 
12 
479001600

Tani mund të relaksoheni me ndjenjën se llogaritja e 12*11*10*9*7*7*6*5*4*3*2*1 do të ishte më e vështirë se sa një skenar i thjeshtë siç është prodhuar më sipër. Mendoni për situatën ku ju duhet të gjeni 99! apo diçka e tillë. Sigurisht! Ky skenar do të jetë shumë i dobishëm në atë situatë.

Skenari 8: Armstrong

Numri i Armstrongut! Ohhh Ju harroni se çfarë është një numër Armstrong. Pra, një numër Armstrong me tre shifra është një numër i plotë i tillë që shuma e kubeve të shifrave të tij është e barabartë me vetë numrin. Për shembull, 371 është një numër Armstrong pasi 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
 vi Armstrong.sh
 chmod 755 Armstrong.sh
 ./Armstrong.sh

Enter A Number 
371 
371 
Armstrong
 ./Armstrong.sh

Enter A Number 
123 
36 
Not Armstrong

Skenari 9: Kryesor

Skenari i fundit është të dallojmë nëse një numër është i thjeshtë apo jo.

#!/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
 vi Prime.sh
 chmod 755 Prime.sh
 ./Prime.sh

“Enter Any Number” 
12 

“Not Prime”

Kjo është e gjitha për tani. Në artikullin tonë të ardhshëm do të mbulojmë programe të tjera matematikore në gjuhën e programimit shell Scripting. Mos harroni të përmendni pikëpamjet tuaja në lidhje me artikullin në seksionin e komenteve. Pëlqejeni dhe shpërndajeni dhe na ndihmoni të përhapemi. Vizitoni linux-console.net për Lajme dhe artikuj në lidhje me FOSS. Deri atëherë qëndroni të sintonizuar.