Linuxi kesta programmeerimise matemaatiline aspekt - IV osa


Selles postituses käsitlen skripte matemaatilisest ja numbrilisest vaatenurgast. Ehkki olen eelmisse postitusse postitanud keerukama skripti (lihtsa kalkulaatori), oli kasutaja poolt seda keeruline mõista ja seetõttu mõtlesin panna teid inimesi õppima väikest pakettides õppimise teist kasulikku külge.

Enne seda artiklit avaldatakse kolm Shelli skriptimissarja artiklit ja need on:

  1. Mõistke Linuxi Shelli ja põhilisi Shelli skripte - I osa
  2. 5 Shelli skripti, et õppida Shelli programmeerimist - II osa
  3. Purjetamine läbi Linuxi BASH-skriptide maailma - III osa

Alustame edasist õppeprotsessi mõne uue põneva skriptiga, alustage matemaatika skriptidest:

1. skript: täiendused

Looge skriptile fail „Addition.sh” ja chmod 755, nagu on kirjeldatud eelmises postituses, ja käivitage see.

#!/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. skript: lahutamine

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

Märkus: Siin asendasime lauset ja lasime matemaatilise arvutuse teostada koorega.

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

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

3. skript: korrutamine

Siiani oleksite palju rõõmu tundnud ja skripte nii lihtsalt õppinud, seega on kronoloogilises järjekorras järgmine Korrutamine.

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

Märkus: jah! Siin me ei pannud korrutamise väärtust muutujasse, vaid sooritasime selle otse väljundlauses.

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

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

4. skript: jaotus

Õige! Järgmine on jagamine ja jällegi väga lihtne skript. Kontrollige seda ise.

#!/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. skript: tabel

Hästi! Mis pärast neid matemaatilisi põhitoiminguid. Võimaldab kirjutada skripti, mis prindib mis tahes arvu tabeli.

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

Oleme lapsena alati arvutusi teinud, et leida, kas arv on paaritu või paaritu. Kas pole hea mõte seda skriptis rakendada?

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

Stsenaarium 7: Faktorial

Järgmine on leida 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

Nüüd võite lõõgastuda tundega, et 12 * 11 * 10 * 9 * 7 * 7 * 6 * 5 * 4 * 3 * 2 * 1 arvutamine oleks keerulisem kui ülaltoodud lihtne skript. Mõelge olukorrale, kus peate leidma 99! või midagi sellist. Muidugi! See skript on selles olukorras väga mugav.

Stsenaarium 8: Armstrong

Armstrongi number! Ohhh, unustate, mis see Armstrongi number on. Noh, Armstrongi kolmekohaline arv on täisarv, nii et tema numbrite kuubikute summa võrdub arvuga ise. Näiteks on 371 Armstrongi arv, kuna 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. skript: peaminister

Viimane skript on teha vahet, kas number on algarv või mitte.

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

Praeguseks kõik. Järgmises artiklis käsitleme teisi matemaatilisi programme shelliskriptide programmeerimiskeeles. Ärge unustage kommentaaride jaotises mainida oma seisukohti seoses artikliga. Meeldib ja jaga meid ning aitab meil levida. Tule külastama veebisaiti linux-console.net, kus leiate FOSSiga seotud uudiseid ja artikleid. Siiani püsige lainel.