Aspett Matematiku tal-Programmazzjoni tal-Linux Shell - Parti IV


F'din il-kariga se nkun qed niddiskuti l-Iskripts mil-lat Matematiku u tan-Numri. Għalkemm ippublikajt b'kitba aktar kumplessa (Simple Calculator) fil-post preċedenti, iżda fuq parti tal-utent kien diffiċli li tifhem u għalhekk ħsibt li nġagħlek titgħallem in-naħa l-oħra utli tat-tagħlim f'pakketti żgħar.

Qabel dan l-artikolu, tliet artikli ta 'Shell Scripting Series huma ppubblikati u huma:

  1. Fhem Linux Shell u Basic Shell Scripting – Parti I
  2. 5 Shell Scripts biex Tgħallem l-Ipprogrammar Shell – Parti II
  3. Sailing Through The World of Linux BASH Scripting – Parti III

Ejja nibdew il-proċess ta' tagħlim ulterjuri b'xi skripts eċċitanti ġodda, ibda bl-iskripts tal-Matematika:

Skript 1: Żidiet

Oħloq fajl Addition.sh u chmod 755 għall-iskript kif deskritt fil-post preċedenti u mexxih.

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

Skript 2: Sostrazzjoni

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

Nota: Hawnhekk aħna sostitwijna l-espr u ħalli l-kalkolu matematiku jitwettaq fil-qoxra.

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

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

Skript 3: Multiplikazzjoni

S'issa tkun qed tgawdi ħafna, titgħallem l-iskripts b'tali mod faċli, għalhekk li jmiss f'ordni kronoloġika hija Multiplikazzjoni.

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

Nota: Yup! Hawnhekk aħna ma poġġejniex il-valur tal-multiplikazzjoni f'varjabbli iżda wettaqna direttament fid-dikjarazzjoni tal-output.

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

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

Skript 4: Diviżjoni

Dritt! Li jmiss huwa Diviżjoni, u għal darb'oħra huwa b'kitba sempliċi ħafna. Iċċekkja lilek innifsek.

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

Skript 5: Tabella

Multa! X'inhu wara dawn l-operazzjoni matematika bażika. Ejja nikteb b'kitba li tipprintja tabella ta 'kull numru.

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

Aħna bħala tifel dejjem wettaqna kalkolu biex insibu jekk in-numru huwiex fard jew pari. Mhux se tkun idea tajba li timplimentah b'kitba.

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

Skript 7: Factorjali

Li jmiss huwa li ssib il-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

Issa tista’ tirrilassa b’sensazzjoni li l-kalkolu ta’ 12*11*10*9*7*7*6*5*4*3*2*1 ikun aktar diffiċli minn skript sempliċi kif prodott hawn fuq. Aħseb fis-sitwazzjoni fejn trid issib 99! jew xi ħaġa bħal dik. Żgur! Din l-iskrittura se tkun ferm utli f'dik is-sitwazzjoni.

Skript 8: Armstrong

Numru Armstrong! Ohhh Tinsa x'inhu Numru Armstrong. Ukoll numru Armstrong ta 'tliet ċifri huwa numru sħiħ tali li s-somma tal-kubi taċ-ċifri tiegħu hija ugwali għan-numru innifsu. Pereżempju, 371 huwa numru Armstrong peress li 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

Skript 9: Prim

L-aħħar kitba hija li tiddistingwi jekk numru huwiex prim jew le.

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

Dak kollu għalissa. Fl-artiklu li jmiss tagħna se nkunu qed inkopru programmi matematiċi oħra fil-lingwa ta 'programmar shell Scripting. Tinsiex issemmi l-fehmiet tiegħek dwar l-artiklu fit-taqsima tal-Kummenti. Like u share magħna u għinna nfirxu. Ejja Żur linux-console.net għal Aħbarijiet u artikli relatati mal-FOSS. Sa dak iż-żmien Ibqa' sintonizzat.