Computer >> Máy Tính >  >> Lập trình >> Lập trình BASH

Khía cạnh Toán học của Lập trình Shell Linux - Phần IV

Trong bài đăng này, tôi sẽ thảo luận về S cripts từ Toán học Số quan điểm. Mặc dù tôi đã đăng một tập lệnh phức tạp hơn ( Máy tính đơn giản ) trong bài đăng trước, nhưng về phía người dùng, điều đó rất khó hiểu và do đó tôi nghĩ rằng hãy giúp mọi người tìm hiểu khía cạnh hữu ích khác của việc học trong các gói nhỏ.

Khía cạnh Toán học của Lập trình Shell Linux - Phần IV

Trước bài viết này, ba bài viết của Shell Scripting Series được xuất bản và chúng là:

  1. Hiểu Linux Shell và Kịch bản Shell Cơ bản - Phần I
  2. 5 Tập lệnh Shell để Học lập trình Shell - Phần II
  3. Đi khắp thế giới của Linux BASH Scripting - Phần III

Hãy bắt đầu quá trình học hỏi thêm với một số tập lệnh thú vị mới, hãy bắt đầu với Toán học tập lệnh:

Tập lệnh 1:Bổ sung

Tạo tệp “ Addition.sh ”Và chmod 755 vào tập lệnh như được mô tả trong bài trước và chạy nó.

 #! / bin / bashecho “Nhập số đầu tiên:” đọc một tiếng vang “Nhập số thứ hai:” đọc b x =$ (expr "$ a" + "$ b") echo $ a + $ b =$ x 
Đầu ra mẫu
 [admin@wsxdn.com ~] # vi Additions.sh [admin@wsxdn.com ~] # chmod 755 Additions.sh [admin@wsxdn.com ~] # ./Additions.sh. Nhập số đầu tiên:”12“ Nhập số thứ hai:”13 12 + 13 =25 

Tải xuống Additions.sh

Tập lệnh 2:Phép trừ

 #! / bin / bashecho “Nhập số đầu tiên:” đọc echo “Nhập số thứ hai:” đọc b x =$ (($ a - $ b)) echo $ a - $ b =$ x  

Lưu ý :Ở đây chúng tôi đã thay thế expr và để phép tính toán học được thực hiện trong shell.

Đầu ra mẫu
 [admin@wsxdn.com ~] # vi Substraction.sh [admin@wsxdn.com ~] # chmod 755 Substraction.sh [admin@wsxdn.com ~] # ./Substraction.sh Nhập số đầu tiên:”13“ Nhập số thứ hai:”20 13 - 20 =-7 

Tải xuống Substraction.sh

Tập lệnh 3:Phép nhân

Cho đến nay, bạn sẽ cảm thấy thích thú rất nhiều, học tập lệnh một cách dễ dàng như vậy, vì vậy tiếp theo theo thứ tự thời gian là Phép nhân .

 #! / bin / bashecho “Nhập số đầu tiên:” đọc tiếng vọng “Nhập số thứ hai:” đọc b echo "$ a * $ b =$ (expr $ a \ * $ b)" 

Lưu ý :Chuẩn rồi! Ở đây, chúng tôi không đặt giá trị của phép nhân vào một biến mà thực hiện nó trực tiếp trong câu lệnh đầu ra.

Đầu ra mẫu
 [admin@wsxdn.com ~] # vi Multiplication.sh [admin@wsxdn.com ~] # chmod 755 Multiplication.sh [admin@wsxdn.com ~] # ./Multiplication.sh Nhập số đầu tiên:”11“ Nhập số thứ hai:”11 11 * 11 =121 

Tải xuống Multiplication.sh

Tập lệnh 4:Phân chia

Đúng! Tiếp theo là Phân chia , và một lần nữa nó là một tập lệnh rất đơn giản. Hãy tự mình kiểm tra.

 #! / bin / bashecho “Nhập số đầu tiên:” đọc echo “Nhập số thứ hai:” đọc b echo "$ a / $ b =$ (expr $ a / $ b)" 
Đầu ra mẫu
 [admin@wsxdn.com ~] # vi Division.sh [admin@wsxdn.com ~] # chmod 755 Division.sh [admin@wsxdn.com ~] # ./Division.sh. Nhập số đầu tiên:”12“ Nhập số thứ hai:”3 12/3 =4 

Tải xuống Division.sh

Tập lệnh 5:Bảng

Khỏe! Điều gì sau những phép toán cơ bản. Cho phép viết một tập lệnh in ra bảng của bất kỳ số nào.

 #! / bin / bashecho “Nhập Số tối đa mà bạn muốn In Bảng:” read n i =1 while [$ i -ne 10] do i =$ (expr $ i + 1) table =$ (expr $ i \ * $ n) echo $ table đã xong 
