Linux čaulas programmēšanas matemātiskais aspekts - IV daļa


Šajā ierakstā es apspriedīšu skriptus no matemātiskā un skaitliskā viedokļa. Lai gan iepriekšējā rakstā esmu ievietojis sarežģītāku skriptu (vienkāršu kalkulatoru), taču no lietotāja puses to bija grūti saprast, un tāpēc es domāju, ka es likšu jums cilvēkiem iemācīties otru noderīgo mācību pusi mazās paketēs.

Pirms šī raksta ir publicēti trīs Shell Scripting Series raksti, un tie ir:

  1. Izprotiet Linux čaulas un pamata čaulas skriptus - I daļa
  2. 5 čaulas skripti, lai uzzinātu čaulas programmēšanu - II daļa
  3. Burāšana caur Linux BASH skriptu pasauli - III daļa

Sāksim turpmāko mācību procesu ar dažiem jauniem aizraujošiem skriptiem, sāciet ar matemātikas skriptiem:

1. skripts: papildinājumi

Izveidojiet skriptu failu “Addition.sh” un chmod 755, kā aprakstīts iepriekšējā ziņojumā, un palaidiet to.

#!/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

2. skripts: substrakcija

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

Piezīme: Šeit mēs aizstājām izteicienu un ļāvām matemātisko aprēķinu veikt čaulā.

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

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

3. skripts: reizināšana

Līdz šim jūs daudz izbaudījāt, mācoties skriptus tik vienkārši, tāpēc nākamais hronoloģiskā secībā ir Reizināšana.

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

Piezīme: Jā! Šeit mēs neievietojām reizināšanas vērtību mainīgajā, bet izpildījām to tieši izvades paziņojumā.

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

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

4. scenārijs: sadalīšana

Pa labi! Nākamais ir nodaļa, un atkal tas ir ļoti vienkāršs skripts. Pārbaudiet to pats.

#!/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

5. scenārijs: tabula

Lieliski! Kas notiks pēc šīm matemātikas pamatoperācijām. Ļauj uzrakstīt skriptu, kas izdrukā jebkura skaitļa tabulu.

#!/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

6. skripts: EvenOdd

Mēs kā bērns vienmēr esam veikuši aprēķinus, lai noskaidrotu, vai skaitlis ir nepāra vai pāra skaitlis. Vai nebūs laba ideja to ieviest skriptā.

#!/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

7. scenārijs: faktoriāls

Nākamais ir atrast Factorial.

#!/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

Tagad jūs varat atpūsties ar sajūtu, ka aprēķināt 12 * 11 * 10 * 9 * 7 * 7 * 6 * 5 * 4 * 3 * 2 * 1 būtu grūtāk nekā vienkāršu skriptu, kā tas tika izveidots iepriekš. Padomājiet par situāciju, kad jums jāatrod 99! vai kaut kas tāds. Protams! Šis scenārijs būs ļoti noderīgs šajā situācijā.

8. scenārijs: Ārmstrongs

Ārmstronga numurs! Ohhh, jūs aizmirstat, kas ir Ārmstronga skaitlis. Nu, Ārmstronga trīs ciparu skaitlis ir tāds vesels skaitlis, ka tā ciparu kubu summa ir vienāda ar pašu skaitli. Piemēram, 371 ir Ārmstronga skaitlis, jo 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

9. scenārijs: Prime

Pēdējais skripts ir atšķirt, vai skaitlis ir galvenais.

#!/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”

Tas pagaidām ir viss. Nākamajā rakstā mēs aplūkosim citas matemātiskās programmas apvalka Scripting programmēšanas valodā. Neaizmirstiet komentāru sadaļā pieminēt savu viedokli par rakstu. Patīk un dalieties ar mums, kā arī palīdziet mums izplatīties. Apmeklējiet vietni linux-console.net, lai iegūtu ziņas un rakstus, kas saistīti ar FOSS. Līdz tam sekojiet līdzi.