Linux シェル プログラミングの数学的側面 - パート IV
この投稿では、 Sクリプトについて数学と数の観点から説明します。前回の投稿では、より複雑なスクリプト (単純な計算機) を投稿しましたが、ユーザー側では理解するのが難しかったため、学習のもう 1 つの有用な側面を皆さんに学んでもらうことにしました。小さなパケット。
この記事の前に、シェル スクリプト シリーズの 3 つの記事が公開されています。それらは次のとおりです。
- Linux シェルと基本的なシェル スクリプトを理解する – パート I
- シェル プログラミングを学ぶための 5 つのシェル スクリプト – パート II
- 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 乗の合計がその数自体に等しい整数です。たとえば、371 は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
サンプル出力
[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にアクセスしてください。それまでお楽しみに。