ウェブサイト検索

Linux シェル プログラミングの数学的側面 - パート IV


この投稿では、 Sクリプトについて数学の観点から説明します。前回の投稿では、より複雑なスクリプト (単純な計算機) を投稿しましたが、ユーザー側では理解するのが難しかったため、学習のもう 1 つの有用な側面を皆さんに学んでもらうことにしました。小さなパケット。

この記事の前に、シェル スクリプト シリーズの 3 つの記事が公開されています。それらは次のとおりです。

  1. Linux シェルと基本的なシェル スクリプトを理解する – パート I
  2. シェル プログラミングを学ぶための 5 つのシェル スクリプト – パート II
  3. Linux BASH スクリプトの世界を航海する – パート III

いくつかの新しいエキサイティングなスクリプトを使用してさらなる学習プロセスを開始しましょう。数学 スクリプトから始めます。

スクリプト 1: 追加

前回の投稿で説明したように、ファイル「Addition.sh」 とスクリプトにchmod 755を作成し、実行します。

#!/bin/bash
echo “Enter the First Number: ” 
read a 
echo “Enter the Second Number: ” 
read b 
x=$(expr "$a" + "$b") 
echo $a + $b = $x
サンプル出力
[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

追加機能.sh をダウンロード

スクリプト 2: 減算

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

: ここでは expr を置き換えて、数学的計算をシェルで実行できるようにしました。

サンプル出力
[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

減算.sh をダウンロード

スクリプト 3: 乗算

ここまではとても簡単にスクリプトを学習してとても楽しかったので、時系列で次は掛け算です。

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

: はい!ここでは、乗算の値を変数に入れず、出力ステートメントで直接実行しました。

サンプル出力
[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

乗算.sh をダウンロード

スクリプト 4: 分割

右!次は除算ですが、これも非常に単純なスクリプトです。自分で確認してください。

#!/bin/bash
echo “Enter the First Number: ” 
read a 
echo “Enter the Second Number: ” 
read b 
echo "$a / $b = $(expr $a / $b)"
サンプル出力
[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 をダウンロード

スクリプト 5: テーブル

大丈夫!これらの基本的な数学的演算の後はどうなるでしょうか。任意の番号のテーブルを出力するスクリプトを書いてみましょう。

#!/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
サンプル出力
[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 をダウンロード

スクリプト 6: 偶数奇数

私たちは子供の頃から、数字が奇数か偶数かを計算することを常に行ってきました。スクリプトで実装するのが良いのではないでしょうか。

#!/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
サンプル出力
[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 をダウンロード

スクリプト 7: 階乗

次は階乗を求めることです。

#!/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
サンプル出力
[root@tecmint ~]# vi Factorial.sh
[root@tecmint ~]# chmod 755 Factorial.sh
[root@tecmint ~]# ./Factorial.sh

Enter The Number 
12 
479001600

ここで、12*11*10*9*7*7*6*5*4*3*2*1 の計算は、上で作成した単純なスクリプトよりも難しいと感じてリラックスしていただいてもよいでしょう。 。 99! などを見つける必要がある状況を考えてください。もちろん!このスクリプトはそのような状況で非常に便利です。

Factorial.sh をダウンロード

スクリプト 8: アームストロング

なんとアームストロングナンバーです!ああ、 あなたはアームストロング数が何であるかを忘れています。 3 桁のアームストロング数は、その桁の 3 乗の合計がその数自体に等しい整数です。たとえば、3713**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
サンプル出力
[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

アームストロング.sh をダウンロード

スクリプト 9: プライム

最後のスクリプトは、数値が素数かどうかを区別するものです。

#!/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
サンプル出力
[root@tecmint ~]# vi Prime.sh
[root@tecmint ~]# chmod 755 Prime.sh
[root@tecmint ~]# ./Prime.sh

“Enter Any Number” 
12 

“Not Prime”

Prime.sh をダウンロード

それは今のところすべてです。次回の記事では、シェル スクリプト プログラミング言語の他の数学プログラムについて説明する予定です。記事に関するご意見をコメントセクションに記載することを忘れないでください。 「いいね!」とシェアして拡散にご協力ください。 ニュースFOSSに関連する記事については、linux-console.netにアクセスしてください。それまでお楽しみに。