Linux Kabuk Programlamanın Matematiksel Yönü - Bölüm IV
Bu yazıda Senaryoları Matematiksel ve Sayı açısından tartışacağım. Her ne kadar önceki gönderide daha karmaşık bir komut dosyası (Basit Hesap Makinesi) yayınlamış olsam da, kullanıcı açısından anlaşılması zordu ve bu nedenle sizlerin öğrenmenin diğer yararlı yönünü de öğrenmenizi sağlamayı düşündüm. küçük paketler.
Bu makaleden önce Shell Scripting Series'in üç makalesi yayınlandı ve bunlar:
- Linux Kabuğunu ve Temel Kabuk Komut Dosyasını Anlayın – Bölüm I
- Kabuk Programlamayı Öğrenmek için 5 Kabuk Komut Dosyası – Bölüm II
- Linux BASH Scripting Dünyasına Yolculuk – Bölüm III
Daha fazla öğrenme sürecine bazı yeni heyecan verici komut dosyalarıyla başlayalım, Matematik komut dosyalarıyla başlayalım:
Komut Dosyası 1: Eklemeler
Önceki gönderide açıklandığı gibi komut dosyasına “Addition.sh” ve chmod 755 dosyasını oluşturun ve çalıştırın.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
x=$(expr "$a" + "$b")
echo $a + $b = $x
Örnek Çıktı
[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
Additions.sh'yi indirin
Senaryo 2: Çıkarma
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
x=$(($a - $b))
echo $a - $b = $x
Not: Burada ifade'yi değiştirdik ve matematiksel hesaplamanın kabukta yapılmasını sağladık.
Örnek Çıktı
[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
Substraction.sh'yi indirin
Senaryo 3: Çarpma
Şu ana kadar çok eğleneceksiniz, komut dosyalarını o kadar kolay bir şekilde öğreneceksiniz ki, kronolojik sırayla bir sonraki adım Çarpma'dır.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
echo "$a * $b = $(expr $a \* $b)"
Not: Evet! Burada çarpma değerini bir değişkene koymadık, doğrudan çıktı ifadesinde gerçekleştirdik.
Örnek Çıktı
[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
Multiplication.sh'yi indirin
Senaryo 4: Bölüm
Sağ! Sırada Bölme var ve yine çok basit bir komut dosyası. Kendiniz kontrol edin.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
echo "$a / $b = $(expr $a / $b)"
Örnek Çıktı
[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
Division.sh'yi indirin
Senaryo 5: Tablo
İyi! Peki bu temel matematik işlemlerinden sonra ne olacak? Herhangi bir sayının tablosunu yazdıran bir komut dosyası yazalım.
#!/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
Örnek Çıktı
[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
Table.sh'yi indirin
Komut Dosyası 6: ÇiftTek
Biz çocukken her zaman sayının tek mi çift mi olduğunu bulmak için hesaplamalar yaptık. Bunu senaryoya uygulamak iyi bir fikir olmaz mı?
#!/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
Örnek Çıktı
[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
EvenOdd.sh'yi indirin
Senaryo 7: Faktöriyel
Sırada Faktöriyel'i bulmak var.
#!/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
Örnek Çıktı
[root@tecmint ~]# vi Factorial.sh
[root@tecmint ~]# chmod 755 Factorial.sh
[root@tecmint ~]# ./Factorial.sh
Enter The Number
12
479001600
Artık 12*11*10*9*7*7*6*5*4*3*2*1'i hesaplamanın yukarıda oluşturulan basit bir komut dosyasından daha zor olacağı hissiyle rahatlayabilirsiniz. . 99!'u veya buna benzer bir şeyi bulmanız gereken durumu düşünün. Elbette! Bu komut dosyası bu durumda çok kullanışlı olacaktır.
Factorial.sh'yi indirin
Senaryo 8: Armstrong
Armstrong Numarası! Ohhh Armstrong Sayısının ne olduğunu unutuyorsunuz. Üç basamaklı bir Armstrong sayısı, basamaklarının küplerinin toplamı sayının kendisine eşit olan bir tamsayıdır. Örneğin, 371 bir Armstrong sayısıdır çünkü 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
Örnek Çıktı
[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
Armstrong.sh'yi indirin
Senaryo 9: Başbakan
Son komut bir sayının asal olup olmadığını ayırt etmektir.
#!/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
Örnek Çıktı
[root@tecmint ~]# vi Prime.sh
[root@tecmint ~]# chmod 755 Prime.sh
[root@tecmint ~]# ./Prime.sh
“Enter Any Number”
12
“Not Prime”
Prime.sh'yi indirin
Şimdilik bu kadar. Bir sonraki yazımızda Shell Scripting programlama dilindeki diğer matematik programlarını ele alacağız. Yorum kısmında yazı ile ilgili görüşlerinizi belirtmeyi unutmayın. Bizi beğenip paylaşın ve yayılmamıza yardımcı olun. FOSS ile ilgili Haberler ve makaleler için linux-console.net'u ziyaret edin. O zamana kadar bizi izlemeye devam edin.