Aspek Matematik Pengaturcaraan Linux Shell - Bahagian IV

Aspek Matematik Pengaturcaraan Linux Shell - Bahagian IV

Dalam siaran ini saya akan membincangkan scripts daripada Matematik dan Nombor sudut pandangan. Walaupun saya telah menyiarkan skrip yang lebih kompleks (Kalkulator mudah) dalam jawatan terdahulu, tetapi di bahagian pengguna, sukar untuk difahami dan oleh itu saya fikir untuk membuat anda orang mempelajari sisi lain yang berguna dalam pembelajaran dalam paket kecil.

Shell skrip bahagian 4

Sebelum artikel ini, tiga artikel mengenai Siri skrip shell diterbitkan dan mereka adalah:

  1. Memahami shell linux dan skrip shell asas - Bahagian I
  2. 5 skrip shell untuk mempelajari pengaturcaraan shell - Bahagian II
  3. Berlayar Melalui Dunia Linux Bash Scripting - Bahagian III

Mari mulakan proses pembelajaran selanjutnya dengan beberapa skrip menarik baru, mulakan dengan Matematik Skrip:

Skrip 1: Penambahan

Buat fail "Tambahan.sh"Dan Chmod 755 ke skrip seperti yang diterangkan dalam jawatan terdahulu dan jalankannya.

#!/bin/bash echo "Masukkan nombor pertama:" baca echo "Masukkan nombor kedua:" baca b x = $ (expr "$ a" + "$ b") echo $ a + $ b = $ x
Output sampel
[[dilindungi e -mel] ~]# VI Penambahan.SH [[dilindungi e -mel] ~]# chmod 755 penambahan.sh [[dilindungi e -mel] ~]# ./Penambahan.SH "Masukkan nombor pertama:" 12 "Masukkan nombor kedua:" 13 12 + 13 = 25

Muat turun penambahan.sh

Skrip 2: substraksi

#!/bin/bash echo "Masukkan nombor pertama:" baca echo "Masukkan nombor kedua:" baca b x = $ (($ a - $ b)) echo $ a - $ b = $ x

Catatan: Di sini kita menggantikan expr dan biarkan pengiraan matematik dilakukan di kulit.

Output sampel
[[dilindungi e -mel] ~]# vi substraction.SH [[dilindungi e -mel] ~]# chmod 755 substraction.sh [[dilindungi e -mel] ~]# ./Substraction.SH "Masukkan nombor pertama:" 13 "Masukkan nombor kedua:" 20 13 - 20 = -7

Muat turun substraction.sh

Skrip 3: Pendaraban

Setakat ini anda akan menikmati banyak, skrip belajar dengan cara yang mudah, jadi seterusnya dalam susunan kronologi adalah Pendaraban.

#!/bin/bash echo "Masukkan nombor pertama:" Baca echo "Masukkan nombor kedua:" Baca B echo "$ a * $ b = $ (expr $ a \ * $ b)"

Catatan: Yup! Di sini kami tidak meletakkan nilai pendaraban dalam pembolehubah tetapi dilakukan secara langsung dalam pernyataan output.

Output sampel
[[dilindungi e -mel] ~]# VI pendaraban.SH [[dilindungi e -mel] ~]# chmod 755 pendaraban.sh [[dilindungi e -mel] ~]# ./Pendaraban.SH "Masukkan nombor pertama:" 11 "Masukkan nombor kedua:" 11 11 * 11 = 121

Muat turun pendaraban.sh

Skrip 4: Bahagian

Betul! Seterusnya adalah Bahagian, Dan sekali lagi ia adalah skrip yang sangat mudah. Periksa sendiri.

#!/ bin / bash echo "Masukkan nombor pertama:" Baca echo "Masukkan nombor kedua:" Baca B echo "$ a / $ b = $ (expr $ a / $ b)"
Output sampel
[[dilindungi e -mel] ~]# VI Bahagian.SH [[dilindungi e -mel] ~]# Bahagian Chmod 755.sh [[dilindungi e -mel] ~]# ./Bahagian.sh "Masukkan nombor pertama:" 12 "Masukkan nombor kedua:" 3 12/3 = 4

Muat turun bahagian.sh

Skrip 5: Jadual

Baik! Apa selepas operasi matematik asas ini. Mari tulis skrip yang mencetak jadual nombor mana -mana.

#!/bin/bash echo "Masukkan nombor sehingga anda mahu mencetak jadual:" baca n i = 1 sementara [$ i -ne 10] do i = $ (expr $ i + 1) Table = $ (expr $ i \* $ n) echo $ meja selesai
Output sampel
[[dilindungi e -mel] ~]# VI Jadual.sh [[dilindungi e -mel] ~]# chmod 755 jadual.sh [[dilindungi e -mel] ~]# ./Jadual.sh "Masukkan nombor sehingga anda mahu mencetak jadual:" 29 58 87 116 145 174 203 232 261 290

