Matematinis Linux apvalkalo programavimo aspektas – IV dalis
Šiame įraše aptarsiu Sskriptus matematiniu ir skaičiumi požiūriu. Nors ankstesniame įraše paskelbiau sudėtingesnį scenarijų (Paprasta skaičiuoklė), tačiau naudotojui jį buvo sunku suprasti, todėl maniau, kad jūs, žmonės, išmoktumėte kitą naudingą mokymosi pusę. maži paketėliai.
Prieš šį straipsnį buvo paskelbti trys Shell Scripting Series straipsniai ir jie yra:
- Supraskite „Linux Shell“ ir pagrindinį apvalkalo scenarijų – I dalis
- 5 apvalkalo scenarijai, skirti mokytis apvalkalo programavimo – II dalis
- Plaukimas per Linux BASH scenarijų pasaulį – III dalis
Pradėkime tolesnį mokymosi procesą nuo keleto naujų įdomių scenarijų, pradėkite nuo matematikos scenarijų:
1 scenarijus: papildymai
Sukurkite failą „Addition.sh“ ir chmod 755 prie scenarijaus, kaip aprašyta ankstesniame įraše, ir paleiskite jį.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
x=$(expr "$a" + "$b")
echo $a + $b = $x
Pavyzdžio išvestis
[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
Atsisiųskite Additions.sh
2 scenarijus: atimtis
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
x=$(($a - $b))
echo $a - $b = $x
Pastaba: čia pakeitėme expr ir leidome atlikti matematinį skaičiavimą apvalkalu.
Pavyzdžio išvestis
[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
Atsisiųskite Substraction.sh
3 scenarijus: daugyba
Kol kas jums labai patiko, nes taip lengvai mokotės scenarijus, todėl chronologine tvarka sekantis yra Daugyba.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
echo "$a * $b = $(expr $a \* $b)"
Pastaba: taip! Čia daugybos reikšmės neįdėjome į kintamąjį, bet atlikome ją tiesiogiai išvesties sakinyje.
Pavyzdžio išvestis
[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
Atsisiųskite Multiplication.sh
4 scenarijus: padalijimas
Teisingai! Kitas yra Padalijimas ir vėlgi tai labai paprastas scenarijus. Patikrinkite patys.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
echo "$a / $b = $(expr $a / $b)"
Pavyzdžio išvestis
[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
Atsisiųskite Division.sh
5 scenarijus: lentelė
gerai! Kas po šių pagrindinių matematinių veiksmų. Parašykime scenarijų, kuris atspausdins bet kokio skaičiaus lentelę.
#!/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
Pavyzdžio išvestis
[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
Atsisiųskite Table.sh
6 scenarijus: EvenOdd
Vaikystėje visada skaičiavome, ar skaičius nelyginis, ar lyginis. Ar nebūtų gera idėja tai įgyvendinti pagal scenarijų.
#!/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
Pavyzdžio išvestis
[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
Atsisiųskite EvenOdd.sh
7 scenarijus: Faktinis
Kitas yra rasti faktorių.
#!/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
Pavyzdžio išvestis
[root@tecmint ~]# vi Factorial.sh
[root@tecmint ~]# chmod 755 Factorial.sh
[root@tecmint ~]# ./Factorial.sh
Enter The Number
12
479001600
Dabar galite atsipalaiduoti jausdami, kad apskaičiuoti 12*11*10*9*7*7*6*5*4*3*2*1 būtų sunkiau nei paprastą scenarijų, kaip aprašyta aukščiau. . Pagalvokite apie situaciją, kai reikia rasti 99! ar kažką panašaus. Žinoma! Šis scenarijus bus labai naudingas tokioje situacijoje.
Atsisiųskite Factorial.sh
8 scenarijus: Armstrongas
Armstrongo numeris! Ohhh, jūs pamiršote, kas yra Armstrongo numeris. Na, Armstrongo trijų skaitmenų skaičius yra toks sveikasis skaičius, kad jo skaitmenų kubelių suma yra lygi pačiam skaičiui. Pavyzdžiui, 371 yra Armstrongo skaičius, nes 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
Pavyzdžio išvestis
[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
Atsisiųskite Armstrong.sh
9 scenarijus: pagrindinis
Paskutinis scenarijus skirtas atskirti, ar skaičius yra pirminis, ar 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
Pavyzdžio išvestis
[root@tecmint ~]# vi Prime.sh
[root@tecmint ~]# chmod 755 Prime.sh
[root@tecmint ~]# ./Prime.sh
“Enter Any Number”
12
“Not Prime”
Atsisiųskite Prime.sh
Tai kol kas viskas. Kitame mūsų straipsnyje apžvelgsime kitas matematines programas apvalkalo scenarijų programavimo kalba. Nepamirškite komentarų skiltyje paminėti savo nuomonę apie straipsnį. Pamėgti ir dalintis mumis ir padėk mums skleistis. Apsilankykite adresu linux-console.net, kur rasite naujienų ir straipsnių, susijusių su FOSS. Iki tol Sekite naujienas.