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:
- Izprotiet Linux čaulas un pamata čaulas skriptus - I daļa
- 5 čaulas skripti, lai uzzinātu čaulas programmēšanu - II daļa
- 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.