Đầu ra mẫu
 [admin@wsxdn.com ~] # vi Table.sh [admin@wsxdn.com ~] # chmod 755 Table.sh [admin@wsxdn.com ~] # ./Table.sh. Nhập số tối đa bạn muốn In Bảng:”29 58 87 116 145 174 203 232 261 290 

Tải xuống Table.sh

Tập lệnh 6:EvenOdd

Khi còn nhỏ, chúng ta luôn thực hiện phép tính để tìm xem số đó là số lẻ hay số chẵn. Không phải là một ý kiến ​​hay nếu triển khai nó trong kịch bản.

 #! / bin / bashecho "Nhập Số" đọc n num =$ (expr $ n% 2) nếu [$ num -eq 0] thì echo "là Số chẵn" else echo "là Số Lẻ" fi 
Đầu ra mẫu
 [admin@wsxdn.com ~] # vi EvenOdd.sh [admin@wsxdn.com ~] # chmod 755 EvenOdd.sh [admin@wsxdn.com ~] # ./EvenOdd.shEnter Số 12 là số chẵn Số 
 [admin@wsxdn.com ~] # ./EvenOdd.shEnter Số 11 là một số lẻ 

Tải xuống EvenOdd.sh

Tập lệnh 7:Giai thừa

Tiếp theo là tìm Giai thừa.

 #! / bin / bash echo "Enter The Number" đọc một fact =1 trong khi [$ a -ne 0] do fact =$ (expr $ fact \ * $ a) a =$ (expr $ a - 1 ) thực hiện echo $ fact 
Đầu ra mẫu
 [admin@wsxdn.com ~] # vi Factorial.sh [admin@wsxdn.com ~] # chmod 755 Factorial.sh [admin@wsxdn.com ~] # ./Factorial.shNhập Số 12 479001600  

Bây giờ bạn có thể thư giãn với cảm giác rằng tính toán 12 * 11 * 10 * 9 * 7 * 7 * 6 * 5 * 4 * 3 * 2 * 1 sẽ khó hơn một kịch bản đơn giản như đã tạo ở trên. Hãy nghĩ đến tình huống mà bạn yêu cầu tìm 99! hay đại loại thế. Chắc chắn rồi! Tập lệnh này sẽ rất hữu ích trong tình huống đó.

Tải xuống Factorial.sh

Kịch bản 8:Armstrong

Số Armstrong ! Ohhh Bạn quên mất Số Armstrong là gì Là. Một số Armstrong có ba chữ số là một số nguyên sao cho tổng các hình lập phương của các chữ số của nó bằng chính số đó. Ví dụ: 371 là một số Armstrong vì 3 ** 3 + 7 ** 3 + 1 ** 3 =371 .

 #! / bin / bash echo "Enter A Number" đọc n arm =0 temp =$ n trong khi [$ n -ne 0] do r =$ (expr $ n% 10) arm =$ (expr $ arm + $ r \ * $ r \ * $ r) n =$ (expr $ n / 10) thực hiện echo $ arm if [$ arm -eq $ temp] then echo "Armstrong" else echo "Not Armstrong" fi 
Đầu ra mẫu
 [admin@wsxdn.com ~] # vi Armstrong.sh [admin@wsxdn.com ~] # chmod 755 Armstrong.sh [admin@wsxdn.com ~] # ./Armstrong.shNhập số 371 371 Armstrong 
 [admin@wsxdn.com ~] # ./Armstrong.shNhập số 123 36 Không phải Armstrong 

Tải xuống Armstrong.sh

Script 9:Prime

Tập lệnh cuối cùng là phân biệt một số có phải là số nguyên tố hay không.

 #! / bin / bash echo “Nhập số bất kỳ” đọc ni =1c =1 while [$ i -le $ n] doi =$ (expr $ i + 1) r =$ (expr $ n% $ i) if [$ r -eq 0] thenc =$ (expr $ c + 1) fidoneif [$ c -eq 2] thenecho “Prime” elseecho “Not Prime” fi 
Đầu ra mẫu
 [admin@wsxdn.com ~] # vi Prime.sh [admin@wsxdn.com ~] # chmod 755 Prime.sh [admin@wsxdn.com ~] # ./Prime.sh powersNhập bất kỳ số nào ”12 “Không phải chính” 

Tải xuống Prime.sh

Đó là tất cả cho bây giờ. Trong phần tiếp theo của chúng tôi, chúng tôi sẽ đề cập đến các chương trình toán học khác trong ngôn ngữ lập trình shell Scripting. Đừng quên đề cập quan điểm của bạn về bài viết trong phần Bình luận. Hãy like và share chúng tôi và giúp chúng tôi lan tỏa. Hãy đến thăm tecmint.com cho Tin tức và các bài viết liên quan đến FOSS . Đến lúc đó Hãy theo dõi.