Muat turun jadual.sh

Skrip 6: Evenodd

Kami sebagai kanak -kanak selalu melakukan pengiraan untuk mencari sama ada nombor itu ganjil atau bahkan. Tidakkah idea yang baik untuk melaksanakannya dalam skrip.

#!/bin/bash echo "Masukkan nombor" baca n num = $ (expr $ n % 2) jika [$ num -eq 0] maka echo "adalah nombor bahkan" lain echo "adalah nombor ganjil" fi
Output sampel
[[dilindungi e -mel] ~]# VI Evenodd.SH [[dilindungi e -mel] ~]# chmod 755 Evenodd.sh [[dilindungi e -mel] ~]# ./Walaupun ganjil.SH Masukkan nombor 12 adalah nombor yang lebih baik
[[dilindungi e -mel] ~]# ./Walaupun ganjil.SH Masukkan nombor 11 adalah nombor ganjil

Muat turun Evenodd.sh

Skrip 7: Faktorial

Seterusnya adalah mencari faktorial.

#!/bin/bash echo "Masukkan nombor" Baca fakta = 1 sementara [$ a -ne 0] lakukan fact = $ (expr $ fact \* $ a) a = $ (expr $ a - 1) selesai echo $ fact
Output sampel
[[dilindungi e -mel] ~]# vi faktorial.sh [[dilindungi e -mel] ~]# chmod 755 factorial.sh [[dilindungi e -mel] ~]# ./Faktorial.SH Masukkan nombor 12 479001600

Anda sekarang boleh berehat dengan perasaan yang mengira 12*11*10*9*7*7*6*5*4*3*2*1 akan lebih sukar daripada skrip mudah seperti yang dihasilkan di atas. Fikirkan keadaan di mana anda perlu mencari 99! atau sesuatu seperti itu. Pasti! Skrip ini akan sangat berguna dalam keadaan itu.

Muat turun faktorial.sh

Skrip 8: Armstrong

Nombor Armstrong! Ohhh anda lupa apa Nombor Armstrong adalah. Nah, jumlah tiga digit Armstrong adalah integer sehingga jumlah kiub digitnya sama dengan nombor itu sendiri. Sebagai contoh, 371 adalah nombor Armstrong sejak 3 ** 3 + 7 ** 3 + 1 ** 3 = 371.

#!/bin/bash echo "Masukkan nombor" baca n arm = 0 temp = $ n sementara [$ n -ne 0] do r = $ (expr $ n % 10) arm = $ (expr $ arm + $ r \* $ r \* $ r) n = $ (expr $ n / 10) dilakukan echo $ arm if [$ arm -eq $ temp] kemudian echo "armstrong" else echo "not armstrong" fi
Output sampel
[[dilindungi e -mel] ~]# VI Armstrong.sh [[dilindungi e -mel] ~]# chmod 755 Armstrong.sh [[dilindungi e -mel] ~]# ./Armstrong.SH Masukkan nombor 371 371 Armstrong
[[dilindungi e -mel] ~]# ./Armstrong.sh masukkan nombor 123 36 bukan Armstrong

Muat turun Armstrong.sh

Skrip 9: Perdana

Skrip terakhir adalah untuk membezakan sama ada nombor adalah perdana atau tidak.

#!/bin/bash echo "Masukkan mana -mana nombor" baca n i = 1 c = 1 sementara [$ i -le $ n] do i = $ (expr $ i + 1) r = $ (expr $ n % $ i) jika [ $ r -eq 0] maka c = $ (expr $ c + 1) fi selesai jika [$ c -eq 2] kemudian echo "prime" else echo "not prime" fi
Output sampel
[[dilindungi e -mel] ~]# vi Perdana.sh [[dilindungi e -mel] ~]# chmod 755 prime.sh [[dilindungi e -mel] ~]# ./Perdana.sh "Masukkan mana -mana nombor" 12 "Bukan Perdana"

Muat turun Perdana.sh

Itu sahaja buat masa ini. Dalam artikel kami yang seterusnya, kami akan meliputi program matematik lain dalam bahasa pengaturcaraan skrip shell. Jangan lupa sebutkan pandangan anda mengenai artikel di bahagian komen. Suka dan berkongsi kami dan membantu kami menyebarkan. Datang melawat Tecmint.com untuk Berita dan artikel yang berkaitan dengan Foss. Sehingga kemudian Tunggu.