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


この投稿では、数学的および数の観点からスクリプトについて説明します。前回の投稿でもっと複雑なスクリプト(Simple Calculator)を投稿しましたが、ユーザー側ではわかりづらかったので、小さなパケットで学ぶことのもう一つの便利な側面を皆さんに学んでもらうことを考えました。

この記事の前に、シェルスクリプトシリーズの3つの記事が公開されています。

  1. Understand Linux Shell and Basic Shell Scripting – Part I
  2. 5 Shell Scripts to Learn Shell Programming – Part II
  3. Sailing Through The World of Linux BASH Scripting – Part III

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

スクリプト1:追加

前の投稿の説明に従って、スクリプトにファイル「Addition.sh」とchmod755を作成して実行します。

#!/bin/bash
echo “Enter the First Number: ” 
read a 
echo “Enter the Second Number: ” 
read b 
x=$(expr "$a" + "$b") 
echo $a + $b = $x
[[email protected] ~]# vi Additions.sh
[[email protected] ~]# chmod 755 Additions.sh
[[email protected] ~]# ./Additions.sh

“Enter the First Number: ” 
12 
“Enter the Second Number: ” 
13 
12 + 13 = 25

スクリプト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を置き換えて、数学計算をシェルで実行できるようにしました。

[[email protected] ~]# vi Substraction.sh
[[email protected] ~]# chmod 755 Substraction.sh
[[email protected] ~]# ./Substraction.sh

“Enter the First Number: ” 
13 
“Enter the Second Number: ” 
20 
13 - 20 = -7

スクリプト3:乗算

これまでのところ、このように簡単な方法でスクリプトを学習することで、多くのことを楽しんでいるはずです。したがって、時系列の次は乗算です。

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

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

[[email protected] ~]# vi Multiplication.sh
[[email protected] ~]# chmod 755 Multiplication.sh
[[email protected] ~]# ./Multiplication.sh

“Enter the First Number: ” 
11 
“Enter the Second Number: ” 
11 
11 * 11 = 121

スクリプト4:除算

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

#!/bin/bash
echo “Enter the First Number: ” 
read a 
echo “Enter the Second Number: ” 
read b 
echo "$a / $b = $(expr $a / $b)"
[[email protected] ~]# vi Division.sh
[[email protected] ~]# chmod 755 Division.sh
[[email protected] ~]# ./Division.sh

“Enter the First Number: ” 
12 
“Enter the Second Number: ” 
3 
12 / 3 = 4

スクリプト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
[[email protected] ~]# vi Table.sh
[[email protected] ~]# chmod 755 Table.sh
[[email protected] ~]# ./Table.sh

“Enter The Number upto which you want to Print Table: ” 
29 
58 
87 
116 
145 
174 
203 
232 
261 
290

スクリプト6:EvenOdd

私たちは子供の頃から、数が奇数か偶数かを計算するために常に計算を行ってきました。スクリプトで実装するのは良い考えではありませんか。

#!/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
[[email protected] ~]# vi EvenOdd.sh
[[email protected] ~]# chmod 755 EvenOdd.sh
[[email protected] ~]# ./EvenOdd.sh

Enter The Number 
12 
is a Even Number
[[email protected] ~]# ./EvenOdd.sh

Enter The Number 
11 
is a Odd Number

スクリプト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
[[email protected] ~]# vi Factorial.sh
[[email protected] ~]# chmod 755 Factorial.sh
[[email protected] ~]# ./Factorial.sh

Enter The Number 
12 
479001600

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

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

アームストロング数!ああ、あなたはアームストロング数が何であるかを忘れています。さて、3桁のアームストロング数は、その桁の立方体の合計が数自体に等しくなるような整数です。たとえば、371は3 ** 3 + 7 ** 3 + 1 ** 3 u003d 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
[[email protected] ~]# vi Armstrong.sh
[[email protected] ~]# chmod 755 Armstrong.sh
[[email protected] ~]# ./Armstrong.sh

Enter A Number 
371 
371 
Armstrong
[[email protected] ~]# ./Armstrong.sh

Enter A Number 
123 
36 
Not Armstrong

スクリプト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
[[email protected] ~]# vi Prime.sh
[[email protected] ~]# chmod 755 Prime.sh
[[email protected] ~]# ./Prime.sh

“Enter Any Number” 
12 

“Not Prime”

それは今のところすべてです。次の記事では、シェルスクリプトプログラミング言語の他の数学プログラムについて説明します。コメントセクションで記事に関するあなたの見解を言及することを忘れないでください。私たちを好きで共有し、私たちが広がるのを手伝ってください。 FOSSに関連するニュースや記事については、tecmint.comにアクセスしてください。それまでお楽しみに。