Matematički aspekt programiranja Linux ljuske - dio IV


U ovom ću postu raspravljati o Sskriptama s matematičke točke gledišta i Brojeva. Iako sam objavio složeniju skriptu (Jednostavan kalkulator) u prethodnom postu, ali na korisničkom dijelu bilo je teško razumjeti i stoga sam mislio natjerati vas da naučite drugu korisnu stranu učenja u mali paketi.

Prije ovog članka objavljena su tri članka iz Shell Scripting Series i to su:

  1. Razumijevanje ljuske Linuxa i osnovnog skriptiranja ljuske – I. dio
  2. 5 skripti ljuske za učenje programiranja ljuske – II. dio
  3. Plovidba kroz svijet Linuxa BASH skriptiranje – dio III

Započnimo daljnji proces učenja s nekim novim uzbudljivim skriptama, počnimo s matematičkim skriptama:

Skripta 1: Dodaci

Napravite datoteku “Addition.sh” i chmod 755 za skriptu kao što je opisano u prethodnom postu i pokrenite je.

#!/bin/bash
echo “Enter the First Number: ” 
read a 
echo “Enter the Second Number: ” 
read b 
x=$(expr "$a" + "$b") 
echo $a + $b = $x
Uzorak izlaza
[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

Preuzmite Additions.sh

Skripta 2: Oduzimanje

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

Napomena: Ovdje smo zamijenili expr i dopustili da se matematički izračun izvede u ljusci.

Uzorak izlaza
[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

Preuzmite Substraction.sh

Skripta 3: Množenje

Do sada biste jako uživali u učenju skripti na tako jednostavan način, tako da je sljedeći u kronološkom redu Množenje.

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

Napomena: Da! Ovdje nismo stavili vrijednost množenja u varijablu, već smo to izvršili izravno u izlaznoj izjavi.

Uzorak izlaza
[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

Preuzmite Multiplication.sh

Skripta 4: Podjela

Pravo! Sljedeća je Divizija, i opet je vrlo jednostavna skripta. Provjerite sami.

#!/bin/bash
echo “Enter the First Number: ” 
read a 
echo “Enter the Second Number: ” 
read b 
echo "$a / $b = $(expr $a / $b)"
Uzorak izlaza
[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

Preuzmite Division.sh

Skripta 5: Tablica

Fino! Što nakon ovih osnovnih matematičkih operacija. Napišimo skriptu koja ispisuje tablicu bilo kojeg broja.

#!/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
Uzorak izlaza
[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

Preuzmite Table.sh

Skripta 6: ParNepar

Kao djeca uvijek smo računali kako bismo saznali je li broj neparan ili paran. Ne bi li bilo dobro implementirati to u skriptu.

#!/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
Uzorak izlaza
[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

Preuzmite EvenOdd.sh

Skripta 7: Faktorijel

Sljedeće je pronaći faktorijel.

#!/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
Uzorak izlaza
[root@tecmint ~]# vi Factorial.sh
[root@tecmint ~]# chmod 755 Factorial.sh
[root@tecmint ~]# ./Factorial.sh

Enter The Number 
12 
479001600

Sada se možete opustiti s osjećajem da bi izračunavanje 12*11*10*9*7*7*6*5*4*3*2*1 bilo teže od jednostavne skripte kao što je gore navedeno . Zamislite situaciju u kojoj trebate pronaći 99! ili nešto slično. Naravno! Ova skripta će biti vrlo korisna u toj situaciji.

Preuzmite Factorial.sh

Scenarij 8: Armstrong

Armstrongov broj! Ohhh Zaboravili ste što je Armstrongov broj. Armstrongov broj od tri znamenke je cijeli broj takav da je zbroj kubova njegovih znamenki jednak samom broju. Na primjer, 371 je Armstrongov broj budući da je 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
Uzorak izlaza
[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

Preuzmite Armstrong.sh

Skripta 9: Prime

Posljednja skripta služi za razlikovanje je li broj prost ili ne.

#!/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
Uzorak izlaza
[root@tecmint ~]# vi Prime.sh
[root@tecmint ~]# chmod 755 Prime.sh
[root@tecmint ~]# ./Prime.sh

“Enter Any Number” 
12 

“Not Prime”

Preuzmite Prime.sh

To je sve za sada. U našem sljedećem članku pokrit ćemo druge matematičke programe u programskom jeziku shell Scripting. Ne zaboravite spomenuti svoje stavove o članku u odjeljku za komentare. Lajkajte nas i podijelite te nam pomozite u širenju. Posjetite linux-console.net za Novosti i članke koji se odnose na FOSS. Do tada Ostanite s nama.